From a5ed71604def31d889eed27e85f344d528ab22ff Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 23 Sep 2026 01:49:53 +0000 Subject: [PATCH 1/6] Run Agent.prompt/embed(...).generate_later jobs instead of crashing GenerationJob#perform rejected the direct_generation_type, direct_args and direct_options keywords DirectGeneration enqueues with, so every direct generate_later/embed_later raised ArgumentError in the worker. The job now rebuilds the DirectGeneration from them rather than calling the synthetic __direct_*__ action name. Fixes #346 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01KfFzc97pARf86bj8LNR59B --- lib/active_agent/generation_job.rb | 16 +++++++++++++++- test/features/parameterized_direct_test.rb | 21 +++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/lib/active_agent/generation_job.rb b/lib/active_agent/generation_job.rb index 73ad7c421..4959a95a8 100644 --- a/lib/active_agent/generation_job.rb +++ b/lib/active_agent/generation_job.rb @@ -23,7 +23,21 @@ class GenerationJob < ActiveJob::Base # :nodoc: # argument, so a record arrives as the same record the caller passed and # the agent's authorization callbacks decide against a real user rather # than against nil. - def perform(agent, agent_method, generation_method, args:, kwargs: nil, params: nil, actor: nil) + # + # +direct_generation_type+ marks a job enqueued by Agent.prompt(...) or + # Agent.embed(...), which have no action to call: +agent_method+ is then + # the synthetic +__direct_*__+ name, so the generation is rebuilt from + # +direct_args+ and +direct_options+ instead. + def perform(agent, agent_method, generation_method, args:, kwargs: nil, params: nil, actor: nil, + direct_generation_type: nil, direct_args: nil, direct_options: nil) + if direct_generation_type + generation = ActiveAgent::Parameterized::DirectGeneration.new( + agent.constantize, direct_generation_type.to_sym, params || {}, + *Array(direct_args), **(direct_options || {}).symbolize_keys + ) + return generation.public_send(generation_method) + end + agent_class = params ? agent.constantize.with(params) : agent.constantize agent_class = agent_class.as(actor) if actor prompt = if kwargs diff --git a/test/features/parameterized_direct_test.rb b/test/features/parameterized_direct_test.rb index 198b9cd28..04bb44fd0 100644 --- a/test/features/parameterized_direct_test.rb +++ b/test/features/parameterized_direct_test.rb @@ -1,6 +1,7 @@ require "test_helper" class ParameterizedDirectTest < ActiveSupport::TestCase + include ActiveJob::TestHelper class TestAgent < ActiveAgent::Base generate_with :mock, model: "mock-model", instructions: "You are a helpful assistant." embed_with :mock, model: "mock-embedding-model" @@ -107,6 +108,17 @@ def enqueue_options assert_equal({ queue: :prompts, priority: :high }, generation.enqueue_options) end + test "Agent.prompt(...).generate_later performs the job" do + TestAgent.prompt(message: "Background task", temperature: 0.5).generate_later + + job = enqueued_jobs.last + response = ActiveJob::Base.execute(job) + + assert_equal "ParameterizedDirectTest::TestAgent", job[:args].first + assert_not_nil response.message.content + assert response.message.content.length > 0 + end + test "Agent.embed returns a generation proxy" do generation = TestAgent.embed(input: "Text to embed") @@ -212,6 +224,15 @@ def enqueue_options assert_equal({ queue: :embeddings, priority: :low }, generation.enqueue_options) end + test "Agent.embed(...).embed_later performs the job" do + TestAgent.embed(input: "Background embedding").embed_later + + response = ActiveJob::Base.execute(enqueued_jobs.last) + + assert_not_nil response.data + assert response.data.first[:embedding].is_a?(Array) + end + test "prompt() works alongside existing with() method" do # Original with() method still works agent_class_with_action = Class.new(TestAgent) do From 90ef59733d89f8a3b16f037d2967db08fc846fd1 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 23 Sep 2026 02:00:30 +0000 Subject: [PATCH 2/6] Make every provider model reachable from the model field The OpenRouter catalog was cut to its first 100 ids after sorting, so everything late in the alphabet (openai/*, qwen/*, ...) could not be chosen. The API now returns the whole catalog, and the builder and editor pick a model with a type-ahead input over a datalist instead of a fixed updateField('model', e.target.value)} + models={providerModels[formData.provider]} + onChange={(model) => updateField('model', model)} className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500" - > - {providerModels[formData.provider].map(model => ( - - ))} - + /> diff --git a/actionagent/frontend/components/dashboard/AgentEditor.jsx b/actionagent/frontend/components/dashboard/AgentEditor.jsx index ee54be33c..ebf98e038 100644 --- a/actionagent/frontend/components/dashboard/AgentEditor.jsx +++ b/actionagent/frontend/components/dashboard/AgentEditor.jsx @@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react'; import AgentAvatar, { AGENT_PRESETS } from '../AgentAvatar'; import { TYPOGRAPHY } from '../../utils/designTokens'; import { FALLBACK_PROVIDER_MODELS, fetchProviderModels } from '../../utils/providerModels'; +import ModelPicker from './ModelPicker'; import { useTheme } from '../../contexts/ThemeContext'; import { paletteFor, ACCENT } from '../../utils/dashboardTheme'; import TracesView from './TracesView'; @@ -503,19 +504,13 @@ function ConfigTab({ formData, updateField, providerModels, colors, darkMode, on
- + />
diff --git a/actionagent/frontend/components/dashboard/ModelPicker.jsx b/actionagent/frontend/components/dashboard/ModelPicker.jsx new file mode 100644 index 000000000..3c692dce5 --- /dev/null +++ b/actionagent/frontend/components/dashboard/ModelPicker.jsx @@ -0,0 +1,31 @@ +import React, { useId } from 'react'; + +// Model field for the agent builder/editor. A text input over a +// rather than a onChange(e.target.value)} + placeholder="Type to search models" + autoComplete="off" + spellCheck={false} + className={className} + style={style} + /> + + {models.filter(Boolean).map(m => ( + + + ); +} diff --git a/actionagent/test/credentials_test.rb b/actionagent/test/credentials_test.rb index e993f4128..ba93562b7 100644 --- a/actionagent/test/credentials_test.rb +++ b/actionagent/test/credentials_test.rb @@ -87,6 +87,21 @@ def setup assert_equal %w[claude-sonnet-5 claude-opus-5], body["models"] end + test "the OpenRouter lookup returns the whole catalog, not an alphabetical prefix" do + ids = (1..150).map { |n| format("aaa/model-%03d", n) } + [ "openai/gpt-4o-mini" ] + stub_request(:get, "https://openrouter.ai/api/v1/models") + .to_return(status: 200, body: { data: ids.map { |id| { id: id } } }.to_json, + headers: { "Content-Type" => "application/json" }) + + get "/activeagents/api/provider_models", params: { provider: "openrouter" } + + assert_response :success + body = JSON.parse(response.body) + assert_equal "live", body["source"] + assert_equal 151, body["models"].size + assert_includes body["models"], "openai/gpt-4o-mini" + end + test "the Anthropic lookup falls back to the curated list without a key" do get "/activeagents/api/provider_models", params: { provider: "anthropic" } From f94be80d4b781a8a67bd8dc905cc1e7f424a24e9 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 23 Sep 2026 02:00:30 +0000 Subject: [PATCH 3/6] Show why Create Agent was rejected instead of failing silently A 422 from POST /api/agents left the builder on its form with nothing but a transient toast that could sit behind the page. The API now also returns field_errors (attribute => messages); the builder shows a summary above the step, puts each message under its field, and returns to the Basics step when a field there was rejected. Fixes #426 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01KfFzc97pARf86bj8LNR59B --- .../action_agent/api/agents_controller.rb | 10 +++- .../components/dashboard/AgentBuilder.jsx | 49 +++++++++++++++++-- actionagent/frontend/pages/Dashboard.jsx | 17 +++++-- actionagent/test/engine_api_test.rb | 10 ++++ 4 files changed, 76 insertions(+), 10 deletions(-) diff --git a/actionagent/app/controllers/action_agent/api/agents_controller.rb b/actionagent/app/controllers/action_agent/api/agents_controller.rb index 329df8c70..13236da2b 100644 --- a/actionagent/app/controllers/action_agent/api/agents_controller.rb +++ b/actionagent/app/controllers/action_agent/api/agents_controller.rb @@ -90,7 +90,7 @@ def create if @agent.save render json: { agent: agent_json(@agent, include_details: true) }, status: :created else - render json: { errors: @agent.errors.full_messages }, status: :unprocessable_entity + render json: agent_errors_json(@agent), status: :unprocessable_entity end end @@ -99,7 +99,7 @@ def update if @agent.update(agent_params) render json: { agent: agent_json(@agent, include_details: true) } else - render json: { errors: @agent.errors.full_messages }, status: :unprocessable_entity + render json: agent_errors_json(@agent), status: :unprocessable_entity end end @@ -495,6 +495,12 @@ def set_agent @agent = owner_agents.find(params[:id]) end + # +errors+ for a form-level summary; +field_errors+ (attribute => full + # messages) so the builder and editor can put each under its field. + def agent_errors_json(agent) + { errors: agent.errors.full_messages, field_errors: agent.errors.to_hash(true) } + end + def agent_params permitted = params.require(:agent).permit( :name, :description, :provider, :model, :instructions, diff --git a/actionagent/frontend/components/dashboard/AgentBuilder.jsx b/actionagent/frontend/components/dashboard/AgentBuilder.jsx index ac5953e7a..0e2b64760 100644 --- a/actionagent/frontend/components/dashboard/AgentBuilder.jsx +++ b/actionagent/frontend/components/dashboard/AgentBuilder.jsx @@ -10,6 +10,10 @@ const STEPS = [ { id: 'review', label: 'Review', icon: '3' } ]; +// Fields on the Basics step; the slug is derived from the name, so its +// errors are the name's to show. +const BASICS_FIELDS = ['name', 'slug', 'description', 'provider', 'model']; + export default function AgentBuilder({ meta, onSave, onCancel, isLoading, initialDraft = null }) { const [currentStep, setCurrentStep] = useState(0); const [providerModels, setProviderModels] = useState(FALLBACK_PROVIDER_MODELS); @@ -51,6 +55,9 @@ export default function AgentBuilder({ meta, onSave, onCancel, isLoading, initia return () => { cancelled = true; }; }, [formData.provider]); + // What the server rejected on the last Create Agent: { errors, fieldErrors }. + const [submitErrors, setSubmitErrors] = useState(null); + const updateField = (field, value) => { setFormData(prev => ({ ...prev, [field]: value })); }; @@ -83,8 +90,15 @@ export default function AgentBuilder({ meta, onSave, onCancel, isLoading, initia } }; - const handleSubmit = () => { - onSave(formData); + const handleSubmit = async () => { + setSubmitErrors(null); + const failure = await onSave(formData); + if (!failure) return; + + setSubmitErrors(failure); + if (Object.keys(failure.fieldErrors || {}).some(field => BASICS_FIELDS.includes(field))) { + setCurrentStep(0); + } }; return ( @@ -121,10 +135,24 @@ export default function AgentBuilder({ meta, onSave, onCancel, isLoading, initia + {submitErrors && ( +
+

The agent could not be created:

+
    + {submitErrors.errors.map(message =>
  • {message}
  • )} +
+
+ )} + {/* Step Content */}
{currentStep === 0 && ( - + )} {currentStep === 1 && ( {messages.join('. ')}

+ ); +} + // Step 1: Basics -function BasicsStep({ formData, updateField, providerModels }) { +function BasicsStep({ formData, updateField, providerModels, fieldErrors }) { + const errorsFor = (...fields) => fields.flatMap(field => fieldErrors[field] || []); + return (

Basic Information

@@ -182,6 +219,7 @@ function BasicsStep({ formData, updateField, providerModels }) { placeholder="My Awesome Agent" className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent" /> +
@@ -193,6 +231,7 @@ function BasicsStep({ formData, updateField, providerModels }) { rows={3} className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent" /> +
@@ -212,6 +251,7 @@ function BasicsStep({ formData, updateField, providerModels }) { ))} +
@@ -222,6 +262,7 @@ function BasicsStep({ formData, updateField, providerModels }) { onChange={(model) => updateField('model', model)} className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500" /> +
diff --git a/actionagent/frontend/pages/Dashboard.jsx b/actionagent/frontend/pages/Dashboard.jsx index 5f6a6c4b3..e6f1d58ee 100644 --- a/actionagent/frontend/pages/Dashboard.jsx +++ b/actionagent/frontend/pages/Dashboard.jsx @@ -182,12 +182,21 @@ function DashboardContent({ user, initialAgents = [], meta = {}, account = null, setCurrentView('editor'); showNotification('Agent created successfully!', 'success'); window.history.pushState({}, '', dashboardPath(`/agents/${data.agent.id}/edit`)); - } else { - const error = await response.json(); - showNotification(error.errors?.join(', ') || 'Failed to create agent', 'error'); + return null; } + + // Handed back to the builder, which renders them on the form; a 422 + // from a validation is the common case, but any failure is reported. + const error = await response.json().catch(() => ({})); + const failure = { + errors: error.errors?.length ? error.errors : [error.error || `Failed to create agent (${response.status})`], + fieldErrors: error.field_errors || {}, + }; + showNotification(failure.errors.join(', '), 'error'); + return failure; } catch (error) { showNotification('Failed to create agent', 'error'); + return { errors: ['Failed to create agent: the request did not complete'], fieldErrors: {} }; } finally { setIsLoading(false); } @@ -504,7 +513,7 @@ function DashboardContent({ user, initialAgents = [], meta = {}, account = null, {/* Notification Toast */} {notification && ( -
diff --git a/actionagent/test/engine_api_test.rb b/actionagent/test/engine_api_test.rb index 3722e5ec4..a11e03117 100644 --- a/actionagent/test/engine_api_test.rb +++ b/actionagent/test/engine_api_test.rb @@ -48,6 +48,16 @@ def create_agent(name: "Support", **attributes) assert_equal 1, agent.agent_versions.count end + test "a rejected agent reports its errors per field as well as in summary" do + post "/activeagents/api/agents", params: { agent: { name: "R", provider: "openai", model: "" } } + + assert_response :unprocessable_entity + body = JSON.parse(response.body) + assert_includes body["errors"], "Model can't be blank" + assert_equal [ "Model can't be blank" ], body.dig("field_errors", "model") + assert body.dig("field_errors", "name").any? { |message| message.start_with?("Name is too short") } + end + test "agent search is case-insensitive on every adapter" do create_agent(name: "Support Triage") create_agent(name: "Billing") From 4859e0131f7e3ffb2a63c940dcd1fd443d385697 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 23 Sep 2026 02:00:46 +0000 Subject: [PATCH 4/6] Verify CSRF tokens on the dashboard's JSON API Api::BaseController skipped forgery protection although its endpoints authenticate with the host's session cookie, so a state-changing request was reachable cross-site. Only three of the ten components that write sent a token, so the opt-out couldn't simply be dropped. The fetch shim that already puts "/api/" calls on the engine's mount (now utils/apiFetch.mjs, installed at every mount, root included) also attaches the page's X-CSRF-Token to every mutating request, replacing the per-component headers. With every writer covered, BaseController keeps the protection ApplicationController turns on and answers a rejected request with JSON. The MCP facade, authenticated by bearer token, skips it explicitly; trace ingest was already exempt. Fixes #461 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01KfFzc97pARf86bj8LNR59B --- CHANGELOG.md | 25 +++++++ .../action_agent/api/base_controller.rb | 23 +++++-- .../api/dashboard_assistant_controller.rb | 11 ---- .../action_agent/api/mcp_controller.rb | 4 +- .../dashboard/DashboardAssistant.jsx | 2 +- .../components/dashboard/EvaluationsView.jsx | 4 -- .../components/dashboard/McpServersView.jsx | 5 +- .../dashboard/ScenarioSuitePanel.jsx | 8 +-- .../dashboard/evaluations/EvaluationForm.jsx | 4 +- actionagent/frontend/index.jsx | 26 ++------ actionagent/frontend/test/apiFetch.test.mjs | 66 +++++++++++++++++++ actionagent/frontend/utils/apiFetch.mjs | 57 ++++++++++++++++ .../test/api_forgery_protection_test.rb | 55 ++++++++++++++++ 13 files changed, 235 insertions(+), 55 deletions(-) create mode 100644 actionagent/frontend/test/apiFetch.test.mjs create mode 100644 actionagent/frontend/utils/apiFetch.mjs create mode 100644 actionagent/test/api_forgery_protection_test.rb diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c42e398f..9bd129258 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - The engine's judge blocks take `ActiveAgent::Evals::Judge`'s `kind:`, so a scenario run's score, recommendation and verdict calls are metered apart. +### Fixed + +- `Agent.prompt(...).generate_later` and `Agent.embed(...).embed_later` run + their job instead of raising `ArgumentError: unknown keywords` in the + worker (#346). +- The agent builder and editor can reach every model a provider serves: the + OpenRouter catalog is no longer cut to its first 100 ids, and the model + field is a type-ahead over the catalog that also takes an unlisted id + (`actionagent`, #427). +- A rejected Create Agent shows its validation errors on the builder — a + summary and a message under each field — instead of leaving the form + silently in place. `POST`/`PATCH /api/agents` 422s carry `field_errors` + beside `errors` (`actionagent`, #426). + +### Security + +- The dashboard's JSON API verifies the CSRF token (`actionagent`, #461). It + authenticates with the host's session cookie but had opted out of forgery + protection. The dashboard now sends the page's token with every mutating + request from one fetch shim; the MCP facade and trace ingest, which + authenticate by bearer token, stay exempt. A rejected request answers + `422` with `code: "invalid_csrf_token"`. Hosts that re-enabled protection + themselves (`ActionAgent::Api::BaseController.protect_from_forgery`) can + drop that line. + ## [1.6.3] - 2026-09-18 Releases `activeagent` and `actionagent` 1.6.3 from one tag. diff --git a/actionagent/app/controllers/action_agent/api/base_controller.rb b/actionagent/app/controllers/action_agent/api/base_controller.rb index 07ebd9dff..a5116aa9a 100644 --- a/actionagent/app/controllers/action_agent/api/base_controller.rb +++ b/actionagent/app/controllers/action_agent/api/base_controller.rb @@ -12,11 +12,22 @@ module Api # install, a per-user install and a multi-tenant platform all read the # same controllers. # - # Note this is not the telemetry ingest endpoint — that authenticates - # with a bearer token and lives in Api::TracesController. + # Because it authenticates with the host's session cookie, it keeps the + # forgery protection ApplicationController turns on: the dashboard sends + # the page's CSRF token with every mutating request (frontend + # utils/apiFetch.mjs). Endpoints that authenticate with a bearer token + # instead — the telemetry ingest endpoint (Api::TracesController) and + # the MCP facade (Api::MCPController) — are exempt. class BaseController < ActionAgent::ApplicationController - skip_forgery_protection - + # Rails 8.2 verifies forgery protection from the browser's Sec-Fetch-Site + # header, renamed the failure to InvalidCrossOriginRequest, and deprecated + # the old name. Rescue whichever names the running Rails defines, so a + # rejected request answers with the dashboard's JSON either way. + # const_defined? does not fire the deprecation the bare constant would. + rescue_from ActionController::InvalidCrossOriginRequest, with: :invalid_authenticity_token + if ActionController.const_defined?(:InvalidAuthenticityToken, false) + rescue_from ActionController::InvalidAuthenticityToken, with: :invalid_authenticity_token + end rescue_from ActiveRecord::RecordNotFound, with: :not_found rescue_from ActiveRecord::RecordInvalid, with: :unprocessable_entity rescue_from ActionController::ParameterMissing, with: :bad_request @@ -24,6 +35,10 @@ class BaseController < ActionAgent::ApplicationController private + def invalid_authenticity_token + render json: { error: "Refresh the dashboard and try again", code: "invalid_csrf_token" }, status: :unprocessable_entity + end + # API keys and provider credentials are encrypted at rest, which needs # Active Record Encryption keys. The engine derives fallback keys when # the host set none (see Engine's action_agent.active_record_encryption diff --git a/actionagent/app/controllers/action_agent/api/dashboard_assistant_controller.rb b/actionagent/app/controllers/action_agent/api/dashboard_assistant_controller.rb index 0b2c88065..2749f9ad4 100644 --- a/actionagent/app/controllers/action_agent/api/dashboard_assistant_controller.rb +++ b/actionagent/app/controllers/action_agent/api/dashboard_assistant_controller.rb @@ -3,8 +3,6 @@ module ActionAgent module Api class DashboardAssistantController < BaseController - protect_from_forgery with: :exception - before_action :require_assistant_enabled! before_action :require_owner! before_action :require_execution_enabled!, only: :create @@ -13,15 +11,6 @@ class DashboardAssistantController < BaseController rescue_from DashboardAssistantService::InvalidInput, with: :invalid_input rescue_from DashboardAssistantService::ProcessingConsentRequired, with: :processing_consent_required rescue_from DashboardAssistantService::SetupRequired, with: :setup_required - # Rails 8.2 verifies forgery protection from the browser's Sec-Fetch-Site - # header, renamed the failure to InvalidCrossOriginRequest, and deprecated - # the old name. Rescue whichever names the running Rails defines, so a - # rejected request answers with the dashboard's JSON either way. - # const_defined? does not fire the deprecation the bare constant would. - rescue_from ActionController::InvalidCrossOriginRequest, with: :invalid_authenticity_token - if ActionController.const_defined?(:InvalidAuthenticityToken, false) - rescue_from ActionController::InvalidAuthenticityToken, with: :invalid_authenticity_token - end def show render json: DashboardAssistantService.new(owner: current_owner).configuration diff --git a/actionagent/app/controllers/action_agent/api/mcp_controller.rb b/actionagent/app/controllers/action_agent/api/mcp_controller.rb index c768792e2..02acb7c35 100644 --- a/actionagent/app/controllers/action_agent/api/mcp_controller.rb +++ b/actionagent/app/controllers/action_agent/api/mcp_controller.rb @@ -24,8 +24,10 @@ module Api # { "type": "http", "url": "https://activeagents.ai/mcp", # "headers": { "Authorization": "Bearer aa_..." } } class MCPController < BaseController - # Authenticated by API key rather than by the host app's sessions. + # Authenticated by API key rather than by the host app's sessions, so + # there is no session cookie for a cross-site request to ride on. allow_unauthenticated_access + skip_forgery_protection before_action :authenticate_api_key!, except: [ :unsupported ] PROTOCOL_VERSION = "2025-03-26" diff --git a/actionagent/frontend/components/dashboard/DashboardAssistant.jsx b/actionagent/frontend/components/dashboard/DashboardAssistant.jsx index 18e3d713c..c7764244a 100644 --- a/actionagent/frontend/components/dashboard/DashboardAssistant.jsx +++ b/actionagent/frontend/components/dashboard/DashboardAssistant.jsx @@ -118,7 +118,7 @@ export default function DashboardAssistant({ session, onSessionChange, onReviewD try { const response = await fetch('/api/dashboard_assistant', { method: 'POST', signal: controller.signal, - headers: { 'Content-Type': 'application/json', 'X-CSRF-Token': document.querySelector('meta[name="csrf-token"]')?.content || '' }, + headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ message, history, provider, model: model.trim(), allow_provider_processing: true }), }); const data = await response.json(); diff --git a/actionagent/frontend/components/dashboard/EvaluationsView.jsx b/actionagent/frontend/components/dashboard/EvaluationsView.jsx index add787454..94b9c06db 100644 --- a/actionagent/frontend/components/dashboard/EvaluationsView.jsx +++ b/actionagent/frontend/components/dashboard/EvaluationsView.jsx @@ -23,8 +23,6 @@ import { criterionGroup, modelCount, plural, runLabel, runSpend, samplingFixItem // is what operating it costs, apart from the judge's, which is the // evaluation's own. -const csrfToken = () => document.querySelector('meta[name="csrf-token"]')?.content; - // Mean-score tone: a score is not a pass ratio, so it keeps the thresholds // the sampling evaluations have always used. const scoreTone = (value) => (value >= 0.85 ? 'success' : value >= 0.7 ? 'warning' : 'error'); @@ -251,7 +249,6 @@ export default function EvaluationsView({ embedded = false, agentId = null }) { try { const response = await fetch(`/api/evaluations/${evaluation.id}/run`, { method: 'POST', - headers: { 'X-CSRF-Token': csrfToken() }, }); const data = await response.json().catch(() => ({})); if (!response.ok) { @@ -274,7 +271,6 @@ export default function EvaluationsView({ embedded = false, agentId = null }) { try { const response = await fetch(`/api/evaluations/${evaluation.id}`, { method: 'DELETE', - headers: { 'X-CSRF-Token': csrfToken() }, }); if (response.ok || response.status === 404) { setEvaluations((prev) => prev.filter((e) => e.id !== evaluation.id)); diff --git a/actionagent/frontend/components/dashboard/McpServersView.jsx b/actionagent/frontend/components/dashboard/McpServersView.jsx index 2cd7ed32a..9b48ae08f 100644 --- a/actionagent/frontend/components/dashboard/McpServersView.jsx +++ b/actionagent/frontend/components/dashboard/McpServersView.jsx @@ -101,10 +101,7 @@ export default function McpServersView({ focusServer, onOpenTools }) { try { const response = await fetch(`/api/mcp_servers/${encodeURIComponent(server.key)}/launch`, { method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'X-CSRF-Token': document.querySelector('meta[name="csrf-token"]')?.content || '', - }, + headers: { 'Content-Type': 'application/json' }, }); const body = await response.json(); if (!response.ok) throw new Error(body.reason || body.error || `Launch failed (${response.status})`); diff --git a/actionagent/frontend/components/dashboard/ScenarioSuitePanel.jsx b/actionagent/frontend/components/dashboard/ScenarioSuitePanel.jsx index b179ff32e..0188cec8e 100644 --- a/actionagent/frontend/components/dashboard/ScenarioSuitePanel.jsx +++ b/actionagent/frontend/components/dashboard/ScenarioSuitePanel.jsx @@ -19,8 +19,6 @@ import { // pasted scenarios, run a group / everything / one scenario under chosen // models, enable or disable a scenario, delete the suite. -const csrfToken = () => document.querySelector('meta[name="csrf-token"]')?.content; - // Rebuilds the pasted form of a suite so it can be edited in place. function scenariosToText(scenarios) { const lines = []; @@ -201,7 +199,7 @@ export default function ScenarioSuitePanel({ evaluation, onChanged, onDelete, de try { const response = await fetch(`/api/evaluations/${evaluationId}/run`, { method: 'POST', - headers: { 'Content-Type': 'application/json', 'X-CSRF-Token': csrfToken() }, + headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ ...selection, models: selectedModels }), }); const data = await response.json().catch(() => ({})); @@ -237,7 +235,7 @@ export default function ScenarioSuitePanel({ evaluation, onChanged, onDelete, de if (!scenario.id) return; await fetch(`/api/evaluations/${evaluationId}/scenarios/${scenario.id}`, { method: 'PATCH', - headers: { 'Content-Type': 'application/json', 'X-CSRF-Token': csrfToken() }, + headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ scenario: { enabled: scenario.enabled === false } }), }); await fetchScenarios(); @@ -247,7 +245,7 @@ export default function ScenarioSuitePanel({ evaluation, onChanged, onDelete, de setEditError(null); const response = await fetch(`/api/evaluations/${evaluationId}/scenarios`, { method: 'PUT', - headers: { 'Content-Type': 'application/json', 'X-CSRF-Token': csrfToken() }, + headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ scenarios_text: editText }), }); const data = await response.json().catch(() => ({})); diff --git a/actionagent/frontend/components/dashboard/evaluations/EvaluationForm.jsx b/actionagent/frontend/components/dashboard/evaluations/EvaluationForm.jsx index 215cc89ea..1499a0053 100644 --- a/actionagent/frontend/components/dashboard/evaluations/EvaluationForm.jsx +++ b/actionagent/frontend/components/dashboard/evaluations/EvaluationForm.jsx @@ -20,8 +20,6 @@ const TELEMETRY_CRITERIA = [ { type: 'trace_latency', key: 'trace_latency', label: 'Avg trace latency ≤ 5s (telemetry, 7d)', config: { max_avg_ms: 5000, window_hours: 168 } }, ]; -const csrfToken = () => document.querySelector('meta[name="csrf-token"]')?.content; - const inputStyle = { padding: '8px 12px', borderRadius: 8, fontSize: 13, fontFamily: 'inherit', boxSizing: 'border-box', background: 'var(--color-card)', border: '1px solid var(--color-border-strong)', color: 'var(--color-text-primary)', @@ -61,7 +59,7 @@ export default function EvaluationForm({ agents, agentId, onCreated, onCancel }) try { const response = await fetch('/api/evaluations', { method: 'POST', - headers: { 'Content-Type': 'application/json', 'X-CSRF-Token': csrfToken() }, + headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ evaluation: { agent_id: form.agent_id, diff --git a/actionagent/frontend/index.jsx b/actionagent/frontend/index.jsx index 2b7925fc1..650e46d89 100644 --- a/actionagent/frontend/index.jsx +++ b/actionagent/frontend/index.jsx @@ -6,37 +6,19 @@ import React from 'react'; import { createRoot } from 'react-dom/client'; import Dashboard from './pages/Dashboard'; +import { installApiFetch } from './utils/apiFetch.mjs'; const MOUNT_ID = 'active-agent-dashboard'; -// The engine can be mounted anywhere ("/activeagents", "/admin/agents", the -// root of a subdomain). Components fetch absolute "/api/..." paths, so -// same-origin API requests are rewritten onto the mount here — one shim -// instead of threading a base path through every component. -function installFetchBasePath(mountPath) { - const base = mountPath.replace(/\/$/, ''); - if (!base) return; - - const original = window.fetch.bind(window); - window.fetch = (input, init) => { - if (typeof input === 'string' && input.startsWith('/api/')) { - return original(`${base}${input}`, init); - } - if (input instanceof Request && new URL(input.url, window.location.origin).pathname.startsWith('/api/')) { - const url = new URL(input.url, window.location.origin); - return original(new Request(`${base}${url.pathname}${url.search}`, input), init); - } - return original(input, init); - }; -} - function mount() { const node = document.getElementById(MOUNT_ID); if (!node) return; const props = JSON.parse(node.dataset.props || '{}'); window.ACTIVE_AGENT_DASHBOARD = props; - installFetchBasePath(props.mountPath || '/'); + // Components fetch absolute "/api/..." paths; this puts them on the + // engine's mount and attaches the CSRF token (see utils/apiFetch.mjs). + installApiFetch(props.mountPath || '/'); createRoot(node).render(); } diff --git a/actionagent/frontend/test/apiFetch.test.mjs b/actionagent/frontend/test/apiFetch.test.mjs new file mode 100644 index 000000000..55d84b775 --- /dev/null +++ b/actionagent/frontend/test/apiFetch.test.mjs @@ -0,0 +1,66 @@ +import assert from 'node:assert/strict'; +import test from 'node:test'; + +import { installApiFetch, resolveApiRequest } from '../utils/apiFetch.mjs'; + +// Every dashboard request goes through one fetch shim. These pin that it +// puts "/api/" calls on the engine's mount and that every mutating call +// carries the CSRF token the API now verifies. + +const origin = 'https://host.test'; +const options = { base: '/activeagents', csrfToken: 'tok', origin }; + +test('rewrites /api/ paths onto the mount', () => { + const [input] = resolveApiRequest('/api/agents?q=x', undefined, options); + assert.equal(input, '/activeagents/api/agents?q=x'); +}); + +test('passes other requests through untouched', () => { + assert.equal(resolveApiRequest('/assets/app.js', undefined, options), null); + assert.equal(resolveApiRequest('https://openrouter.ai/api/v1/models', undefined, options), null); + assert.equal(resolveApiRequest(new Request('https://elsewhere.test/api/agents'), undefined, options), null); +}); + +test('reads carry no token', () => { + const [, init] = resolveApiRequest('/api/agents', undefined, options); + assert.equal(init, undefined); +}); + +for (const method of ['POST', 'PUT', 'PATCH', 'DELETE', 'post']) { + test(`${method} carries the CSRF token beside its own headers`, () => { + const [, init] = resolveApiRequest('/api/agents/1', { + method, headers: { 'Content-Type': 'application/json' }, body: '{}', + }, options); + assert.equal(init.headers.get('X-CSRF-Token'), 'tok'); + assert.equal(init.headers.get('Content-Type'), 'application/json'); + assert.equal(init.body, '{}'); + }); +} + +test('a token the caller set is left alone', () => { + const [, init] = resolveApiRequest('/api/agents', { method: 'POST', headers: { 'X-CSRF-Token': 'own' } }, options); + assert.equal(init.headers.get('X-CSRF-Token'), 'own'); +}); + +test('a mutating Request object is rewritten and gets the token', () => { + const request = new Request(`${origin}/api/agents`, { method: 'DELETE', headers: { Accept: 'application/json' } }); + const [input, init] = resolveApiRequest(request, undefined, options); + assert.equal(input.url, `${origin}/activeagents/api/agents`); + assert.equal(init.headers.get('X-CSRF-Token'), 'tok'); + assert.equal(init.headers.get('Accept'), 'application/json'); +}); + +test('a root mount still attaches the token', () => { + const calls = []; + const target = { fetch: (...args) => calls.push(args), location: { origin } }; + globalThis.document = { querySelector: () => ({ content: 'meta-token' }) }; + try { + installApiFetch('/', target); + target.fetch('/api/agents', { method: 'POST' }); + } finally { + delete globalThis.document; + } + const [[input, init]] = calls; + assert.equal(input, '/api/agents'); + assert.equal(init.headers.get('X-CSRF-Token'), 'meta-token'); +}); diff --git a/actionagent/frontend/utils/apiFetch.mjs b/actionagent/frontend/utils/apiFetch.mjs new file mode 100644 index 000000000..492044ec1 --- /dev/null +++ b/actionagent/frontend/utils/apiFetch.mjs @@ -0,0 +1,57 @@ +// The one seam every dashboard request goes through. Components call plain +// fetch("/api/...") and this fills in what they would otherwise each have to +// remember: +// +// * the engine's mount path — the engine can be mounted anywhere +// ("/activeagents", "/admin/agents", the root of a subdomain), so absolute +// "/api/..." paths are rewritten onto it; +// * the Rails CSRF token on every mutating request. The API authenticates +// with the host's session cookie, so it verifies the token like any other +// form post; a per-component header was forgotten in most places. + +const MUTATING_METHODS = new Set(['POST', 'PUT', 'PATCH', 'DELETE']); + +// Resolves a fetch call onto the API: returns the [input, init] to hand the +// real fetch, or null when the request is not a same-origin "/api/" call and +// should pass through untouched. +export function resolveApiRequest(input, init, { base = '', csrfToken, origin }) { + let url; + if (typeof input === 'string') { + if (!input.startsWith('/api/')) return null; + url = `${base}${input}`; + } else if (typeof Request !== 'undefined' && input instanceof Request) { + const parsed = new URL(input.url, origin); + if (parsed.origin !== origin || !parsed.pathname.startsWith('/api/')) return null; + url = `${origin}${base}${parsed.pathname}${parsed.search}`; + } else { + return null; + } + + const request = typeof input === 'string' ? url : new Request(url, input); + const method = (init?.method || (typeof input === 'string' ? 'GET' : input.method)).toUpperCase(); + if (!MUTATING_METHODS.has(method) || !csrfToken) return [request, init]; + + const headers = new Headers(init?.headers ?? (typeof input === 'string' ? undefined : input.headers)); + if (!headers.has('X-CSRF-Token')) headers.set('X-CSRF-Token', csrfToken); + return [request, { ...init, headers }]; +} + +// Reads the token csrf_meta_tags renders into the layout. Read per request +// rather than once, so a token Rails rotates (e.g. after sign-in) is picked up. +export function csrfTokenFromMeta(doc = globalThis.document) { + return doc?.querySelector('meta[name="csrf-token"]')?.content || null; +} + +export function installApiFetch(mountPath, target = globalThis) { + const base = mountPath.replace(/\/$/, ''); + const original = target.fetch.bind(target); + + target.fetch = (input, init) => { + const resolved = resolveApiRequest(input, init, { + base, + csrfToken: csrfTokenFromMeta(), + origin: target.location.origin, + }); + return resolved ? original(...resolved) : original(input, init); + }; +} diff --git a/actionagent/test/api_forgery_protection_test.rb b/actionagent/test/api_forgery_protection_test.rb new file mode 100644 index 000000000..570b210de --- /dev/null +++ b/actionagent/test/api_forgery_protection_test.rb @@ -0,0 +1,55 @@ +# frozen_string_literal: true + +require "test_helper" + +# The dashboard API authenticates with the host's session cookie, so it keeps +# forgery protection on (#461). Endpoints authenticated by a bearer token have +# no cookie to ride on and stay exempt. +class ApiForgeryProtectionTest < ActionDispatch::IntegrationTest + def setup + ActionAgent::Agent.delete_all + ActionAgent::ApiKey.delete_all + @original_forgery_protection = ActionController::Base.allow_forgery_protection + ActionController::Base.allow_forgery_protection = true + end + + def teardown + ActionController::Base.allow_forgery_protection = @original_forgery_protection + end + + # A cross-site POST with no token is rejected by both forgery protection + # schemes: the token check Rails verifies through 8.1, and the + # Sec-Fetch-Site check Rails 8.2 verifies instead. + CROSS_SITE = { "Sec-Fetch-Site" => "cross-site" }.freeze + AGENT = { agent: { name: "Forged", provider: "openai", model: "gpt-4o-mini" } }.freeze + + test "a cross-site write to the dashboard API is refused with the dashboard's JSON" do + post "/activeagents/api/agents", params: AGENT, headers: CROSS_SITE, as: :json + + assert_response :unprocessable_entity + assert_equal "invalid_csrf_token", response.parsed_body["code"] + assert_equal 0, ActionAgent::Agent.count + end + + test "the same write succeeds with the page's CSRF token" do + get "/activeagents" + token = Nokogiri::HTML(response.body).at_css('meta[name="csrf-token"]')["content"] + + post "/activeagents/api/agents", params: AGENT, headers: { "X-CSRF-Token" => token }, as: :json + + assert_response :created + assert_equal 1, ActionAgent::Agent.count + end + + test "the MCP facade authenticates by bearer token and stays exempt" do + key = ActionAgent::ApiKey.create!(name: "Test key") + + post "/activeagents/mcp", + params: { jsonrpc: "2.0", id: 1, method: "initialize" }, + headers: CROSS_SITE.merge("Authorization" => "Bearer #{key.token}"), + as: :json + + assert_response :success + assert_equal "2025-03-26", response.parsed_body.dig("result", "protocolVersion") + end +end From 4c89c597eeecad5608c7f8121f420c0bc8aeea8f Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 23 Sep 2026 02:00:46 +0000 Subject: [PATCH 5/6] Rebuild the dashboard bundle Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01KfFzc97pARf86bj8LNR59B --- .../app/assets/builds/action_agent.css | 2 +- actionagent/app/assets/builds/action_agent.js | 104 +++++++++--------- 2 files changed, 53 insertions(+), 53 deletions(-) diff --git a/actionagent/app/assets/builds/action_agent.css b/actionagent/app/assets/builds/action_agent.css index b7ea09830..e3ad7cfee 100644 --- a/actionagent/app/assets/builds/action_agent.css +++ b/actionagent/app/assets/builds/action_agent.css @@ -1,2 +1,2 @@ /*! tailwindcss v4.3.3 | 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-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--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-outline-style:solid;--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-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--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-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--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-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-700:oklch(45.7% .24 277.023);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-4xl:56rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-webkit-text-decoration: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:where(:not(iframe)){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]){appearance:button}::file-selector-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{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.-top-0\.5{top:calc(var(--spacing) * -.5)}.-top-2{top:calc(var(--spacing) * -2)}.-top-3{top:calc(var(--spacing) * -3)}.-top-8{top:calc(var(--spacing) * -8)}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-4{top:calc(var(--spacing) * 4)}.top-14{top:calc(var(--spacing) * 14)}.-right-2{right:calc(var(--spacing) * -2)}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.mx-1{margin-inline:var(--spacing)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.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)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.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-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-36{height:calc(var(--spacing) * 36)}.h-48{height:calc(var(--spacing) * 48)}.h-64{height:calc(var(--spacing) * 64)}.h-\[500px\]{height:500px}.h-full{height:100%}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-screen{min-height:100vh}.w-1{width:var(--spacing)}.w-1\/3{width:33.3333%}.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-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-48{width:calc(var(--spacing) * 48)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.min-w-\[4\.5rem\]{min-width:4.5rem}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-left{transform-origin:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-1{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-6{--tw-translate-x:calc(var(--spacing) * 6);translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-45{rotate:-45deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}: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(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * 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-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * 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)))}:where(.space-y-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-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(var(--spacing) * var(--tw-space-x-reverse));margin-inline-end:calc(var(--spacing) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 8) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-100>:not(:last-child)){border-color:var(--color-gray-100)}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.self-end{align-self:flex-end}.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-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.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-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-amber-200{border-color:var(--color-amber-200)}.border-emerald-500{border-color:var(--color-emerald-500)}.border-gray-50{border-color:var(--color-gray-50)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-700{border-color:var(--color-gray-700)}.border-green-200{border-color:var(--color-green-200)}.border-green-800{border-color:var(--color-green-800)}.border-red-200{border-color:var(--color-red-200)}.border-red-500{border-color:var(--color-red-500)}.border-red-800{border-color:var(--color-red-800)}.border-rose-200{border-color:var(--color-rose-200)}.border-rose-300{border-color:var(--color-rose-300)}.border-rose-500{border-color:var(--color-rose-500)}.border-transparent{border-color:#0000}.border-yellow-200{border-color:var(--color-yellow-200)}.border-yellow-800{border-color:var(--color-yellow-800)}.border-l-amber-500{border-left-color:var(--color-amber-500)}.border-l-blue-500{border-left-color:var(--color-blue-500)}.border-l-green-500{border-left-color:var(--color-green-500)}.border-l-purple-500{border-left-color:var(--color-purple-500)}.border-l-red-500{border-left-color:var(--color-red-500)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-black{background-color:var(--color-black)}.bg-black\/75{background-color:#000000bf}@supports (color:color-mix(in lab, red, red)){.bg-black\/75{background-color:color-mix(in oklab, var(--color-black) 75%, transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-900\/20{background-color:#0d542b33}@supports (color:color-mix(in lab, red, red)){.bg-green-900\/20{background-color:color-mix(in oklab, var(--color-green-900) 20%, transparent)}}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-900\/20{background-color:#82181a33}@supports (color:color-mix(in lab, red, red)){.bg-red-900\/20{background-color:color-mix(in oklab, var(--color-red-900) 20%, transparent)}}.bg-red-900\/40{background-color:#82181a66}@supports (color:color-mix(in lab, red, red)){.bg-red-900\/40{background-color:color-mix(in oklab, var(--color-red-900) 40%, transparent)}}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-500{background-color:var(--color-rose-500)}.bg-white{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-900\/20{background-color:#733e0a33}@supports (color:color-mix(in lab, red, red)){.bg-yellow-900\/20{background-color:color-mix(in oklab, var(--color-yellow-900) 20%, transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-gray-50{--tw-gradient-from:var(--color-gray-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-red-500{--tw-gradient-from:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-rose-50{--tw-gradient-from:var(--color-rose-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-rose-500{--tw-gradient-from:var(--color-rose-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-gray-100{--tw-gradient-to:var(--color-gray-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-50{--tw-gradient-to:var(--color-purple-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-rose-500{--tw-gradient-to:var(--color-rose-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.9em\]{font-size:.9em}.text-\[0\.85em\]{font-size:.85em}.text-\[0\.95em\]{font-size:.95em}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.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)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-500{color:var(--color-amber-500)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-gray-100{color:var(--color-gray-100)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-300{color:var(--color-green-300)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-700{color:var(--color-indigo-700)}.text-orange-600{color:var(--color-orange-600)}.text-purple-700{color:var(--color-purple-700)}.text-red-300{color:var(--color-red-300)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-rose-100{color:var(--color-rose-100)}.text-rose-500{color:var(--color-rose-500)}.text-rose-600{color:var(--color-rose-600)}.text-white{color:var(--color-white)}.text-yellow-300{color:var(--color-yellow-300)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.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}.placeholder-gray-500::placeholder{color:var(--color-gray-500)}.accent-red-500{accent-color:var(--color-red-500)}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px 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)}.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-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)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px 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)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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)}.ring-emerald-200{--tw-ring-color:var(--color-emerald-200)}.ring-red-100{--tw-ring-color:var(--color-red-100)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.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))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.focus-within\:opacity-100:focus-within{opacity:1}@media (hover:hover){.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:bg-\[var\(--color-hover\)\]:hover{background-color:var(--color-hover)}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-black\/5:hover{background-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-black\/5:hover{background-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-gray-300:hover{background-color:var(--color-gray-300)}.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.hover\:bg-purple-600:hover{background-color:var(--color-purple-600)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-100:hover{background-color:var(--color-red-100)}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-red-900\/40:hover{background-color:#82181a66}@supports (color:color-mix(in lab, red, red)){.hover\:bg-red-900\/40:hover{background-color:color-mix(in oklab, var(--color-red-900) 40%, transparent)}}.hover\:bg-red-900\/60:hover{background-color:#82181a99}@supports (color:color-mix(in lab, red, red)){.hover\:bg-red-900\/60:hover{background-color:color-mix(in oklab, var(--color-red-900) 60%, transparent)}}.hover\:bg-rose-600:hover{background-color:var(--color-rose-600)}.hover\:bg-white\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/5:hover{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.hover\:from-red-600:hover{--tw-gradient-from:var(--color-red-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.hover\:to-rose-600:hover{--tw-gradient-to:var(--color-rose-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.hover\:text-amber-900:hover{color:var(--color-amber-900)}.hover\:text-gray-200:hover{color:var(--color-gray-200)}.hover\:text-gray-300:hover{color:var(--color-gray-300)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-rose-700:hover{color:var(--color-rose-700)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--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)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px 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)}}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--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)}.focus\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\:ring-rose-500:focus{--tw-ring-color:var(--color-rose-500)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-100:disabled{background-color:var(--color-gray-100)}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}.aa-dashboard{--color-accent:#fa343b;--color-accent-hover:#e02d33;--color-accent-b:#fa343b29;--color-accent-b-hover:#fa343b33;--color-on-accent:#fff;--color-accent-ui:#ef4444;--color-accent-ui-hover:#dc2626;--color-accent-ui-muted:#ef444426;--color-accent-ui-tint:#fef2f2;--color-background:#f9fafb;--color-background-page:#fff;--color-surface:#fff;--color-card:#fff;--color-muted:#f3f4f6;--color-hover:#f3f4f6;--color-background-blur:#ffffffe6;--color-border:#e5e7eb;--color-border-light:#f3f4f6;--color-border-strong:#d1d5db;--color-text-primary:#111827;--color-text-secondary:#6b7280;--color-text-muted:#9ca3af;--color-text-cell:#4b5563;--color-success:#16a34a;--color-success-soft:#dcfce7;--color-success-text:#166534;--color-warning:#eab308;--color-warning-soft:#fef9c3;--color-warning-text:#854d0e;--color-error:#dc2626;--color-error-soft:#fee2e2;--color-error-text:#991b1b;--color-info:#3b82f6;--color-info-soft:#dbeafe;--color-info-text:#1e40af;--span-root:#9ca3af;--span-prompt:#60a5fa;--span-generate:#a855f7;--span-llm:#ef4444;--span-thinking:#fbbf24;--span-tool:#22c55e;--span-response:#2dd4bf;--color-token-in:#2563eb;--color-token-out:#7c3aed;--chart-1:#6366f1;--chart-2:#10b981;--chart-3:#f59e0b;--chart-4:#ec4899;--chart-5:#3b82f6;--font-text:"Inter Variable", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Fira Code", Menlo, Consolas, "Courier New", monospace}.aa-dashboard.theme-dark{color-scheme:dark;--color-accent-ui-tint:#ef444426;--color-background:#0f0f0f;--color-background-page:#0f0f0f;--color-surface:#1a1a1a;--color-card:#ffffff0d;--color-muted:#ffffff0d;--color-hover:#252525;--color-background-blur:#0f0f0fe6;--color-border:#ffffff1a;--color-border-light:#ffffff0d;--color-border-strong:#fff3;--color-text-primary:#fff;--color-text-secondary:#fff9;--color-text-muted:#fff6;--color-text-cell:#ffffffb3;--color-success-soft:#16a34a26;--color-success-text:#4ade80;--color-warning-soft:#eab30826;--color-warning-text:#facc15;--color-error-soft:#dc262626;--color-error-text:#f87171;--color-info-soft:#3b82f626;--color-info-text:#93c5fd}.aa-dashboard .aa-chevron{transition:transform .15s;display:inline-block}.aa-dashboard .aa-chevron[data-open=true]{transform:rotate(90deg)}.aa-dashboard .aa-roster-row{background:0 0}.aa-dashboard .aa-roster-row[data-on=true]{background:var(--color-accent-ui-tint)}.aa-dashboard .aa-roster-row:hover{background:var(--color-hover)}@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-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}} \ No newline at end of file +@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-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--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-outline-style:solid;--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-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--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-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--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-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-700:oklch(45.7% .24 277.023);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-4xl:56rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-webkit-text-decoration: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:where(:not(iframe)){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]){appearance:button}::file-selector-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{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.-top-0\.5{top:calc(var(--spacing) * -.5)}.-top-2{top:calc(var(--spacing) * -2)}.-top-3{top:calc(var(--spacing) * -3)}.-top-8{top:calc(var(--spacing) * -8)}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-4{top:calc(var(--spacing) * 4)}.top-14{top:calc(var(--spacing) * 14)}.-right-2{right:calc(var(--spacing) * -2)}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-50{z-index:50}.z-\[60\]{z-index:60}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.mx-1{margin-inline:var(--spacing)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.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)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.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-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-36{height:calc(var(--spacing) * 36)}.h-48{height:calc(var(--spacing) * 48)}.h-64{height:calc(var(--spacing) * 64)}.h-\[500px\]{height:500px}.h-full{height:100%}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-screen{min-height:100vh}.w-1{width:var(--spacing)}.w-1\/3{width:33.3333%}.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-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-48{width:calc(var(--spacing) * 48)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.min-w-\[4\.5rem\]{min-width:4.5rem}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-left{transform-origin:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-1{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-6{--tw-translate-x:calc(var(--spacing) * 6);translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-45{rotate:-45deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}: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(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * 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-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * 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)))}:where(.space-y-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-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(var(--spacing) * var(--tw-space-x-reverse));margin-inline-end:calc(var(--spacing) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 8) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-100>:not(:last-child)){border-color:var(--color-gray-100)}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.self-end{align-self:flex-end}.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-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.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-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-amber-200{border-color:var(--color-amber-200)}.border-emerald-500{border-color:var(--color-emerald-500)}.border-gray-50{border-color:var(--color-gray-50)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-700{border-color:var(--color-gray-700)}.border-green-200{border-color:var(--color-green-200)}.border-green-800{border-color:var(--color-green-800)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-red-500{border-color:var(--color-red-500)}.border-red-800{border-color:var(--color-red-800)}.border-rose-200{border-color:var(--color-rose-200)}.border-rose-300{border-color:var(--color-rose-300)}.border-rose-500{border-color:var(--color-rose-500)}.border-transparent{border-color:#0000}.border-yellow-200{border-color:var(--color-yellow-200)}.border-yellow-800{border-color:var(--color-yellow-800)}.border-l-amber-500{border-left-color:var(--color-amber-500)}.border-l-blue-500{border-left-color:var(--color-blue-500)}.border-l-green-500{border-left-color:var(--color-green-500)}.border-l-purple-500{border-left-color:var(--color-purple-500)}.border-l-red-500{border-left-color:var(--color-red-500)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-black{background-color:var(--color-black)}.bg-black\/75{background-color:#000000bf}@supports (color:color-mix(in lab, red, red)){.bg-black\/75{background-color:color-mix(in oklab, var(--color-black) 75%, transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-900\/20{background-color:#0d542b33}@supports (color:color-mix(in lab, red, red)){.bg-green-900\/20{background-color:color-mix(in oklab, var(--color-green-900) 20%, transparent)}}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-900\/20{background-color:#82181a33}@supports (color:color-mix(in lab, red, red)){.bg-red-900\/20{background-color:color-mix(in oklab, var(--color-red-900) 20%, transparent)}}.bg-red-900\/40{background-color:#82181a66}@supports (color:color-mix(in lab, red, red)){.bg-red-900\/40{background-color:color-mix(in oklab, var(--color-red-900) 40%, transparent)}}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-500{background-color:var(--color-rose-500)}.bg-white{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-900\/20{background-color:#733e0a33}@supports (color:color-mix(in lab, red, red)){.bg-yellow-900\/20{background-color:color-mix(in oklab, var(--color-yellow-900) 20%, transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-gray-50{--tw-gradient-from:var(--color-gray-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-red-500{--tw-gradient-from:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-rose-50{--tw-gradient-from:var(--color-rose-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-rose-500{--tw-gradient-from:var(--color-rose-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-gray-100{--tw-gradient-to:var(--color-gray-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-50{--tw-gradient-to:var(--color-purple-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-rose-500{--tw-gradient-to:var(--color-rose-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.9em\]{font-size:.9em}.text-\[0\.85em\]{font-size:.85em}.text-\[0\.95em\]{font-size:.95em}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.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)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-500{color:var(--color-amber-500)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-gray-100{color:var(--color-gray-100)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-300{color:var(--color-green-300)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-700{color:var(--color-indigo-700)}.text-orange-600{color:var(--color-orange-600)}.text-purple-700{color:var(--color-purple-700)}.text-red-300{color:var(--color-red-300)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-rose-100{color:var(--color-rose-100)}.text-rose-500{color:var(--color-rose-500)}.text-rose-600{color:var(--color-rose-600)}.text-white{color:var(--color-white)}.text-yellow-300{color:var(--color-yellow-300)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.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}.placeholder-gray-500::placeholder{color:var(--color-gray-500)}.accent-red-500{accent-color:var(--color-red-500)}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px 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)}.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-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)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px 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)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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)}.ring-emerald-200{--tw-ring-color:var(--color-emerald-200)}.ring-red-100{--tw-ring-color:var(--color-red-100)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.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))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.focus-within\:opacity-100:focus-within{opacity:1}@media (hover:hover){.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:bg-\[var\(--color-hover\)\]:hover{background-color:var(--color-hover)}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-black\/5:hover{background-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-black\/5:hover{background-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-gray-300:hover{background-color:var(--color-gray-300)}.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.hover\:bg-purple-600:hover{background-color:var(--color-purple-600)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-100:hover{background-color:var(--color-red-100)}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-red-900\/40:hover{background-color:#82181a66}@supports (color:color-mix(in lab, red, red)){.hover\:bg-red-900\/40:hover{background-color:color-mix(in oklab, var(--color-red-900) 40%, transparent)}}.hover\:bg-red-900\/60:hover{background-color:#82181a99}@supports (color:color-mix(in lab, red, red)){.hover\:bg-red-900\/60:hover{background-color:color-mix(in oklab, var(--color-red-900) 60%, transparent)}}.hover\:bg-rose-600:hover{background-color:var(--color-rose-600)}.hover\:bg-white\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/5:hover{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.hover\:from-red-600:hover{--tw-gradient-from:var(--color-red-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.hover\:to-rose-600:hover{--tw-gradient-to:var(--color-rose-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.hover\:text-amber-900:hover{color:var(--color-amber-900)}.hover\:text-gray-200:hover{color:var(--color-gray-200)}.hover\:text-gray-300:hover{color:var(--color-gray-300)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-rose-700:hover{color:var(--color-rose-700)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--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)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px 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)}}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--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)}.focus\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\:ring-rose-500:focus{--tw-ring-color:var(--color-rose-500)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-100:disabled{background-color:var(--color-gray-100)}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}.aa-dashboard{--color-accent:#fa343b;--color-accent-hover:#e02d33;--color-accent-b:#fa343b29;--color-accent-b-hover:#fa343b33;--color-on-accent:#fff;--color-accent-ui:#ef4444;--color-accent-ui-hover:#dc2626;--color-accent-ui-muted:#ef444426;--color-accent-ui-tint:#fef2f2;--color-background:#f9fafb;--color-background-page:#fff;--color-surface:#fff;--color-card:#fff;--color-muted:#f3f4f6;--color-hover:#f3f4f6;--color-background-blur:#ffffffe6;--color-border:#e5e7eb;--color-border-light:#f3f4f6;--color-border-strong:#d1d5db;--color-text-primary:#111827;--color-text-secondary:#6b7280;--color-text-muted:#9ca3af;--color-text-cell:#4b5563;--color-success:#16a34a;--color-success-soft:#dcfce7;--color-success-text:#166534;--color-warning:#eab308;--color-warning-soft:#fef9c3;--color-warning-text:#854d0e;--color-error:#dc2626;--color-error-soft:#fee2e2;--color-error-text:#991b1b;--color-info:#3b82f6;--color-info-soft:#dbeafe;--color-info-text:#1e40af;--span-root:#9ca3af;--span-prompt:#60a5fa;--span-generate:#a855f7;--span-llm:#ef4444;--span-thinking:#fbbf24;--span-tool:#22c55e;--span-response:#2dd4bf;--color-token-in:#2563eb;--color-token-out:#7c3aed;--chart-1:#6366f1;--chart-2:#10b981;--chart-3:#f59e0b;--chart-4:#ec4899;--chart-5:#3b82f6;--font-text:"Inter Variable", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Fira Code", Menlo, Consolas, "Courier New", monospace}.aa-dashboard.theme-dark{color-scheme:dark;--color-accent-ui-tint:#ef444426;--color-background:#0f0f0f;--color-background-page:#0f0f0f;--color-surface:#1a1a1a;--color-card:#ffffff0d;--color-muted:#ffffff0d;--color-hover:#252525;--color-background-blur:#0f0f0fe6;--color-border:#ffffff1a;--color-border-light:#ffffff0d;--color-border-strong:#fff3;--color-text-primary:#fff;--color-text-secondary:#fff9;--color-text-muted:#fff6;--color-text-cell:#ffffffb3;--color-success-soft:#16a34a26;--color-success-text:#4ade80;--color-warning-soft:#eab30826;--color-warning-text:#facc15;--color-error-soft:#dc262626;--color-error-text:#f87171;--color-info-soft:#3b82f626;--color-info-text:#93c5fd}.aa-dashboard .aa-chevron{transition:transform .15s;display:inline-block}.aa-dashboard .aa-chevron[data-open=true]{transform:rotate(90deg)}.aa-dashboard .aa-roster-row{background:0 0}.aa-dashboard .aa-roster-row[data-on=true]{background:var(--color-accent-ui-tint)}.aa-dashboard .aa-roster-row:hover{background:var(--color-hover)}@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-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}} \ No newline at end of file diff --git a/actionagent/app/assets/builds/action_agent.js b/actionagent/app/assets/builds/action_agent.js index 852d4762e..637cf4096 100644 --- a/actionagent/app/assets/builds/action_agent.js +++ b/actionagent/app/assets/builds/action_agent.js @@ -1,83 +1,83 @@ -var oU=Object.create;var Gw=Object.defineProperty;var aU=Object.getOwnPropertyDescriptor;var iU=Object.getOwnPropertyNames;var lU=Object.getPrototypeOf,sU=Object.prototype.hasOwnProperty;var on=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),uU=(e,t)=>{for(var r in t)Gw(e,r,{get:t[r],enumerable:!0})},cU=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of iU(t))!sU.call(e,o)&&o!==r&&Gw(e,o,{get:()=>t[o],enumerable:!(n=aU(t,o))||n.enumerable});return e};var te=(e,t,r)=>(r=e!=null?oU(lU(e)):{},cU(t||!e||!e.__esModule?Gw(r,"default",{value:e,enumerable:!0}):r,e));var H5=on(ot=>{"use strict";var Zw=Symbol.for("react.transitional.element"),dU=Symbol.for("react.portal"),fU=Symbol.for("react.fragment"),pU=Symbol.for("react.strict_mode"),mU=Symbol.for("react.profiler"),vU=Symbol.for("react.consumer"),gU=Symbol.for("react.context"),yU=Symbol.for("react.forward_ref"),hU=Symbol.for("react.suspense"),xU=Symbol.for("react.memo"),L5=Symbol.for("react.lazy"),bU=Symbol.for("react.activity"),D5=Symbol.iterator;function wU(e){return e===null||typeof e!="object"?null:(e=D5&&e[D5]||e["@@iterator"],typeof e=="function"?e:null)}var B5={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},$5=Object.assign,F5={};function Cc(e,t,r){this.props=e,this.context=t,this.refs=F5,this.updater=r||B5}Cc.prototype.isReactComponent={};Cc.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};Cc.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function U5(){}U5.prototype=Cc.prototype;function Qw(e,t,r){this.props=e,this.context=t,this.refs=F5,this.updater=r||B5}var Jw=Qw.prototype=new U5;Jw.constructor=Qw;$5(Jw,Cc.prototype);Jw.isPureReactComponent=!0;var I5=Array.isArray;function Xw(){}var ir={H:null,A:null,T:null,S:null},W5=Object.prototype.hasOwnProperty;function Rw(e,t,r){var n=r.ref;return{$$typeof:Zw,type:e,key:t,ref:n!==void 0?n:null,props:r}}function SU(e,t){return Rw(e.type,t,e.props)}function eS(e){return typeof e=="object"&&e!==null&&e.$$typeof===Zw}function AU(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(r){return t[r]})}var j5=/\/+/g;function Yw(e,t){return typeof e=="object"&&e!==null&&e.key!=null?AU(""+e.key):t.toString(36)}function kU(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Xw,Xw):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function kc(e,t,r,n,o){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var i=!1;if(e===null)i=!0;else switch(a){case"bigint":case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case Zw:case dU:i=!0;break;case L5:return i=e._init,kc(i(e._payload),t,r,n,o)}}if(i)return o=o(e),i=n===""?"."+Yw(e,0):n,I5(o)?(r="",i!=null&&(r=i.replace(j5,"$&/")+"/"),kc(o,t,r,"",function(u){return u})):o!=null&&(eS(o)&&(o=SU(o,r+(o.key==null||e&&e.key===o.key?"":(""+o.key).replace(j5,"$&/")+"/")+i)),t.push(o)),1;i=0;var l=n===""?".":n+":";if(I5(e))for(var s=0;s{"use strict";V5.exports=H5()});var eO=on(vr=>{"use strict";function oS(e,t){var r=e.length;e.push(t);e:for(;0>>1,o=e[n];if(0>>1;nWg(l,r))sWg(u,l)?(e[n]=u,e[s]=r,n=s):(e[n]=l,e[i]=r,n=i);else if(sWg(u,r))e[n]=u,e[s]=r,n=s;else break e}}return t}function Wg(e,t){var r=e.sortIndex-t.sortIndex;return r!==0?r:e.id-t.id}vr.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(K5=performance,vr.unstable_now=function(){return K5.now()}):(tS=Date,q5=tS.now(),vr.unstable_now=function(){return tS.now()-q5});var K5,tS,q5,mi=[],wl=[],_U=1,Wo=null,En=3,aS=!1,gp=!1,yp=!1,iS=!1,X5=typeof setTimeout=="function"?setTimeout:null,Z5=typeof clearTimeout=="function"?clearTimeout:null,G5=typeof setImmediate<"u"?setImmediate:null;function Hg(e){for(var t=Ha(wl);t!==null;){if(t.callback===null)Vg(wl);else if(t.startTime<=e)Vg(wl),t.sortIndex=t.expirationTime,oS(mi,t);else break;t=Ha(wl)}}function lS(e){if(yp=!1,Hg(e),!gp)if(Ha(mi)!==null)gp=!0,_c||(_c=!0,Nc());else{var t=Ha(wl);t!==null&&sS(lS,t.startTime-e)}}var _c=!1,hp=-1,Q5=5,J5=-1;function R5(){return iS?!0:!(vr.unstable_now()-J5e&&R5());){var n=Wo.callback;if(typeof n=="function"){Wo.callback=null,En=Wo.priorityLevel;var o=n(Wo.expirationTime<=e);if(e=vr.unstable_now(),typeof o=="function"){Wo.callback=o,Hg(e),t=!0;break t}Wo===Ha(mi)&&Vg(mi),Hg(e)}else Vg(mi);Wo=Ha(mi)}if(Wo!==null)t=!0;else{var a=Ha(wl);a!==null&&sS(lS,a.startTime-e),t=!1}}break e}finally{Wo=null,En=r,aS=!1}t=void 0}}finally{t?Nc():_c=!1}}}var Nc;typeof G5=="function"?Nc=function(){G5(rS)}:typeof MessageChannel<"u"?(nS=new MessageChannel,Y5=nS.port2,nS.port1.onmessage=rS,Nc=function(){Y5.postMessage(null)}):Nc=function(){X5(rS,0)};var nS,Y5;function sS(e,t){hp=X5(function(){e(vr.unstable_now())},t)}vr.unstable_IdlePriority=5;vr.unstable_ImmediatePriority=1;vr.unstable_LowPriority=4;vr.unstable_NormalPriority=3;vr.unstable_Profiling=null;vr.unstable_UserBlockingPriority=2;vr.unstable_cancelCallback=function(e){e.callback=null};vr.unstable_forceFrameRate=function(e){0>e||125n?(e.sortIndex=r,oS(wl,e),Ha(mi)===null&&e===Ha(wl)&&(yp?(Z5(hp),hp=-1):yp=!0,sS(lS,r-n))):(e.sortIndex=o,oS(mi,e),gp||aS||(gp=!0,_c||(_c=!0,Nc()))),e};vr.unstable_shouldYield=R5;vr.unstable_wrapCallback=function(e){var t=En;return function(){var r=En;En=t;try{return e.apply(this,arguments)}finally{En=r}}}});var rO=on((Ede,tO)=>{"use strict";tO.exports=eO()});var oO=on(Bn=>{"use strict";var EU=re();function nO(e){var t="https://react.dev/errors/"+e;if(1{"use strict";function aO(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(aO)}catch(e){console.error(e)}}aO(),iO.exports=oO()});var hM=on(gh=>{"use strict";var Jr=rO(),PT=re(),MU=bp();function pe(e){var t="https://react.dev/errors/"+e;if(1Ic||(e.current=GS[Ic],GS[Ic]=null,Ic--)}function er(e,t){Ic++,GS[Ic]=e.current,e.current=t}var Ga=Ya(null),qp=Ya(null),Il=Ya(null),Cy=Ya(null);function Ny(e,t){switch(er(Il,t),er(qp,e),er(Ga,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?vT(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=vT(t),e=oM(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}sn(Ga),er(Ga,e)}function Jc(){sn(Ga),sn(qp),sn(Il)}function YS(e){e.memoizedState!==null&&er(Cy,e);var t=Ga.current,r=oM(t,e.type);t!==r&&(er(qp,e),er(Ga,r))}function _y(e){qp.current===e&&(sn(Ga),sn(qp)),Cy.current===e&&(sn(Cy),nm._currentValue=Ys)}var uS,uO;function Vs(e){if(uS===void 0)try{throw Error()}catch(r){var t=r.stack.trim().match(/\n( *(at )?)/);uS=t&&t[1]||"",uO=-1()=>(t||e((t={exports:{}}).exports,t),t.exports),dU=(e,t)=>{for(var r in t)Zw(e,r,{get:t[r],enumerable:!0})},fU=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of sU(t))!cU.call(e,o)&&o!==r&&Zw(e,o,{get:()=>t[o],enumerable:!(n=lU(t,o))||n.enumerable});return e};var te=(e,t,r)=>(r=e!=null?iU(uU(e)):{},fU(t||!e||!e.__esModule?Zw(r,"default",{value:e,enumerable:!0}):r,e));var K5=on(ot=>{"use strict";var Rw=Symbol.for("react.transitional.element"),pU=Symbol.for("react.portal"),mU=Symbol.for("react.fragment"),vU=Symbol.for("react.strict_mode"),gU=Symbol.for("react.profiler"),yU=Symbol.for("react.consumer"),hU=Symbol.for("react.context"),xU=Symbol.for("react.forward_ref"),bU=Symbol.for("react.suspense"),wU=Symbol.for("react.memo"),$5=Symbol.for("react.lazy"),SU=Symbol.for("react.activity"),j5=Symbol.iterator;function AU(e){return e===null||typeof e!="object"?null:(e=j5&&e[j5]||e["@@iterator"],typeof e=="function"?e:null)}var F5={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},U5=Object.assign,W5={};function Nc(e,t,r){this.props=e,this.context=t,this.refs=W5,this.updater=r||F5}Nc.prototype.isReactComponent={};Nc.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};Nc.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function H5(){}H5.prototype=Nc.prototype;function eS(e,t,r){this.props=e,this.context=t,this.refs=W5,this.updater=r||F5}var tS=eS.prototype=new H5;tS.constructor=eS;U5(tS,Nc.prototype);tS.isPureReactComponent=!0;var z5=Array.isArray;function Jw(){}var ir={H:null,A:null,T:null,S:null},V5=Object.prototype.hasOwnProperty;function rS(e,t,r){var n=r.ref;return{$$typeof:Rw,type:e,key:t,ref:n!==void 0?n:null,props:r}}function kU(e,t){return rS(e.type,t,e.props)}function nS(e){return typeof e=="object"&&e!==null&&e.$$typeof===Rw}function CU(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(r){return t[r]})}var L5=/\/+/g;function Qw(e,t){return typeof e=="object"&&e!==null&&e.key!=null?CU(""+e.key):t.toString(36)}function NU(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Jw,Jw):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function Cc(e,t,r,n,o){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var i=!1;if(e===null)i=!0;else switch(a){case"bigint":case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case Rw:case pU:i=!0;break;case $5:return i=e._init,Cc(i(e._payload),t,r,n,o)}}if(i)return o=o(e),i=n===""?"."+Qw(e,0):n,z5(o)?(r="",i!=null&&(r=i.replace(L5,"$&/")+"/"),Cc(o,t,r,"",function(u){return u})):o!=null&&(nS(o)&&(o=kU(o,r+(o.key==null||e&&e.key===o.key?"":(""+o.key).replace(L5,"$&/")+"/")+i)),t.push(o)),1;i=0;var l=n===""?".":n+":";if(z5(e))for(var s=0;s{"use strict";q5.exports=K5()});var rO=on(vr=>{"use strict";function lS(e,t){var r=e.length;e.push(t);e:for(;0>>1,o=e[n];if(0>>1;nVg(l,r))sVg(u,l)?(e[n]=u,e[s]=r,n=s):(e[n]=l,e[i]=r,n=i);else if(sVg(u,r))e[n]=u,e[s]=r,n=s;else break e}}return t}function Vg(e,t){var r=e.sortIndex-t.sortIndex;return r!==0?r:e.id-t.id}vr.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(G5=performance,vr.unstable_now=function(){return G5.now()}):(oS=Date,Y5=oS.now(),vr.unstable_now=function(){return oS.now()-Y5});var G5,oS,Y5,mi=[],wl=[],OU=1,Wo=null,En=3,sS=!1,yp=!1,hp=!1,uS=!1,Q5=typeof setTimeout=="function"?setTimeout:null,J5=typeof clearTimeout=="function"?clearTimeout:null,X5=typeof setImmediate<"u"?setImmediate:null;function Kg(e){for(var t=Ha(wl);t!==null;){if(t.callback===null)qg(wl);else if(t.startTime<=e)qg(wl),t.sortIndex=t.expirationTime,lS(mi,t);else break;t=Ha(wl)}}function cS(e){if(hp=!1,Kg(e),!yp)if(Ha(mi)!==null)yp=!0,Ec||(Ec=!0,_c());else{var t=Ha(wl);t!==null&&dS(cS,t.startTime-e)}}var Ec=!1,xp=-1,R5=5,eO=-1;function tO(){return uS?!0:!(vr.unstable_now()-eOe&&tO());){var n=Wo.callback;if(typeof n=="function"){Wo.callback=null,En=Wo.priorityLevel;var o=n(Wo.expirationTime<=e);if(e=vr.unstable_now(),typeof o=="function"){Wo.callback=o,Kg(e),t=!0;break t}Wo===Ha(mi)&&qg(mi),Kg(e)}else qg(mi);Wo=Ha(mi)}if(Wo!==null)t=!0;else{var a=Ha(wl);a!==null&&dS(cS,a.startTime-e),t=!1}}break e}finally{Wo=null,En=r,sS=!1}t=void 0}}finally{t?_c():Ec=!1}}}var _c;typeof X5=="function"?_c=function(){X5(aS)}:typeof MessageChannel<"u"?(iS=new MessageChannel,Z5=iS.port2,iS.port1.onmessage=aS,_c=function(){Z5.postMessage(null)}):_c=function(){Q5(aS,0)};var iS,Z5;function dS(e,t){xp=Q5(function(){e(vr.unstable_now())},t)}vr.unstable_IdlePriority=5;vr.unstable_ImmediatePriority=1;vr.unstable_LowPriority=4;vr.unstable_NormalPriority=3;vr.unstable_Profiling=null;vr.unstable_UserBlockingPriority=2;vr.unstable_cancelCallback=function(e){e.callback=null};vr.unstable_forceFrameRate=function(e){0>e||125n?(e.sortIndex=r,lS(wl,e),Ha(mi)===null&&e===Ha(wl)&&(hp?(J5(xp),xp=-1):hp=!0,dS(cS,r-n))):(e.sortIndex=o,lS(mi,e),yp||sS||(yp=!0,Ec||(Ec=!0,_c()))),e};vr.unstable_shouldYield=tO;vr.unstable_wrapCallback=function(e){var t=En;return function(){var r=En;En=t;try{return e.apply(this,arguments)}finally{En=r}}}});var oO=on((Pde,nO)=>{"use strict";nO.exports=rO()});var iO=on(Bn=>{"use strict";var TU=re();function aO(e){var t="https://react.dev/errors/"+e;if(1{"use strict";function lO(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(lO)}catch(e){console.error(e)}}lO(),sO.exports=iO()});var bM=on(hh=>{"use strict";var Jr=oO(),IT=re(),DU=wp();function me(e){var t="https://react.dev/errors/"+e;if(1jc||(e.current=ZS[jc],ZS[jc]=null,jc--)}function er(e,t){jc++,ZS[jc]=e.current,e.current=t}var Ga=Ya(null),Gp=Ya(null),Il=Ya(null),_y=Ya(null);function Ey(e,t){switch(er(Il,t),er(Gp,e),er(Ga,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?yT(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=yT(t),e=iM(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}sn(Ga),er(Ga,e)}function Rc(){sn(Ga),sn(Gp),sn(Il)}function QS(e){e.memoizedState!==null&&er(_y,e);var t=Ga.current,r=iM(t,e.type);t!==r&&(er(Gp,e),er(Ga,r))}function Oy(e){Gp.current===e&&(sn(Ga),sn(Gp)),_y.current===e&&(sn(_y),om._currentValue=Xs)}var fS,dO;function Ks(e){if(fS===void 0)try{throw Error()}catch(r){var t=r.stack.trim().match(/\n( *(at )?)/);fS=t&&t[1]||"",dO=-1)":-1o||s[n]!==u[o]){var c=` -`+s[n].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}while(1<=n&&0<=o);break}}}finally{cS=!1,Error.prepareStackTrace=r}return(r=e?e.displayName||e.name:"")?Vs(r):""}function zU(e,t){switch(e.tag){case 26:case 27:case 5:return Vs(e.type);case 16:return Vs("Lazy");case 13:return e.child!==t&&t!==null?Vs("Suspense Fallback"):Vs("Suspense");case 19:return Vs("SuspenseList");case 0:case 15:return dS(e.type,!1);case 11:return dS(e.type.render,!1);case 1:return dS(e.type,!0);case 31:return Vs("Activity");default:return""}}function cO(e){try{var t="",r=null;do t+=zU(e,r),r=e,e=e.return;while(e);return t}catch(n){return` +`+s[n].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}while(1<=n&&0<=o);break}}}finally{pS=!1,Error.prepareStackTrace=r}return(r=e?e.displayName||e.name:"")?Ks(r):""}function BU(e,t){switch(e.tag){case 26:case 27:case 5:return Ks(e.type);case 16:return Ks("Lazy");case 13:return e.child!==t&&t!==null?Ks("Suspense Fallback"):Ks("Suspense");case 19:return Ks("SuspenseList");case 0:case 15:return mS(e.type,!1);case 11:return mS(e.type.render,!1);case 1:return mS(e.type,!0);case 31:return Ks("Activity");default:return""}}function fO(e){try{var t="",r=null;do t+=BU(e,r),r=e,e=e.return;while(e);return t}catch(n){return` Error generating stack: `+n.message+` -`+n.stack}}var XS=Object.prototype.hasOwnProperty,$2=Jr.unstable_scheduleCallback,fS=Jr.unstable_cancelCallback,LU=Jr.unstable_shouldYield,BU=Jr.unstable_requestPaint,yo=Jr.unstable_now,$U=Jr.unstable_getCurrentPriorityLevel,$T=Jr.unstable_ImmediatePriority,FT=Jr.unstable_UserBlockingPriority,Ey=Jr.unstable_NormalPriority,FU=Jr.unstable_LowPriority,UT=Jr.unstable_IdlePriority,UU=Jr.log,WU=Jr.unstable_setDisableYieldValue,lm=null,ho=null;function Ol(e){if(typeof UU=="function"&&WU(e),ho&&typeof ho.setStrictMode=="function")try{ho.setStrictMode(lm,e)}catch{}}var xo=Math.clz32?Math.clz32:KU,HU=Math.log,VU=Math.LN2;function KU(e){return e>>>=0,e===0?32:31-(HU(e)/VU|0)|0}var Gg=256,Yg=262144,Xg=4194304;function Ks(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64: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 e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function eh(e,t,r){var n=e.pendingLanes;if(n===0)return 0;var o=0,a=e.suspendedLanes,i=e.pingedLanes;e=e.warmLanes;var l=n&134217727;return l!==0?(n=l&~a,n!==0?o=Ks(n):(i&=l,i!==0?o=Ks(i):r||(r=l&~e,r!==0&&(o=Ks(r))))):(l=n&~a,l!==0?o=Ks(l):i!==0?o=Ks(i):r||(r=n&~e,r!==0&&(o=Ks(r)))),o===0?0:t!==0&&t!==o&&(t&a)===0&&(a=o&-o,r=t&-t,a>=r||a===32&&(r&4194048)!==0)?t:o}function sm(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function qU(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+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 t+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 WT(){var e=Xg;return Xg<<=1,(Xg&62914560)===0&&(Xg=4194304),e}function pS(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}function um(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function GU(e,t,r,n,o,a){var i=e.pendingLanes;e.pendingLanes=r,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=r,e.entangledLanes&=r,e.errorRecoveryDisabledLanes&=r,e.shellSuspendCounter=0;var l=e.entanglements,s=e.expirationTimes,u=e.hiddenUpdates;for(r=i&~r;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var RU=/[\n"\\]/g;function Go(e){return e.replace(RU,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function JS(e,t,r,n,o,a,i,l){e.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?e.type=i:e.removeAttribute("type"),t!=null?i==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Vo(t)):e.value!==""+Vo(t)&&(e.value=""+Vo(t)):i!=="submit"&&i!=="reset"||e.removeAttribute("value"),t!=null?RS(e,i,Vo(t)):r!=null?RS(e,i,Vo(r)):n!=null&&e.removeAttribute("value"),o==null&&a!=null&&(e.defaultChecked=!!a),o!=null&&(e.checked=o&&typeof o!="function"&&typeof o!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+Vo(l):e.removeAttribute("name")}function QT(e,t,r,n,o,a,i,l){if(a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"&&(e.type=a),t!=null||r!=null){if(!(a!=="submit"&&a!=="reset"||t!=null)){QS(e);return}r=r!=null?""+Vo(r):"",t=t!=null?""+Vo(t):r,l||t===e.value||(e.value=t),e.defaultValue=t}n=n??o,n=typeof n!="function"&&typeof n!="symbol"&&!!n,e.checked=l?e.checked:!!n,e.defaultChecked=!!n,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.name=i),QS(e)}function RS(e,t,r){t==="number"&&Oy(e.ownerDocument)===e||e.defaultValue===""+r||(e.defaultValue=""+r)}function qc(e,t,r,n){if(e=e.options,t){t={};for(var o=0;o"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),t2=!1;if(Ei)try{Ec={},Object.defineProperty(Ec,"passive",{get:function(){t2=!0}}),window.addEventListener("test",Ec,Ec),window.removeEventListener("test",Ec,Ec)}catch{t2=!1}var Ec,Tl=null,K2=null,fy=null;function r4(){if(fy)return fy;var e,t=K2,r=t.length,n,o="value"in Tl?Tl.value:Tl.textContent,a=o.length;for(e=0;e=Dp),wO=" ",SO=!1;function o4(e,t){switch(e){case"keyup":return _W.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function a4(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Lc=!1;function OW(e,t){switch(e){case"compositionend":return a4(t);case"keypress":return t.which!==32?null:(SO=!0,wO);case"textInput":return e=t.data,e===wO&&SO?null:e;default:return null}}function TW(e,t){if(Lc)return e==="compositionend"||!G2&&o4(e,t)?(e=r4(),fy=K2=Tl=null,Lc=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=NO(r)}}function u4(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?u4(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function c4(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Oy(e.document);t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch{r=!1}if(r)e=t.contentWindow;else break;t=Oy(e.document)}return t}function Y2(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var BW=Ei&&"documentMode"in document&&11>=document.documentMode,Bc=null,r2=null,jp=null,n2=!1;function EO(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;n2||Bc==null||Bc!==Oy(n)||(n=Bc,"selectionStart"in n&&Y2(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),jp&&Xp(jp,n)||(jp=n,n=Gy(r2,"onSelect"),0>=i,o-=i,Va=1<<32-xo(t)+o|r<k?(A=T,T=null):A=T.sibling;var M=f(v,T,b[k],x);if(M===null){T===null&&(T=A);break}e&&T&&M.alternate===null&&t(v,T),y=a(M,y,k),w===null?S=M:w.sibling=M,w=M,T=A}if(k===b.length)return r(v,T),wt&&bi(v,k),S;if(T===null){for(;kk?(A=T,T=null):A=T.sibling;var H=f(v,T,M.value,x);if(H===null){T===null&&(T=A);break}e&&T&&H.alternate===null&&t(v,T),y=a(H,y,k),w===null?S=H:w.sibling=H,w=H,T=A}if(M.done)return r(v,T),wt&&bi(v,k),S;if(T===null){for(;!M.done;k++,M=b.next())M=d(v,M.value,x),M!==null&&(y=a(M,y,k),w===null?S=M:w.sibling=M,w=M);return wt&&bi(v,k),S}for(T=n(T);!M.done;k++,M=b.next())M=p(T,v,k,M.value,x),M!==null&&(e&&M.alternate!==null&&T.delete(M.key===null?k:M.key),y=a(M,y,k),w===null?S=M:w.sibling=M,w=M);return e&&T.forEach(function(F){return t(v,F)}),wt&&bi(v,k),S}function h(v,y,b,x){if(typeof b=="object"&&b!==null&&b.type===Dc&&b.key===null&&(b=b.props.children),typeof b=="object"&&b!==null){switch(b.$$typeof){case qg:e:{for(var S=b.key;y!==null;){if(y.key===S){if(S=b.type,S===Dc){if(y.tag===7){r(v,y.sibling),x=o(y,b.props.children),x.return=v,v=x;break e}}else if(y.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===Al&&qs(S)===y.type){r(v,y.sibling),x=o(y,b.props),Ap(x,b),x.return=v,v=x;break e}r(v,y);break}else t(v,y);y=y.sibling}b.type===Dc?(x=Xs(b.props.children,v.mode,x,b.key),x.return=v,v=x):(x=my(b.type,b.key,b.props,null,v.mode,x),Ap(x,b),x.return=v,v=x)}return i(v);case Ep:e:{for(S=b.key;y!==null;){if(y.key===S)if(y.tag===4&&y.stateNode.containerInfo===b.containerInfo&&y.stateNode.implementation===b.implementation){r(v,y.sibling),x=o(y,b.children||[]),x.return=v,v=x;break e}else{r(v,y);break}else t(v,y);y=y.sibling}x=wS(b,v.mode,x),x.return=v,v=x}return i(v);case Al:return b=qs(b),h(v,y,b,x)}if(Op(b))return m(v,y,b,x);if(wp(b)){if(S=wp(b),typeof S!="function")throw Error(pe(150));return b=S.call(b),g(v,y,b,x)}if(typeof b.then=="function")return h(v,y,ty(b),x);if(b.$$typeof===Si)return h(v,y,ey(v,b),x);ry(v,b)}return typeof b=="string"&&b!==""||typeof b=="number"||typeof b=="bigint"?(b=""+b,y!==null&&y.tag===6?(r(v,y.sibling),x=o(y,b),x.return=v,v=x):(r(v,y),x=bS(b,v.mode,x),x.return=v,v=x),i(v)):r(v,y)}return function(v,y,b,x){try{Jp=0;var S=h(v,y,b,x);return Xc=null,S}catch(T){if(T===fd||T===ih)throw T;var w=vo(29,T,null,v.mode);return w.lanes=x,w.return=v,w}}}var tu=C4(!0),N4=C4(!1),kl=!1;function nA(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function c2(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function zl(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ll(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(Lt&2)!==0){var o=n.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),n.pending=t,t=My(e),y4(e,null,r),t}return ah(e,n,t,r),My(e)}function Lp(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194048)!==0)){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,VT(e,r)}}function AS(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var o=null,a=null;if(r=r.firstBaseUpdate,r!==null){do{var i={lane:r.lane,tag:r.tag,payload:r.payload,callback:null,next:null};a===null?o=a=i:a=a.next=i,r=r.next}while(r!==null);a===null?o=a=t:a=a.next=t}else o=a=t;r={baseState:n.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:n.shared,callbacks:n.callbacks},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}var d2=!1;function Bp(){if(d2){var e=Yc;if(e!==null)throw e}}function $p(e,t,r,n){d2=!1;var o=e.updateQueue;kl=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,l=o.shared.pending;if(l!==null){o.shared.pending=null;var s=l,u=s.next;s.next=null,i===null?a=u:i.next=u,i=s;var c=e.alternate;c!==null&&(c=c.updateQueue,l=c.lastBaseUpdate,l!==i&&(l===null?c.firstBaseUpdate=u:l.next=u,c.lastBaseUpdate=s))}if(a!==null){var d=o.baseState;i=0,c=u=s=null,l=a;do{var f=l.lane&-536870913,p=f!==l.lane;if(p?(xt&f)===f:(n&f)===f){f!==0&&f===td&&(d2=!0),c!==null&&(c=c.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var m=e,g=l;f=t;var h=r;switch(g.tag){case 1:if(m=g.payload,typeof m=="function"){d=m.call(h,d,f);break e}d=m;break e;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,f=typeof m=="function"?m.call(h,d,f):m,f==null)break e;d=ur({},d,f);break e;case 2:kl=!0}}f=l.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=o.callbacks,p===null?o.callbacks=[f]:p.push(f))}else p={lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},c===null?(u=c=p,s=d):c=c.next=p,i|=f;if(l=l.next,l===null){if(l=o.shared.pending,l===null)break;p=l,l=p.next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}while(!0);c===null&&(s=d),o.baseState=s,o.firstBaseUpdate=u,o.lastBaseUpdate=c,a===null&&(o.shared.lanes=0),ql|=i,e.lanes=i,e.memoizedState=d}}function _4(e,t){if(typeof e!="function")throw Error(pe(191,e));e.call(t)}function E4(e,t){var r=e.callbacks;if(r!==null)for(e.callbacks=null,e=0;ea?a:8;var i=Ze.T,l={};Ze.T=l,gA(e,!1,t,r);try{var s=o(),u=Ze.S;if(u!==null&&u(l,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var c=GW(s,n);Fp(e,t,c,bo(e))}else Fp(e,t,n,bo(e))}catch(d){Fp(e,t,{then:function(){},status:"rejected",reason:d},bo())}finally{Bt.p=a,i!==null&&l.types!==null&&(i.types=l.types),Ze.T=i}}function RW(){}function g2(e,t,r,n){if(e.tag!==5)throw Error(pe(476));var o=R4(e).queue;J4(e,o,t,Ys,r===null?RW:function(){return e3(e),r(n)})}function R4(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Ys,baseState:Ys,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ti,lastRenderedState:Ys},next:null};var r={};return t.next={memoizedState:r,baseState:r,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ti,lastRenderedState:r},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function e3(e){var t=R4(e);t.next===null&&(t=e.alternate.memoizedState),Fp(e,t.next.queue,{},bo())}function vA(){return hn(nm)}function t3(){return Br().memoizedState}function r3(){return Br().memoizedState}function eH(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var r=bo();e=zl(r);var n=Ll(t,e,r);n!==null&&(Jn(n,t,r),Lp(n,t,r)),t={cache:eA()},e.payload=t;return}t=t.return}}function tH(e,t,r){var n=bo();r={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},ch(e)?o3(t,r):(r=Z2(e,t,r,n),r!==null&&(Jn(r,e,n),a3(r,t,n)))}function n3(e,t,r){var n=bo();Fp(e,t,r,n)}function Fp(e,t,r,n){var o={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null};if(ch(e))o3(t,o);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var i=t.lastRenderedState,l=a(i,r);if(o.hasEagerState=!0,o.eagerState=l,wo(l,i))return ah(e,t,o,0),Gt===null&&oh(),!1}catch{}if(r=Z2(e,t,o,n),r!==null)return Jn(r,e,n),a3(r,t,n),!0}return!1}function gA(e,t,r,n){if(n={lane:2,revertLane:CA(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},ch(e)){if(t)throw Error(pe(479))}else t=Z2(e,r,n,2),t!==null&&Jn(t,e,2)}function ch(e){var t=e.alternate;return e===lt||t!==null&&t===lt}function o3(e,t){Zc=Ly=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function a3(e,t,r){if((r&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,VT(e,r)}}var em={readContext:hn,use:sh,useCallback:Nr,useContext:Nr,useEffect:Nr,useImperativeHandle:Nr,useLayoutEffect:Nr,useInsertionEffect:Nr,useMemo:Nr,useReducer:Nr,useRef:Nr,useState:Nr,useDebugValue:Nr,useDeferredValue:Nr,useTransition:Nr,useSyncExternalStore:Nr,useId:Nr,useHostTransitionStatus:Nr,useFormState:Nr,useActionState:Nr,useOptimistic:Nr,useMemoCache:Nr,useCacheRefresh:Nr};em.useEffectEvent=Nr;var i3={readContext:hn,use:sh,useCallback:function(e,t){return $n().memoizedState=[e,t===void 0?null:t],e},useContext:hn,useEffect:HO,useImperativeHandle:function(e,t,r){r=r!=null?r.concat([e]):null,yy(4194308,4,G4.bind(null,t,e),r)},useLayoutEffect:function(e,t){return yy(4194308,4,e,t)},useInsertionEffect:function(e,t){yy(4,2,e,t)},useMemo:function(e,t){var r=$n();t=t===void 0?null:t;var n=e();if(ru){Ol(!0);try{e()}finally{Ol(!1)}}return r.memoizedState=[n,t],n},useReducer:function(e,t,r){var n=$n();if(r!==void 0){var o=r(t);if(ru){Ol(!0);try{r(t)}finally{Ol(!1)}}}else o=t;return n.memoizedState=n.baseState=o,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:o},n.queue=e,e=e.dispatch=tH.bind(null,lt,e),[n.memoizedState,e]},useRef:function(e){var t=$n();return e={current:e},t.memoizedState=e},useState:function(e){e=m2(e);var t=e.queue,r=n3.bind(null,lt,t);return t.dispatch=r,[e.memoizedState,r]},useDebugValue:pA,useDeferredValue:function(e,t){var r=$n();return mA(r,e,t)},useTransition:function(){var e=m2(!1);return e=J4.bind(null,lt,e.queue,!0,!1),$n().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,r){var n=lt,o=$n();if(wt){if(r===void 0)throw Error(pe(407));r=r()}else{if(r=t(),Gt===null)throw Error(pe(349));(xt&127)!==0||D4(n,t,r)}o.memoizedState=r;var a={value:r,getSnapshot:t};return o.queue=a,HO(j4.bind(null,n,a,e),[e]),n.flags|=2048,nd(9,{destroy:void 0},I4.bind(null,n,a,r,t),null),r},useId:function(){var e=$n(),t=Gt.identifierPrefix;if(wt){var r=Ka,n=Va;r=(n&~(1<<32-xo(n)-1)).toString(32)+r,t="_"+t+"R_"+r,r=By++,0<\/script>",a=a.removeChild(a.firstChild);break;case"select":a=typeof n.is=="string"?i.createElement("select",{is:n.is}):i.createElement("select"),n.multiple?a.multiple=!0:n.size&&(a.size=n.size);break;default:a=typeof n.is=="string"?i.createElement(o,{is:n.is}):i.createElement(o)}}a[gn]=t,a[Rn]=n;e:for(i=t.child;i!==null;){if(i.tag===5||i.tag===6)a.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break e;for(;i.sibling===null;){if(i.return===null||i.return===t)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}t.stateNode=a;e:switch(xn(a,o,n),o){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}n&&gi(t)}}return lr(t),MS(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,r),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&gi(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(pe(166));if(e=Il.current,Oc(t)){if(e=t.stateNode,r=t.memoizedProps,n=null,o=yn,o!==null)switch(o.tag){case 27:case 5:n=o.memoizedProps}e[gn]=t,e=!!(e.nodeValue===r||n!==null&&n.suppressHydrationWarning===!0||nM(e.nodeValue,r)),e||Vl(t,!0)}else e=Yy(e).createTextNode(n),e[gn]=t,t.stateNode=e}return lr(t),null;case 31:if(r=t.memoizedState,e===null||e.memoizedState!==null){if(n=Oc(t),r!==null){if(e===null){if(!n)throw Error(pe(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(pe(557));e[gn]=t}else Rs(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;lr(t),e=!1}else r=SS(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),e=!0;if(!e)return t.flags&256?(mo(t),t):(mo(t),null);if((t.flags&128)!==0)throw Error(pe(558))}return lr(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(o=Oc(t),n!==null&&n.dehydrated!==null){if(e===null){if(!o)throw Error(pe(318));if(o=t.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(pe(317));o[gn]=t}else Rs(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;lr(t),o=!1}else o=SS(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=o),o=!0;if(!o)return t.flags&256?(mo(t),t):(mo(t),null)}return mo(t),(t.flags&128)!==0?(t.lanes=r,t):(r=n!==null,e=e!==null&&e.memoizedState!==null,r&&(n=t.child,o=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(o=n.alternate.memoizedState.cachePool.pool),a=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(a=n.memoizedState.cachePool.pool),a!==o&&(n.flags|=2048)),r!==e&&r&&(t.child.flags|=8192),ny(t,t.updateQueue),lr(t),null);case 4:return Jc(),e===null&&NA(t.stateNode.containerInfo),lr(t),null;case 10:return Ni(t.type),lr(t),null;case 19:if(sn(Lr),n=t.memoizedState,n===null)return lr(t),null;if(o=(t.flags&128)!==0,a=n.rendering,a===null)if(o)kp(n,!1);else{if(_r!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(a=zy(e),a!==null){for(t.flags|=128,kp(n,!1),e=a.updateQueue,t.updateQueue=e,ny(t,e),t.subtreeFlags=0,e=r,r=t.child;r!==null;)h4(r,e),r=r.sibling;return er(Lr,Lr.current&1|2),wt&&bi(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&&yo()>Wy&&(t.flags|=128,o=!0,kp(n,!1),t.lanes=4194304)}else{if(!o)if(e=zy(a),e!==null){if(t.flags|=128,o=!0,e=e.updateQueue,t.updateQueue=e,ny(t,e),kp(n,!0),n.tail===null&&n.tailMode==="hidden"&&!a.alternate&&!wt)return lr(t),null}else 2*yo()-n.renderingStartTime>Wy&&r!==536870912&&(t.flags|=128,o=!0,kp(n,!1),t.lanes=4194304);n.isBackwards?(a.sibling=t.child,t.child=a):(e=n.last,e!==null?e.sibling=a:t.child=a,n.last=a)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=yo(),e.sibling=null,r=Lr.current,er(Lr,o?r&1|2:r&1),wt&&bi(t,n.treeForkCount),e):(lr(t),null);case 22:case 23:return mo(t),oA(),n=t.memoizedState!==null,e!==null?e.memoizedState!==null!==n&&(t.flags|=8192):n&&(t.flags|=8192),n?(r&536870912)!==0&&(t.flags&128)===0&&(lr(t),t.subtreeFlags&6&&(t.flags|=8192)):lr(t),r=t.updateQueue,r!==null&&ny(t,r.retryQueue),r=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(r=e.memoizedState.cachePool.pool),n=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),n!==r&&(t.flags|=2048),e!==null&&sn(Zs),null;case 24:return r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),Ni(Kr),lr(t),null;case 25:return null;case 30:return null}throw Error(pe(156,t.tag))}function iH(e,t){switch(R2(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ni(Kr),Jc(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return _y(t),null;case 31:if(t.memoizedState!==null){if(mo(t),t.alternate===null)throw Error(pe(340));Rs()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(mo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(pe(340));Rs()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return sn(Lr),null;case 4:return Jc(),null;case 10:return Ni(t.type),null;case 22:case 23:return mo(t),oA(),e!==null&&sn(Zs),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Ni(Kr),null;case 25:return null;default:return null}}function h3(e,t){switch(R2(t),t.tag){case 3:Ni(Kr),Jc();break;case 26:case 27:case 5:_y(t);break;case 4:Jc();break;case 31:t.memoizedState!==null&&mo(t);break;case 13:mo(t);break;case 19:sn(Lr);break;case 10:Ni(t.type);break;case 22:case 23:mo(t),oA(),e!==null&&sn(Zs);break;case 24:Ni(Kr)}}function mm(e,t){try{var r=t.updateQueue,n=r!==null?r.lastEffect:null;if(n!==null){var o=n.next;r=o;do{if((r.tag&e)===e){n=void 0;var a=r.create,i=r.inst;n=a(),i.destroy=n}r=r.next}while(r!==o)}}catch(l){Wt(t,t.return,l)}}function Kl(e,t,r){try{var n=t.updateQueue,o=n!==null?n.lastEffect:null;if(o!==null){var a=o.next;n=a;do{if((n.tag&e)===e){var i=n.inst,l=i.destroy;if(l!==void 0){i.destroy=void 0,o=t;var s=r,u=l;try{u()}catch(c){Wt(o,s,c)}}}n=n.next}while(n!==a)}}catch(c){Wt(t,t.return,c)}}function x3(e){var t=e.updateQueue;if(t!==null){var r=e.stateNode;try{E4(t,r)}catch(n){Wt(e,e.return,n)}}}function b3(e,t,r){r.props=nu(e.type,e.memoizedProps),r.state=e.memoizedState;try{r.componentWillUnmount()}catch(n){Wt(e,t,n)}}function Up(e,t){try{var r=e.ref;if(r!==null){switch(e.tag){case 26:case 27:case 5:var n=e.stateNode;break;case 30:n=e.stateNode;break;default:n=e.stateNode}typeof r=="function"?e.refCleanup=r(n):r.current=n}}catch(o){Wt(e,t,o)}}function qa(e,t){var r=e.ref,n=e.refCleanup;if(r!==null)if(typeof n=="function")try{n()}catch(o){Wt(e,t,o)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof r=="function")try{r(null)}catch(o){Wt(e,t,o)}else r.current=null}function w3(e){var t=e.type,r=e.memoizedProps,n=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":r.autoFocus&&n.focus();break e;case"img":r.src?n.src=r.src:r.srcSet&&(n.srcset=r.srcSet)}}catch(o){Wt(e,e.return,o)}}function PS(e,t,r){try{var n=e.stateNode;NH(n,e.type,r,t),n[Rn]=t}catch(o){Wt(e,e.return,o)}}function S3(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Yl(e.type)||e.tag===4}function DS(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||S3(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Yl(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function w2(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?(r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r).insertBefore(e,t):(t=r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r,t.appendChild(e),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=Ai));else if(n!==4&&(n===27&&Yl(e.type)&&(r=e.stateNode,t=null),e=e.child,e!==null))for(w2(e,t,r),e=e.sibling;e!==null;)w2(e,t,r),e=e.sibling}function Uy(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(n!==4&&(n===27&&Yl(e.type)&&(r=e.stateNode),e=e.child,e!==null))for(Uy(e,t,r),e=e.sibling;e!==null;)Uy(e,t,r),e=e.sibling}function A3(e){var t=e.stateNode,r=e.memoizedProps;try{for(var n=e.type,o=t.attributes;o.length;)t.removeAttributeNode(o[0]);xn(t,n,r),t[gn]=e,t[Rn]=r}catch(a){Wt(e,e.return,a)}}var wi=!1,Vr=!1,IS=!1,rT=typeof WeakSet=="function"?WeakSet:Set,an=null;function lH(e,t){if(e=e.containerInfo,E2=Jy,e=c4(e),Y2(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var o=n.anchorOffset,a=n.focusNode;n=n.focusOffset;try{r.nodeType,a.nodeType}catch{r=null;break e}var i=0,l=-1,s=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var p;d!==r||o!==0&&d.nodeType!==3||(l=i+o),d!==a||n!==0&&d.nodeType!==3||(s=i+n),d.nodeType===3&&(i+=d.nodeValue.length),(p=d.firstChild)!==null;)f=d,d=p;for(;;){if(d===e)break t;if(f===r&&++u===o&&(l=i),f===a&&++c===n&&(s=i),(p=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=p}r=l===-1||s===-1?null:{start:l,end:s}}else r=null}r=r||{start:0,end:0}}else r=null;for(O2={focusedElem:e,selectionRange:r},Jy=!1,an=t;an!==null;)if(t=an,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,an=e;else for(;an!==null;){switch(t=an,a=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(r=0;r title"))),xn(a,n,r),a[gn]=e,ln(a),n=a;break e;case"link":var i=kT("link","href",o).get(n+(r.href||""));if(i){for(var l=0;lh&&(i=h,h=g,g=i);var v=_O(l,g),y=_O(l,h);if(v&&y&&(p.rangeCount!==1||p.anchorNode!==v.node||p.anchorOffset!==v.offset||p.focusNode!==y.node||p.focusOffset!==y.offset)){var b=d.createRange();b.setStart(v.node,v.offset),p.removeAllRanges(),g>h?(p.addRange(b),p.extend(y.node,y.offset)):(b.setEnd(y.node,y.offset),p.addRange(b))}}}}for(d=[],p=l;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;lr?32:r,Ze.T=null,r=k2,k2=null;var a=$l,i=_i;if(Qr=0,ad=$l=null,_i=0,(Lt&6)!==0)throw Error(pe(331));var l=Lt;if(Lt|=4,I3(a.current),M3(a,a.current,i,r),Lt=l,vm(0,!1),ho&&typeof ho.onPostCommitFiberRoot=="function")try{ho.onPostCommitFiberRoot(lm,a)}catch{}return!0}finally{Bt.p=o,Ze.T=n,X3(e,t)}}function iT(e,t,r){t=Yo(r,t),t=h2(e.stateNode,t,2),e=Ll(e,t,2),e!==null&&(um(e,2),Xa(e))}function Wt(e,t,r){if(e.tag===3)iT(e,e,r);else for(;t!==null;){if(t.tag===3){iT(t,e,r);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Bl===null||!Bl.has(n))){e=Yo(r,e),r=d3(2),n=Ll(t,r,2),n!==null&&(f3(r,n,t,e),um(n,2),Xa(n));break}}t=t.return}}function zS(e,t,r){var n=e.pingCache;if(n===null){n=e.pingCache=new cH;var o=new Set;n.set(t,o)}else o=n.get(t),o===void 0&&(o=new Set,n.set(t,o));o.has(r)||(SA=!0,o.add(r),e=vH.bind(null,e,t,r),t.then(e,e))}function vH(e,t,r){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&r,e.warmLanes&=~r,Gt===e&&(xt&r)===r&&(_r===4||_r===3&&(xt&62914560)===xt&&300>yo()-dh?(Lt&2)===0&&id(e,0):AA|=r,od===xt&&(od=0)),Xa(e)}function Q3(e,t){t===0&&(t=WT()),e=lu(e,t),e!==null&&(um(e,t),Xa(e))}function gH(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),Q3(e,r)}function yH(e,t){var r=0;switch(e.tag){case 31:case 13:var n=e.stateNode,o=e.memoizedState;o!==null&&(r=o.retryLane);break;case 19:n=e.stateNode;break;case 22:n=e.stateNode._retryCache;break;default:throw Error(pe(314))}n!==null&&n.delete(t),Q3(e,r)}function hH(e,t){return $2(e,t)}var Ky=null,Pc=null,N2=!1,qy=!1,LS=!1,Dl=0;function Xa(e){e!==Pc&&e.next===null&&(Pc===null?Ky=Pc=e:Pc=Pc.next=e),qy=!0,N2||(N2=!0,bH())}function vm(e,t){if(!LS&&qy){LS=!0;do for(var r=!1,n=Ky;n!==null;){if(!t)if(e!==0){var o=n.pendingLanes;if(o===0)var a=0;else{var i=n.suspendedLanes,l=n.pingedLanes;a=(1<<31-xo(42|e)+1)-1,a&=o&~(i&~l),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(r=!0,lT(n,a))}else a=xt,a=eh(n,n===Gt?a:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(a&3)===0||sm(n,a)||(r=!0,lT(n,a));n=n.next}while(r);LS=!1}}function xH(){J3()}function J3(){qy=N2=!1;var e=0;Dl!==0&&EH()&&(e=Dl);for(var t=yo(),r=null,n=Ky;n!==null;){var o=n.next,a=R3(n,t);a===0?(n.next=null,r===null?Ky=o:r.next=o,o===null&&(Pc=r)):(r=n,(e!==0||(a&3)!==0)&&(qy=!0)),n=o}Qr!==0&&Qr!==5||vm(e,!1),Dl!==0&&(Dl=0)}function R3(e,t){for(var r=e.suspendedLanes,n=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes&-62914561;0l)break;var c=s.transferSize,d=s.initiatorType;c&&mT(d)&&(s=s.responseEnd,i+=c*(s"u"?null:document;function sM(e,t,r){var n=md;if(n&&typeof t=="string"&&t){var o=Go(t);o='link[rel="'+e+'"][href="'+o+'"]',typeof r=="string"&&(o+='[crossorigin="'+r+'"]'),wT.has(o)||(wT.add(o),e={rel:e,crossOrigin:r,href:t},n.querySelector(o)===null&&(t=n.createElement("link"),xn(t,"link",e),ln(t),n.head.appendChild(t)))}}function LH(e){Di.D(e),sM("dns-prefetch",e,null)}function BH(e,t){Di.C(e,t),sM("preconnect",e,t)}function $H(e,t,r){Di.L(e,t,r);var n=md;if(n&&e&&t){var o='link[rel="preload"][as="'+Go(t)+'"]';t==="image"&&r&&r.imageSrcSet?(o+='[imagesrcset="'+Go(r.imageSrcSet)+'"]',typeof r.imageSizes=="string"&&(o+='[imagesizes="'+Go(r.imageSizes)+'"]')):o+='[href="'+Go(e)+'"]';var a=o;switch(t){case"style":a=ld(e);break;case"script":a=vd(e)}Jo.has(a)||(e=ur({rel:"preload",href:t==="image"&&r&&r.imageSrcSet?void 0:e,as:t},r),Jo.set(a,e),n.querySelector(o)!==null||t==="style"&&n.querySelector(gm(a))||t==="script"&&n.querySelector(ym(a))||(t=n.createElement("link"),xn(t,"link",e),ln(t),n.head.appendChild(t)))}}function FH(e,t){Di.m(e,t);var r=md;if(r&&e){var n=t&&typeof t.as=="string"?t.as:"script",o='link[rel="modulepreload"][as="'+Go(n)+'"][href="'+Go(e)+'"]',a=o;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":a=vd(e)}if(!Jo.has(a)&&(e=ur({rel:"modulepreload",href:e},t),Jo.set(a,e),r.querySelector(o)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(r.querySelector(ym(a)))return}n=r.createElement("link"),xn(n,"link",e),ln(n),r.head.appendChild(n)}}}function UH(e,t,r){Di.S(e,t,r);var n=md;if(n&&e){var o=Kc(n).hoistableStyles,a=ld(e);t=t||"default";var i=o.get(a);if(!i){var l={loading:0,preload:null};if(i=n.querySelector(gm(a)))l.loading=5;else{e=ur({rel:"stylesheet",href:e,"data-precedence":t},r),(r=Jo.get(a))&&_A(e,r);var s=i=n.createElement("link");ln(s),xn(s,"link",e),s._p=new Promise(function(u,c){s.onload=u,s.onerror=c}),s.addEventListener("load",function(){l.loading|=1}),s.addEventListener("error",function(){l.loading|=2}),l.loading|=4,wy(i,t,n)}i={type:"stylesheet",instance:i,count:1,state:l},o.set(a,i)}}}function WH(e,t){Di.X(e,t);var r=md;if(r&&e){var n=Kc(r).hoistableScripts,o=vd(e),a=n.get(o);a||(a=r.querySelector(ym(o)),a||(e=ur({src:e,async:!0},t),(t=Jo.get(o))&&EA(e,t),a=r.createElement("script"),ln(a),xn(a,"link",e),r.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},n.set(o,a))}}function HH(e,t){Di.M(e,t);var r=md;if(r&&e){var n=Kc(r).hoistableScripts,o=vd(e),a=n.get(o);a||(a=r.querySelector(ym(o)),a||(e=ur({src:e,async:!0,type:"module"},t),(t=Jo.get(o))&&EA(e,t),a=r.createElement("script"),ln(a),xn(a,"link",e),r.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},n.set(o,a))}}function ST(e,t,r,n){var o=(o=Il.current)?Xy(o):null;if(!o)throw Error(pe(446));switch(e){case"meta":case"title":return null;case"style":return typeof r.precedence=="string"&&typeof r.href=="string"?(t=ld(r.href),r=Kc(o).hoistableStyles,n=r.get(t),n||(n={type:"style",instance:null,count:0,state:null},r.set(t,n)),n):{type:"void",instance:null,count:0,state:null};case"link":if(r.rel==="stylesheet"&&typeof r.href=="string"&&typeof r.precedence=="string"){e=ld(r.href);var a=Kc(o).hoistableStyles,i=a.get(e);if(i||(o=o.ownerDocument||o,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},a.set(e,i),(a=o.querySelector(gm(e)))&&!a._p&&(i.instance=a,i.state.loading=5),Jo.has(e)||(r={rel:"preload",as:"style",href:r.href,crossOrigin:r.crossOrigin,integrity:r.integrity,media:r.media,hrefLang:r.hrefLang,referrerPolicy:r.referrerPolicy},Jo.set(e,r),a||VH(o,e,r,i.state))),t&&n===null)throw Error(pe(528,""));return i}if(t&&n!==null)throw Error(pe(529,""));return null;case"script":return t=r.async,r=r.src,typeof r=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=vd(r),r=Kc(o).hoistableScripts,n=r.get(t),n||(n={type:"script",instance:null,count:0,state:null},r.set(t,n)),n):{type:"void",instance:null,count:0,state:null};default:throw Error(pe(444,e))}}function ld(e){return'href="'+Go(e)+'"'}function gm(e){return'link[rel="stylesheet"]['+e+"]"}function uM(e){return ur({},e,{"data-precedence":e.precedence,precedence:null})}function VH(e,t,r,n){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?n.loading=1:(t=e.createElement("link"),n.preload=t,t.addEventListener("load",function(){return n.loading|=1}),t.addEventListener("error",function(){return n.loading|=2}),xn(t,"link",r),ln(t),e.head.appendChild(t))}function vd(e){return'[src="'+Go(e)+'"]'}function ym(e){return"script[async]"+e}function AT(e,t,r){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+Go(r.href)+'"]');if(n)return t.instance=n,ln(n),n;var o=ur({},r,{"data-href":r.href,"data-precedence":r.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),ln(n),xn(n,"style",o),wy(n,r.precedence,e),t.instance=n;case"stylesheet":o=ld(r.href);var a=e.querySelector(gm(o));if(a)return t.state.loading|=4,t.instance=a,ln(a),a;n=uM(r),(o=Jo.get(o))&&_A(n,o),a=(e.ownerDocument||e).createElement("link"),ln(a);var i=a;return i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),xn(a,"link",n),t.state.loading|=4,wy(a,r.precedence,e),t.instance=a;case"script":return a=vd(r.src),(o=e.querySelector(ym(a)))?(t.instance=o,ln(o),o):(n=r,(o=Jo.get(a))&&(n=ur({},r),EA(n,o)),e=e.ownerDocument||e,o=e.createElement("script"),ln(o),xn(o,"link",n),e.head.appendChild(o),t.instance=o);case"void":return null;default:throw Error(pe(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,wy(n,r.precedence,e));return t.instance}function wy(e,t,r){for(var n=r.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),o=n.length?n[n.length-1]:null,a=o,i=0;i title"):null)}function KH(e,t,r){if(r===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function cM(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function qH(e,t,r,n){if(r.type==="stylesheet"&&(typeof n.media!="string"||matchMedia(n.media).matches!==!1)&&(r.state.loading&4)===0){if(r.instance===null){var o=ld(n.href),a=t.querySelector(gm(o));if(a){t=a._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Zy.bind(e),t.then(e,e)),r.state.loading|=4,r.instance=a,ln(a);return}a=t.ownerDocument||t,n=uM(n),(o=Jo.get(o))&&_A(n,o),a=a.createElement("link"),ln(a);var i=a;i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),xn(a,"link",n),r.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(r,t),(t=r.state.preload)&&(r.state.loading&3)===0&&(e.count++,r=Zy.bind(e),t.addEventListener("load",r),t.addEventListener("error",r))}}var US=0;function GH(e,t){return e.stylesheets&&e.count===0&&Ay(e,e.stylesheets),0US?50:800)+t);return e.unsuspend=r,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(o)}}:null}function Zy(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ay(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Qy=null;function Ay(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Qy=new Map,t.forEach(YH,e),Qy=null,Zy.call(e))}function YH(e,t){if(!(t.state.loading&4)){var r=Qy.get(e);if(r)var n=r.get(null);else{r=new Map,Qy.set(e,r);for(var o=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a{"use strict";function xM(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(xM)}catch(e){console.error(e)}}xM(),bM.exports=hM()});var kP=on(AP=>{"use strict";var Id=re();function lK(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var sK=typeof Object.is=="function"?Object.is:lK,uK=Id.useState,cK=Id.useEffect,dK=Id.useLayoutEffect,fK=Id.useDebugValue;function pK(e,t){var r=t(),n=uK({inst:{value:r,getSnapshot:t}}),o=n[0].inst,a=n[1];return dK(function(){o.value=r,o.getSnapshot=t,Sk(o)&&a({inst:o})},[e,r,t]),cK(function(){return Sk(o)&&a({inst:o}),e(function(){Sk(o)&&a({inst:o})})},[e]),fK(r),r}function Sk(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!sK(e,r)}catch{return!0}}function mK(e,t){return t()}var vK=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?mK:pK;AP.useSyncExternalStore=Id.useSyncExternalStore!==void 0?Id.useSyncExternalStore:vK});var NP=on((rge,CP)=>{"use strict";CP.exports=kP()});var EP=on(_P=>{"use strict";var a0=re(),gK=NP();function yK(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var hK=typeof Object.is=="function"?Object.is:yK,xK=gK.useSyncExternalStore,bK=a0.useRef,wK=a0.useEffect,SK=a0.useMemo,AK=a0.useDebugValue;_P.useSyncExternalStoreWithSelector=function(e,t,r,n,o){var a=bK(null);if(a.current===null){var i={hasValue:!1,value:null};a.current=i}else i=a.current;a=SK(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),o!==void 0&&i.hasValue){var m=i.value;if(o(m,p))return d=m}return d=p}if(m=d,hK(c,p))return m;var g=n(p);return o!==void 0&&o(m,g)?(c=p,m):(c=p,d=g)}var u=!1,c,d,f=r===void 0?null:r;return[function(){return s(t())},f===null?void 0:function(){return s(f())}]},[t,r,n,o]);var l=xK(e,a[0],a[1]);return wK(function(){i.hasValue=!0,i.value=l},[l]),AK(l),l}});var TP=on((oge,OP)=>{"use strict";OP.exports=EP()});var y8=on(g8=>{"use strict";var $m=re();function _G(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var EG=typeof Object.is=="function"?Object.is:_G,OG=$m.useSyncExternalStore,TG=$m.useRef,MG=$m.useEffect,PG=$m.useMemo,DG=$m.useDebugValue;g8.useSyncExternalStoreWithSelector=function(e,t,r,n,o){var a=TG(null);if(a.current===null){var i={hasValue:!1,value:null};a.current=i}else i=a.current;a=PG(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),o!==void 0&&i.hasValue){var m=i.value;if(o(m,p))return d=m}return d=p}if(m=d,EG(c,p))return m;var g=n(p);return o!==void 0&&o(m,g)?(c=p,m):(c=p,d=g)}var u=!1,c,d,f=r===void 0?null:r;return[function(){return s(t())},f===null?void 0:function(){return s(f())}]},[t,r,n,o]);var l=OG(e,a[0],a[1]);return MG(function(){i.hasValue=!0,i.value=l},[l]),DG(l),l}});var x8=on((nhe,h8)=>{"use strict";h8.exports=y8()});var yC=on((VI,vx)=>{(function(e){"use strict";var t=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},n=!0,o="[DecimalError] ",a=o+"Invalid argument: ",i=o+"Exponent out of range: ",l=Math.floor,s=Math.pow,u=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,c,d=1e7,f=7,p=9007199254740991,m=l(p/f),g={};g.absoluteValue=g.abs=function(){var C=new this.constructor(this);return C.s&&(C.s=1),C},g.comparedTo=g.cmp=function(C){var _,z,D,E,j=this;if(C=new j.constructor(C),j.s!==C.s)return j.s||-C.s;if(j.e!==C.e)return j.e>C.e^j.s<0?1:-1;for(D=j.d.length,E=C.d.length,_=0,z=DC.d[_]^j.s<0?1:-1;return D===E?0:D>E^j.s<0?1:-1},g.decimalPlaces=g.dp=function(){var C=this,_=C.d.length-1,z=(_-C.e)*f;if(_=C.d[_],_)for(;_%10==0;_/=10)z--;return z<0?0:z},g.dividedBy=g.div=function(C){return b(this,new this.constructor(C))},g.dividedToIntegerBy=g.idiv=function(C){var _=this,z=_.constructor;return M(b(_,new z(C),0,1),z.precision)},g.equals=g.eq=function(C){return!this.cmp(C)},g.exponent=function(){return S(this)},g.greaterThan=g.gt=function(C){return this.cmp(C)>0},g.greaterThanOrEqualTo=g.gte=function(C){return this.cmp(C)>=0},g.isInteger=g.isint=function(){return this.e>this.d.length-2},g.isNegative=g.isneg=function(){return this.s<0},g.isPositive=g.ispos=function(){return this.s>0},g.isZero=function(){return this.s===0},g.lessThan=g.lt=function(C){return this.cmp(C)<0},g.lessThanOrEqualTo=g.lte=function(C){return this.cmp(C)<1},g.logarithm=g.log=function(C){var _,z=this,D=z.constructor,E=D.precision,j=E+5;if(C===void 0)C=new D(10);else if(C=new D(C),C.s<1||C.eq(c))throw Error(o+"NaN");if(z.s<1)throw Error(o+(z.s?"NaN":"-Infinity"));return z.eq(c)?new D(0):(n=!1,_=b(k(z,j),k(C,j),j),n=!0,M(_,E))},g.minus=g.sub=function(C){var _=this;return C=new _.constructor(C),_.s==C.s?H(_,C):h(_,(C.s=-C.s,C))},g.modulo=g.mod=function(C){var _,z=this,D=z.constructor,E=D.precision;if(C=new D(C),!C.s)throw Error(o+"NaN");return z.s?(n=!1,_=b(z,C,0,1).times(C),n=!0,z.minus(_)):M(new D(z),E)},g.naturalExponential=g.exp=function(){return x(this)},g.naturalLogarithm=g.ln=function(){return k(this)},g.negated=g.neg=function(){var C=new this.constructor(this);return C.s=-C.s||0,C},g.plus=g.add=function(C){var _=this;return C=new _.constructor(C),_.s==C.s?h(_,C):H(_,(C.s=-C.s,C))},g.precision=g.sd=function(C){var _,z,D,E=this;if(C!==void 0&&C!==!!C&&C!==1&&C!==0)throw Error(a+C);if(_=S(E)+1,D=E.d.length-1,z=D*f+1,D=E.d[D],D){for(;D%10==0;D/=10)z--;for(D=E.d[0];D>=10;D/=10)z++}return C&&_>z?_:z},g.squareRoot=g.sqrt=function(){var C,_,z,D,E,j,R,U=this,L=U.constructor;if(U.s<1){if(!U.s)return new L(0);throw Error(o+"NaN")}for(C=S(U),n=!1,E=Math.sqrt(+U),E==0||E==1/0?(_=y(U.d),(_.length+C)%2==0&&(_+="0"),E=Math.sqrt(_),C=l((C+1)/2)-(C<0||C%2),E==1/0?_="5e"+C:(_=E.toExponential(),_=_.slice(0,_.indexOf("e")+1)+C),D=new L(_)):D=new L(E.toString()),z=L.precision,E=R=z+3;;)if(j=D,D=j.plus(b(U,j,R+2)).times(.5),y(j.d).slice(0,R)===(_=y(D.d)).slice(0,R)){if(_=_.slice(R-3,R+1),E==R&&_=="4999"){if(M(j,z+1,0),j.times(j).eq(U)){D=j;break}}else if(_!="9999")break;R+=4}return n=!0,M(D,z)},g.times=g.mul=function(C){var _,z,D,E,j,R,U,L,K,ae=this,de=ae.constructor,ze=ae.d,oe=(C=new de(C)).d;if(!ae.s||!C.s)return new de(0);for(C.s*=ae.s,z=ae.e+C.e,L=ze.length,K=oe.length,L=0;){for(_=0,E=L+D;E>D;)U=j[E]+oe[D]*ze[E-D-1]+_,j[E--]=U%d|0,_=U/d|0;j[E]=(j[E]+_)%d|0}for(;!j[--R];)j.pop();return _?++z:j.shift(),C.d=j,C.e=z,n?M(C,de.precision):C},g.toDecimalPlaces=g.todp=function(C,_){var z=this,D=z.constructor;return z=new D(z),C===void 0?z:(v(C,0,t),_===void 0?_=D.rounding:v(_,0,8),M(z,C+S(z)+1,_))},g.toExponential=function(C,_){var z,D=this,E=D.constructor;return C===void 0?z=F(D,!0):(v(C,0,t),_===void 0?_=E.rounding:v(_,0,8),D=M(new E(D),C+1,_),z=F(D,!0,C+1)),z},g.toFixed=function(C,_){var z,D,E=this,j=E.constructor;return C===void 0?F(E):(v(C,0,t),_===void 0?_=j.rounding:v(_,0,8),D=M(new j(E),C+S(E)+1,_),z=F(D.abs(),!1,C+S(D)+1),E.isneg()&&!E.isZero()?"-"+z:z)},g.toInteger=g.toint=function(){var C=this,_=C.constructor;return M(new _(C),S(C)+1,_.rounding)},g.toNumber=function(){return+this},g.toPower=g.pow=function(C){var _,z,D,E,j,R,U=this,L=U.constructor,K=12,ae=+(C=new L(C));if(!C.s)return new L(c);if(U=new L(U),!U.s){if(C.s<1)throw Error(o+"Infinity");return U}if(U.eq(c))return U;if(D=L.precision,C.eq(c))return M(U,D);if(_=C.e,z=C.d.length-1,R=_>=z,j=U.s,R){if((z=ae<0?-ae:ae)<=p){for(E=new L(c),_=Math.ceil(D/f+4),n=!1;z%2&&(E=E.times(U),X(E.d,_)),z=l(z/2),z!==0;)U=U.times(U),X(U.d,_);return n=!0,C.s<0?new L(c).div(E):M(E,D)}}else if(j<0)throw Error(o+"NaN");return j=j<0&&C.d[Math.max(_,z)]&1?-1:1,U.s=1,n=!1,E=C.times(k(U,D+K)),n=!0,E=x(E),E.s=j,E},g.toPrecision=function(C,_){var z,D,E=this,j=E.constructor;return C===void 0?(z=S(E),D=F(E,z<=j.toExpNeg||z>=j.toExpPos)):(v(C,1,t),_===void 0?_=j.rounding:v(_,0,8),E=M(new j(E),C,_),z=S(E),D=F(E,C<=z||z<=j.toExpNeg,C)),D},g.toSignificantDigits=g.tosd=function(C,_){var z=this,D=z.constructor;return C===void 0?(C=D.precision,_=D.rounding):(v(C,1,t),_===void 0?_=D.rounding:v(_,0,8)),M(new D(z),C,_)},g.toString=g.valueOf=g.val=g.toJSON=function(){var C=this,_=S(C),z=C.constructor;return F(C,_<=z.toExpNeg||_>=z.toExpPos)};function h(C,_){var z,D,E,j,R,U,L,K,ae=C.constructor,de=ae.precision;if(!C.s||!_.s)return _.s||(_=new ae(C)),n?M(_,de):_;if(L=C.d,K=_.d,R=C.e,E=_.e,L=L.slice(),j=R-E,j){for(j<0?(D=L,j=-j,U=K.length):(D=K,E=R,U=L.length),R=Math.ceil(de/f),U=R>U?R+1:U+1,j>U&&(j=U,D.length=1),D.reverse();j--;)D.push(0);D.reverse()}for(U=L.length,j=K.length,U-j<0&&(j=U,D=K,K=L,L=D),z=0;j;)z=(L[--j]=L[j]+K[j]+z)/d|0,L[j]%=d;for(z&&(L.unshift(z),++E),U=L.length;L[--U]==0;)L.pop();return _.d=L,_.e=E,n?M(_,de):_}function v(C,_,z){if(C!==~~C||C<_||C>z)throw Error(a+C)}function y(C){var _,z,D,E=C.length-1,j="",R=C[0];if(E>0){for(j+=R,_=1;_R?1:-1;else for(U=L=0;UE[U]?1:-1;break}return L}function z(D,E,j){for(var R=0;j--;)D[j]-=R,R=D[j]1;)D.shift()}return function(D,E,j,R){var U,L,K,ae,de,ze,oe,Ee,V,I,N,O,Z,B,we,ee,ue,W,xe=D.constructor,De=D.s==E.s?1:-1,Ge=D.d,it=E.d;if(!D.s)return new xe(D);if(!E.s)throw Error(o+"Division by zero");for(L=D.e-E.e,ue=it.length,we=Ge.length,oe=new xe(De),Ee=oe.d=[],K=0;it[K]==(Ge[K]||0);)++K;if(it[K]>(Ge[K]||0)&&--L,j==null?O=j=xe.precision:R?O=j+(S(D)-S(E))+1:O=j,O<0)return new xe(0);if(O=O/f+2|0,K=0,ue==1)for(ae=0,it=it[0],O++;(K1&&(it=C(it,ae),Ge=C(Ge,ae),ue=it.length,we=Ge.length),B=ue,V=Ge.slice(0,ue),I=V.length;I=d/2&&++ee;do ae=0,U=_(it,V,ue,I),U<0?(N=V[0],ue!=I&&(N=N*d+(V[1]||0)),ae=N/ee|0,ae>1?(ae>=d&&(ae=d-1),de=C(it,ae),ze=de.length,I=V.length,U=_(de,V,ze,I),U==1&&(ae--,z(de,ue16)throw Error(i+S(C));if(!C.s)return new ae(c);for(_==null?(n=!1,U=de):U=_,R=new ae(.03125);C.abs().gte(.1);)C=C.times(R),K+=5;for(D=Math.log(s(2,K))/Math.LN10*2+5|0,U+=D,z=E=j=new ae(c),ae.precision=U;;){if(E=M(E.times(C),U),z=z.times(++L),R=j.plus(b(E,z,U)),y(R.d).slice(0,U)===y(j.d).slice(0,U)){for(;K--;)j=M(j.times(j),U);return ae.precision=de,_==null?(n=!0,M(j,de)):j}j=R}}function S(C){for(var _=C.e*f,z=C.d[0];z>=10;z/=10)_++;return _}function w(C,_,z){if(_>C.LN10.sd())throw n=!0,z&&(C.precision=z),Error(o+"LN10 precision limit exceeded");return M(new C(C.LN10),_)}function T(C){for(var _="";C--;)_+="0";return _}function k(C,_){var z,D,E,j,R,U,L,K,ae,de=1,ze=10,oe=C,Ee=oe.d,V=oe.constructor,I=V.precision;if(oe.s<1)throw Error(o+(oe.s?"NaN":"-Infinity"));if(oe.eq(c))return new V(0);if(_==null?(n=!1,K=I):K=_,oe.eq(10))return _==null&&(n=!0),w(V,K);if(K+=ze,V.precision=K,z=y(Ee),D=z.charAt(0),j=S(oe),Math.abs(j)<15e14){for(;D<7&&D!=1||D==1&&z.charAt(1)>3;)oe=oe.times(C),z=y(oe.d),D=z.charAt(0),de++;j=S(oe),D>1?(oe=new V("0."+z),j++):oe=new V(D+"."+z.slice(1))}else return L=w(V,K+2,I).times(j+""),oe=k(new V(D+"."+z.slice(1)),K-ze).plus(L),V.precision=I,_==null?(n=!0,M(oe,I)):oe;for(U=R=oe=b(oe.minus(c),oe.plus(c),K),ae=M(oe.times(oe),K),E=3;;){if(R=M(R.times(ae),K),L=U.plus(b(R,new V(E),K)),y(L.d).slice(0,K)===y(U.d).slice(0,K))return U=U.times(2),j!==0&&(U=U.plus(w(V,K+2,I).times(j+""))),U=b(U,new V(de),K),V.precision=I,_==null?(n=!0,M(U,I)):U;U=L,E+=2}}function A(C,_){var z,D,E;for((z=_.indexOf("."))>-1&&(_=_.replace(".","")),(D=_.search(/e/i))>0?(z<0&&(z=D),z+=+_.slice(D+1),_=_.substring(0,D)):z<0&&(z=_.length),D=0;_.charCodeAt(D)===48;)++D;for(E=_.length;_.charCodeAt(E-1)===48;)--E;if(_=_.slice(D,E),_){if(E-=D,z=z-D-1,C.e=l(z/f),C.d=[],D=(z+1)%f,z<0&&(D+=f),Dm||C.e<-m))throw Error(i+z)}else C.s=0,C.e=0,C.d=[0];return C}function M(C,_,z){var D,E,j,R,U,L,K,ae,de=C.d;for(R=1,j=de[0];j>=10;j/=10)R++;if(D=_-R,D<0)D+=f,E=_,K=de[ae=0];else{if(ae=Math.ceil((D+1)/f),j=de.length,ae>=j)return C;for(K=j=de[ae],R=1;j>=10;j/=10)R++;D%=f,E=D-f+R}if(z!==void 0&&(j=s(10,R-E-1),U=K/j%10|0,L=_<0||de[ae+1]!==void 0||K%j,L=z<4?(U||L)&&(z==0||z==(C.s<0?3:2)):U>5||U==5&&(z==4||L||z==6&&(D>0?E>0?K/s(10,R-E):0:de[ae-1])%10&1||z==(C.s<0?8:7))),_<1||!de[0])return L?(j=S(C),de.length=1,_=_-j-1,de[0]=s(10,(f-_%f)%f),C.e=l(-_/f)||0):(de.length=1,de[0]=C.e=C.s=0),C;if(D==0?(de.length=ae,j=1,ae--):(de.length=ae+1,j=s(10,f-D),de[ae]=E>0?(K/s(10,R-E)%s(10,E)|0)*j:0),L)for(;;)if(ae==0){(de[0]+=j)==d&&(de[0]=1,++C.e);break}else{if(de[ae]+=j,de[ae]!=d)break;de[ae--]=0,j=1}for(D=de.length;de[--D]===0;)de.pop();if(n&&(C.e>m||C.e<-m))throw Error(i+S(C));return C}function H(C,_){var z,D,E,j,R,U,L,K,ae,de,ze=C.constructor,oe=ze.precision;if(!C.s||!_.s)return _.s?_.s=-_.s:_=new ze(C),n?M(_,oe):_;if(L=C.d,de=_.d,D=_.e,K=C.e,L=L.slice(),R=K-D,R){for(ae=R<0,ae?(z=L,R=-R,U=de.length):(z=de,D=K,U=L.length),E=Math.max(Math.ceil(oe/f),U)+2,R>E&&(R=E,z.length=1),z.reverse(),E=R;E--;)z.push(0);z.reverse()}else{for(E=L.length,U=de.length,ae=E0;--E)L[U++]=0;for(E=de.length;E>R;){if(L[--E]0?j=j.charAt(0)+"."+j.slice(1)+T(D):R>1&&(j=j.charAt(0)+"."+j.slice(1)),j=j+(E<0?"e":"e+")+E):E<0?(j="0."+T(-E-1)+j,z&&(D=z-R)>0&&(j+=T(D))):E>=R?(j+=T(E+1-R),z&&(D=z-E-1)>0&&(j=j+"."+T(D))):((D=E+1)0&&(E+1===R&&(j+="."),j+=T(D))),C.s<0?"-"+j:j}function X(C,_){if(C.length>_)return C.length=_,!0}function P(C){var _,z,D;function E(j){var R=this;if(!(R instanceof E))return new E(j);if(R.constructor=E,j instanceof E){R.s=j.s,R.e=j.e,R.d=(j=j.d)?j.slice():j;return}if(typeof j=="number"){if(j*0!==0)throw Error(a+j);if(j>0)R.s=1;else if(j<0)j=-j,R.s=-1;else{R.s=0,R.e=0,R.d=[0];return}if(j===~~j&&j<1e7){R.e=0,R.d=[j];return}return A(R,j.toString())}else if(typeof j!="string")throw Error(a+j);if(j.charCodeAt(0)===45?(j=j.slice(1),R.s=-1):R.s=1,u.test(j))A(R,j);else throw Error(a+j)}if(E.prototype=g,E.ROUND_UP=0,E.ROUND_DOWN=1,E.ROUND_CEIL=2,E.ROUND_FLOOR=3,E.ROUND_HALF_UP=4,E.ROUND_HALF_DOWN=5,E.ROUND_HALF_EVEN=6,E.ROUND_HALF_CEIL=7,E.ROUND_HALF_FLOOR=8,E.clone=P,E.config=E.set=Y,C===void 0&&(C={}),C)for(D=["precision","rounding","toExpNeg","toExpPos","LN10"],_=0;_=E[_+1]&&D<=E[_+2])this[z]=D;else throw Error(a+z+": "+D);if((D=C[z="LN10"])!==void 0)if(D==Math.LN10)this[z]=new this(D);else throw Error(a+z+": "+D);return this}r=P(r),r.default=r.Decimal=r,c=new r(1),typeof define=="function"&&define.amd?define(function(){return r}):typeof vx<"u"&&vx.exports?vx.exports=r:(e||(e=typeof self<"u"&&self&&self.self==self?self:Function("return this")()),e.Decimal=r)})(VI)});var $z=on((KCe,r_)=>{"use strict";var zee=Object.prototype.hasOwnProperty,Kn="~";function Tv(){}Object.create&&(Tv.prototype=Object.create(null),new Tv().__proto__||(Kn=!1));function Lee(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function Bz(e,t,r,n,o){if(typeof r!="function")throw new TypeError("The listener must be a function");var a=new Lee(r,n||e,o),i=Kn?Kn+t:t;return e._events[i]?e._events[i].fn?e._events[i]=[e._events[i],a]:e._events[i].push(a):(e._events[i]=a,e._eventsCount++),e}function $b(e,t){--e._eventsCount===0?e._events=new Tv:delete e._events[t]}function Mn(){this._events=new Tv,this._eventsCount=0}Mn.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)zee.call(r,n)&&t.push(Kn?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Mn.prototype.listeners=function(t){var r=Kn?Kn+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,a=n.length,i=new Array(a);o{"use strict";var f_=Symbol.for("react.transitional.element"),p_=Symbol.for("react.portal"),Rb=Symbol.for("react.fragment"),e1=Symbol.for("react.strict_mode"),t1=Symbol.for("react.profiler"),r1=Symbol.for("react.consumer"),n1=Symbol.for("react.context"),o1=Symbol.for("react.forward_ref"),a1=Symbol.for("react.suspense"),i1=Symbol.for("react.suspense_list"),l1=Symbol.for("react.memo"),s1=Symbol.for("react.lazy"),Sre=Symbol.for("react.view_transition"),Are=Symbol.for("react.client.reference");function pa(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case f_:switch(e=e.type,e){case Rb:case t1:case e1:case a1:case i1:case Sre:return e;default:switch(e=e&&e.$$typeof,e){case n1:case o1:case s1:case l1:return e;case r1:return e;default:return t}}case p_:return t}}}Qt.ContextConsumer=r1;Qt.ContextProvider=n1;Qt.Element=f_;Qt.ForwardRef=o1;Qt.Fragment=Rb;Qt.Lazy=s1;Qt.Memo=l1;Qt.Portal=p_;Qt.Profiler=t1;Qt.StrictMode=e1;Qt.Suspense=a1;Qt.SuspenseList=i1;Qt.isContextConsumer=function(e){return pa(e)===r1};Qt.isContextProvider=function(e){return pa(e)===n1};Qt.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===f_};Qt.isForwardRef=function(e){return pa(e)===o1};Qt.isFragment=function(e){return pa(e)===Rb};Qt.isLazy=function(e){return pa(e)===s1};Qt.isMemo=function(e){return pa(e)===l1};Qt.isPortal=function(e){return pa(e)===p_};Qt.isProfiler=function(e){return pa(e)===t1};Qt.isStrictMode=function(e){return pa(e)===e1};Qt.isSuspense=function(e){return pa(e)===a1};Qt.isSuspenseList=function(e){return pa(e)===i1};Qt.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Rb||e===t1||e===e1||e===a1||e===i1||typeof e=="object"&&e!==null&&(e.$$typeof===s1||e.$$typeof===l1||e.$$typeof===n1||e.$$typeof===r1||e.$$typeof===o1||e.$$typeof===Are||e.getModuleId!==void 0)};Qt.typeOf=pa});var QL=on((G_e,ZL)=>{"use strict";ZL.exports=XL()});var tU=te(re()),rU=te(wM());var rt=te(re());var Fe=te(re());var Mt=te(re()),uu={github:{emoji:"\u{1F419}",label:"GitHub"},ruby:{emoji:"\u{1F48E}",label:"Ruby"},rails:{emoji:"\u{1F6E4}\uFE0F",label:"Rails"},aws:{emoji:"\u2601\uFE0F",label:"AWS"},gcp:{emoji:"\u{1F310}",label:"GCP"},python:{emoji:"\u{1F40D}",label:"Python"},typescript:{emoji:"\u{1F4D8}",label:"TypeScript"},docker:{emoji:"\u{1F433}",label:"Docker"},kubernetes:{emoji:"\u2638\uFE0F",label:"Kubernetes"}},cu={terminal:{emoji:"\u{1F4BB}",label:"Terminal"},playwright:{emoji:"\u{1F3AD}",label:"Playwright"},filesystem:{emoji:"\u{1F4C1}",label:"Filesystem"},code:{emoji:"\u{1F468}\u200D\u{1F4BB}",label:"Code"},database:{emoji:"\u{1F5C4}\uFE0F",label:"Database"},slack:{emoji:"\u{1F4AC}",label:"Slack"},fetch:{emoji:"\u{1F310}",label:"Fetch"},search:{emoji:"\u{1F50D}",label:"Search"},edit:{emoji:"\u270F\uFE0F",label:"Edit"},translate:{emoji:"\u{1F30D}",label:"Translate"},memory:{emoji:"\u{1F9E0}",label:"Memory"},ui:{emoji:"\u{1F9E9}",label:"Generative UI"}},gd={terminal:{instructions:["github"],tools:["terminal","code"]},webDeveloper:{instructions:["typescript"],tools:["playwright","fetch"]},documentAnalysis:{instructions:["python"],tools:["database","search","code"]},writing:{instructions:["ruby"],tools:["edit","memory"]},translation:{instructions:["ruby","python","typescript"],tools:["translate","code"]},playwright:{instructions:["typescript"],tools:["playwright","fetch"]},research:{instructions:["github"],tools:["fetch","search","memory"]},imageAnalysis:{instructions:["python"],tools:["filesystem","code"]},computerUse:{instructions:["github"],tools:["terminal","playwright"]},productDesign:{instructions:["typescript"],tools:["playwright","code"]}};var rV=({id:e="mascot"})=>Mt.default.createElement("g",{stroke:"none",fill:"none",fillRule:"evenodd",strokeWidth:"1"},Mt.default.createElement("g",{transform:"translate(25, 475) scale(-1, 1) rotate(-180) translate(-25, -475) translate(0, 450)"},Mt.default.createElement("g",{fillRule:"nonzero"},Mt.default.createElement("path",{d:"M421,271.3 C422.733,265.1 423.667,244.633 423.8,209.9 C423.9,173.4 423.8,142.1 423.5,140.4 C423.1,137.9 412.5,126.8 373.1,87.2 C345.6,59.7 321.7,36.3 319.8,35.3 C316.7,33.6 312.5,33.5 250,33.5 C186.5,33.5 183.3,33.6 178.2,35.4 C173.5,37.2 168.3,42.1 125.2,85.3 C69.3,141.4 75.6,134.9 73.7,138.7 C72.3,141.3 72,147.2 71.8,178.6 C71.3,243.6 71.8,276 73.4,276 C74.067,276 99.6,304.854 150,362.563 L350.015,362.563 L421,271.3 Z",fill:"#EB5555",stroke:"#000000",strokeWidth:"12"})),Mt.default.createElement("path",{d:"M216.5,202.5 C213.4,199.5 213.4,198.7 216.5,193.4 C223.2,182 248.2,176 264.5,181.9 C273,185 280.3,190.1 282.4,194.5 C284,197.9 284,198.3 282.5,200.6 C281.6,202 279.8,203.6 278.5,204.2 C276.4,205.1 275.4,204.7 270.1,200.8 C263,195.4 254.7,193.3 244.4,194.4 C236.1,195.3 234.3,196 228.6,200.9 C223.1,205.6 220,206.1 216.5,202.5 Z",fill:"#000000",fillRule:"nonzero"}),Mt.default.createElement("path",{d:"M177.8,484.5 C169.1,482.1 162,475.2 157.7,465 C156.2,461.4 151.9,446.6 148.1,432 C144.3,417.4 140.7,404.3 140.1,402.8 L139,400 L94.8,400 C70.4,400 49.5,399.7 48.2,399.4 C45.1,398.5 42.7,393.8 43.9,390.8 C45.1,387.9 49.4,383.3 54,379.9 C68.7,369.2 86.3,364.8 120,363.4 C126.067,363.2 134.065,362.921 143.995,362.563 L350.015,362.563 C367.433,363.767 377.5,364.1 377.5,364.1 C411,365.2 433.1,371.5 446.2,383.8 C453.8,390.9 455.1,394.7 451.3,399 C451,399.3 429.6,399.7 403.7,400 L356.6,400.5 L353.3,412.5 C351.5,419.1 348.2,431.3 346.1,439.5 C339.9,463 336.7,470.5 329.4,477.5 C322.9,483.8 315.7,486.3 305.5,485.8 C298.1,485.4 296.1,484.7 280.5,477.8 C271.2,473.7 261.7,469.7 259.5,468.9 C250.9,466.1 238.1,467.9 224.9,473.8 C197.3,486.1 189.8,487.8 177.8,484.5 Z",stroke:"#000000",strokeWidth:"11",fill:"#000000",fillRule:"nonzero"}),Mt.default.createElement("g",{transform:"translate(75.105, 196.182)"},Mt.default.createElement("ellipse",{fill:"#F5E6D3",cx:"87",cy:"55",rx:"35",ry:"29"}),Mt.default.createElement("ellipse",{fill:"#5D4037",cx:"87",cy:"57",rx:"20",ry:"20"}),Mt.default.createElement("ellipse",{fill:"#2D1F1F",cx:"87",cy:"57",rx:"12",ry:"12"}),Mt.default.createElement("ellipse",{fill:"#FFFFFF",cx:"80",cy:"51",rx:"5",ry:"5"}),Mt.default.createElement("ellipse",{fill:"#F5E6D3",cx:"259",cy:"55",rx:"35",ry:"29"}),Mt.default.createElement("ellipse",{fill:"#5D4037",cx:"259",cy:"57",rx:"20",ry:"20"}),Mt.default.createElement("ellipse",{fill:"#2D1F1F",cx:"259",cy:"57",rx:"12",ry:"12"}),Mt.default.createElement("ellipse",{fill:"#FFFFFF",cx:"252",cy:"51",rx:"5",ry:"5"})),Mt.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},Mt.default.createElement("g",{transform:"translate(267.395, 54.835) scale(-1, 1) translate(-267.395, -54.835)"},Mt.default.createElement("path",{d:"M346.895,99.881 L335.287,108.67 L292.495,108.67 L211.805,108.67 C194.861,92.394 186.922,84.257 187.99,84.257 C188.99,84.257 187.689,77.518 187.99,71.118 C188.99,54.518 196.996,38.618 211.805,23.818 C219.711,15.918 222.813,13.518 230.118,10.018 C242.025,4.118 250.431,1.818 262.839,1.118 C274.147,0.518 285.354,2.218 295.561,6.018 C308.67,10.918 327.482,26.818 335.287,39.618 C342.092,50.918 346.895,65.818 346.895,76.018 C346.895,82.818 346.895,90.772 346.895,99.881 Z",stroke:"#000000",strokeWidth:"8",fill:"#000000",fillOpacity:"0.92"})),Mt.default.createElement("path",{d:"M158.895,99.881 L147.295,108.67 L104.531,108.67 L23.895,108.67 C6.961,92.394 -0.972,84.257 0.095,84.257 C1.095,84.257 -0.205,77.518 0.095,71.118 C1.095,54.518 9.095,38.618 23.895,23.818 C31.795,15.918 34.895,13.518 42.195,10.018 C54.095,4.118 62.495,1.818 74.895,1.118 C86.195,0.518 97.395,2.218 107.595,6.018 C120.695,10.918 139.495,26.818 147.295,39.618 C154.095,50.918 158.895,65.818 158.895,76.018 C158.895,82.818 158.895,90.772 158.895,99.881 Z",stroke:"#000000",strokeWidth:"8",fill:"#000000",fillOpacity:"0.92"})),Mt.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},Mt.default.createElement("path",{d:"M187.895,73.418 C187.895,60.818 195.095,43.418 205.495,30.818 C213.379,21.259 220.29,15.351 230.066,10.615 C233.275,8.66 236.386,7.08 239.229,6.018 C246.892,3.165 255.119,1.496 263.529,1.095 C267.063,0.859 270.58,0.912 274.131,1.261 C285.374,2.105 293.475,4.47 304.672,10.018 C311.734,13.402 314.868,15.757 322.213,23.049 L322.795,23.618 C326.306,27.085 329.397,30.586 332.082,34.15 L332.148,34.235 C341.116,45.994 346.03,58.349 346.8,71.118 C346.957,74.467 346.676,77.909 346.515,80.429 C346.693,80.646 346.917,80.701 347.195,80.618 C347.366,80.542 348.039,80.501 349.213,80.495 L349.775,80.495 C352.888,80.507 358.769,80.715 367.418,81.118 C374.646,86.469 378.26,91.703 378.26,96.818 C378.26,101.933 374.646,107.042 367.418,112.146 L15.403,112.146 L-20.38,113.348 C-27.807,110.322 -31.52,105.629 -31.52,99.27 C-31.52,92.911 -27.807,88.087 -20.38,84.798 C-13.63,84.605 -8.537,84.463 -5.101,84.373 C-5.115,84.296 -5.084,84.257 -5.01,84.257 C-4.01,84.257 -5.311,77.518 -5.01,71.118 C-4.01,54.518 3.996,38.618 18.805,23.818 C26.711,15.918 29.813,13.518 37.118,10.018 C49.025,4.118 57.431,1.818 69.839,1.118 C72.166,0.994 74.489,0.968 76.8,1.038 C76.165,1.058 75.53,1.084 74.895,1.118 C62.495,1.818 54.095,4.118 42.195,10.018 C34.895,13.518 31.795,15.918 23.895,23.818 C9.095,38.618 1.095,54.518 0.095,71.118 C-0.205,77.518 1.095,84.257 0.095,84.257 C-0.4,84.257 -2.131,84.296 -5.101,84.373 C-4.938,85.42 3.031,93.518 18.805,108.67 L142.287,108.67 L153.895,99.881 L153.895,76.018 C153.895,65.818 149.092,50.918 142.287,39.618 C134.482,26.818 115.67,10.918 102.561,6.018 C94.455,3 85.717,1.307 76.8,1.038 C87.451,0.716 97.968,2.432 107.595,6.018 C120.695,10.918 139.495,26.818 147.295,39.618 C154.095,50.918 158.895,65.818 158.895,76.018 L158.895,80.418 L164.995,80.418 C168.395,80.118 174.995,79.818 179.495,79.818 L187.895,79.818 L187.895,99.881 L199.502,108.67 L322.984,108.67 C339.929,92.394 347.867,84.257 346.8,84.257 C346.323,84.257 346.369,82.725 346.515,80.429 C346.051,79.868 345.895,78.223 345.895,75.118 C345.895,59.873 341.479,46.625 332.082,34.15 L331.696,33.647 C329.117,30.321 326.212,27.043 322.984,23.818 C322.722,23.556 322.465,23.299 322.213,23.049 C316.441,17.437 312.579,14.708 306.095,11.418 C294.424,5.583 284.144,2.245 274.131,1.261 C273.417,1.207 272.691,1.16 271.95,1.118 C269.132,0.968 266.321,0.962 263.529,1.095 C257.389,1.506 251.198,2.792 244.695,4.918 C239.073,6.731 234.301,8.563 230.066,10.615 C218.478,17.668 205.615,29.594 199.502,39.618 C192.698,50.917 187.895,65.817 187.895,76.017 L187.895,73.418 Z",stroke:"#000000",strokeWidth:"8",fill:"#000000"})),Mt.default.createElement("g",{transform:"translate(83.563, 252.212)",fill:"#FFFFFF",fillRule:"nonzero"},Mt.default.createElement("path",{d:"M12.837,35.288 C13.137,33.988 14.437,31.888 15.637,30.788 L17.837,28.788 L15.637,26.788 C14.437,25.688 13.137,23.588 12.837,22.288 C12.037,19.088 10.637,19.088 9.437,22.188 C8.937,23.488 7.537,25.588 6.237,26.788 C4.037,28.788 4.037,28.988 5.737,29.988 C6.837,30.488 8.237,32.488 9.037,34.388 C10.737,38.388 11.937,38.688 12.837,35.288 Z M29.237,33.088 C30.137,29.688 31.837,27.088 34.937,24.088 L39.337,19.888 L36.337,17.788 C33.437,15.588 28.437,7.288 28.437,4.288 C28.437,2.188 26.537,2.388 25.837,4.588 C23.937,10.388 21.637,14.388 18.337,17.188 L14.537,20.388 L17.337,22.088 C19.837,23.588 24.337,30.988 25.837,36.088 C26.737,39.088 27.937,37.988 29.237,33.088 Z M10.937,12.488 L13.037,9.288 L10.937,6.088 C8.837,2.788 7.437,1.888 7.437,3.988 C7.437,4.588 6.537,6.088 5.437,7.288 L3.437,9.488 L5.437,11.288 C6.537,12.288 7.437,13.688 7.437,14.488 C7.437,16.688 8.837,15.888 10.937,12.488 Z"}),Mt.default.createElement("path",{d:"M203.437,36.388 C203.437,35.588 204.637,33.588 206.037,31.888 L208.637,28.788 L206.037,25.688 C204.637,23.988 203.437,21.988 203.437,21.188 C203.437,18.588 201.437,19.788 200.037,23.188 C199.237,25.088 197.837,27.088 196.737,27.688 C195.037,28.688 195.037,28.788 197.037,30.188 C198.237,30.988 199.737,33.088 200.437,34.788 C201.737,37.888 203.437,38.788 203.437,36.388 Z M220.837,32.588 C221.937,29.288 224.237,25.788 226.737,23.388 C229.737,20.488 230.537,19.288 229.437,18.988 C226.637,17.988 222.437,12.588 220.737,7.688 C219.737,4.988 218.737,2.788 218.337,2.788 C218.037,2.788 216.737,5.288 215.537,8.288 C214.337,11.288 211.737,15.088 209.837,16.688 C205.937,20.188 205.637,21.388 208.437,22.288 C210.937,23.088 214.737,28.788 216.437,34.088 C217.037,36.088 217.937,37.788 218.237,37.788 C218.637,37.788 219.837,35.388 220.837,32.588 Z M201.137,14.088 C201.437,13.088 202.437,11.488 203.337,10.488 C204.337,9.288 204.537,8.388 203.837,7.988 C203.237,7.588 202.237,6.288 201.537,5.088 C200.137,2.388 198.837,2.188 198.037,4.588 C197.737,5.488 196.937,6.988 196.337,7.888 C195.337,9.288 195.437,9.888 196.737,11.288 C197.637,12.188 198.437,13.588 198.437,14.388 C198.437,16.388 200.337,16.188 201.137,14.088 Z"}))));function wr({size:e=200,instructions:t=[],tools:r=[],showDecorations:n=!1,className:o="",hat:a,hatAccessory:i,heldItem:l,theme:s,customColors:u}){return Mt.default.createElement("div",{className:`inline-flex flex-col items-center ${o}`},n&&t.length>0&&Mt.default.createElement("div",{className:"flex gap-1 mb-1"},t.map(c=>{let d=uu[c];return d?Mt.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})),Mt.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500",width:e,height:e,role:"img","aria-label":"Active Agent mascot"},Mt.default.createElement("title",null,"ActiveAgent"),Mt.default.createElement(rV,null)),n&&r.length>0&&Mt.default.createElement("div",{className:"flex gap-1 mt-1"},r.map(c=>{let d=cu[c];return d?Mt.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})))}var to=te(re());var _a=te(re()),SM=(0,_a.createContext)();function AM({children:e}){let[t,r]=(0,_a.useState)(()=>{let o=localStorage.getItem("dashboard-theme");return o?o==="dark":window.matchMedia("(prefers-color-scheme: dark)").matches});(0,_a.useEffect)(()=>{localStorage.setItem("dashboard-theme",t?"dark":"light")},[t]),(0,_a.useEffect)(()=>{let o=window.matchMedia("(prefers-color-scheme: dark)"),a=i=>{localStorage.getItem("dashboard-theme")||r(i.matches)};return o.addEventListener("change",a),()=>o.removeEventListener("change",a)},[]);let n=()=>r(!t);return _a.default.createElement(SM.Provider,{value:{darkMode:t,toggleDarkMode:n}},e)}function Nt(){let e=(0,_a.useContext)(SM);if(!e)throw new Error("useTheme must be used within a ThemeProvider");return e}function yd({name:e,subtitle:t,badge:r,accentColor:n,stats:o=[],footer:a,onClick:i,actions:l}){let{darkMode:s}=Nt(),[u,c]=to.default.useState(!1),d={cardBg:s?"rgba(255,255,255,0.05)":"#ffffff",border:s?"rgba(255,255,255,0.1)":"#e5e7eb",borderHover:s?"rgba(255,255,255,0.2)":"#d1d5db",tileBg:s?"rgba(255,255,255,0.05)":"#f9fafb",textPrimary:s?"#f9fafb":"#111827",textSecondary:s?"#9ca3af":"#6b7280",textMuted:s?"#6b7280":"#9ca3af"},f=p=>p==="good"?s?"#4ade80":"#16a34a":p==="warn"?s?"#facc15":"#ca8a04":p==="bad"?s?"#f87171":"#dc2626":p==="muted"?d.textMuted:d.textPrimary;return to.default.createElement("div",{"data-testid":"agent-card","data-agent-name":typeof e=="string"?e:void 0,onClick:i,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),role:i?"button":void 0,tabIndex:i?0:void 0,onKeyDown:p=>{i&&(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),i(p))},style:{background:d.cardBg,borderTop:`1px solid ${u?d.borderHover:d.border}`,borderRight:`1px solid ${u?d.borderHover:d.border}`,borderBottom:`1px solid ${u?d.borderHover:d.border}`,borderLeft:n?`4px solid ${n}`:`1px solid ${u?d.borderHover:d.border}`,borderRadius:"12px",padding:"16px",cursor:i?"pointer":"default",transition:"border-color 0.15s ease, box-shadow 0.15s ease",boxShadow:u&&i?"0 4px 16px rgba(0,0,0,0.08)":"none",display:"flex",flexDirection:"column",gap:"12px"}},to.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"8px"}},to.default.createElement("div",{style:{minWidth:0}},to.default.createElement("div",{style:{fontWeight:600,fontSize:"15px",color:u&&i?"#ef4444":d.textPrimary,transition:"color 0.15s ease",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e},e),t&&to.default.createElement("div",{style:{fontSize:"13px",color:d.textSecondary,marginTop:"2px",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"}},t)),r&&to.default.createElement("div",{style:{flexShrink:0}},r)),o.length>0&&to.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"6px"}},o.map(p=>to.default.createElement("div",{key:p.label,title:p.title,style:{background:d.tileBg,borderRadius:"8px",padding:"6px 8px",textAlign:"center"}},to.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,lineHeight:1.2,color:f(p.tone)}},p.value),to.default.createElement("div",{style:{fontSize:"10px",textTransform:"uppercase",letterSpacing:"0.04em",color:d.textMuted,whiteSpace:"nowrap"}},p.label)))),a&&to.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"8px",fontSize:"12px",color:d.textMuted}},a),l&&to.default.createElement("div",{style:{opacity:u?1:0,transition:"opacity 0.15s ease"}},l))}function DA(e){return e==null?"muted":e>=.85?"good":e>=.7?"warn":"bad"}var nV=[{value:"recent",label:"Recently updated"},{value:"popular",label:"Most runs"},{value:"longest",label:"Longest average"},{value:"cost",label:"Highest cost"},{value:"tokens",label:"Most tokens"}];function IA({agents:e,meta:t,onSelect:r,onNew:n,onBrowseTemplates:o,onDuplicate:a,onDelete:i,onRefresh:l,sort:s="recent",onSortChange:u,isLoading:c}){let[d,f]=(0,Fe.useState)(""),[p,m]=(0,Fe.useState)(""),[g,h]=(0,Fe.useState)(""),v=e.filter(k=>{let A=!d||k.name.toLowerCase().includes(d.toLowerCase())||k.description?.toLowerCase().includes(d.toLowerCase()),M=!p||k.provider===p,H=!g||k.status===g;return A&&M&&H}),y=k=>{let A=new Date(k),H=new Date-A,F=Math.floor(H/(1e3*60*60*24));return F===0?"Today":F===1?"Yesterday":F<7?`${F} days ago`:A.toLocaleDateString()},b=k=>{switch(k){case"active":return"bg-green-100 text-green-700";case"draft":return"bg-yellow-100 text-yellow-700";case"archived":return"bg-gray-100 text-gray-500";default:return"bg-gray-100 text-gray-500"}},x=k=>k==null?"\u2014":k<1e3?`${Math.round(k)}ms`:`${(k/1e3).toFixed(1)}s`,S=k=>k==null?"\u2014":k>=1e6?`${(k/1e6).toFixed(1)}M`:k>=1e3?`${(k/1e3).toFixed(1)}k`:`${k}`,w=k=>k==null?"\u2014":k>0&&k<.01?"<$0.01":`$${k.toFixed(2)}`,T=k=>{if(!k)return"\u2014";let A=Math.floor((new Date-new Date(k))/(1e3*60*60*24));return A<=0?"Today":A<30?`${A}d ago`:new Date(k).toLocaleDateString()};return Fe.default.createElement("div",{className:"space-y-6"},Fe.default.createElement("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4"},Fe.default.createElement("div",{className:"flex-1 flex items-center space-x-4"},Fe.default.createElement("div",{className:"relative flex-1 max-w-md"},Fe.default.createElement("input",{type:"text",placeholder:"Search agents...",value:d,onChange:k=>f(k.target.value),className:"w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent"}),Fe.default.createElement("svg",{className:"absolute left-3 top-2.5 h-5 w-5 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fe.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"}))),Fe.default.createElement("select",{value:p,onChange:k=>m(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Fe.default.createElement("option",{value:""},"All Providers"),t.providers?.map(k=>Fe.default.createElement("option",{key:k,value:k},k.charAt(0).toUpperCase()+k.slice(1)))),Fe.default.createElement("select",{value:g,onChange:k=>h(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Fe.default.createElement("option",{value:""},"All Status"),Fe.default.createElement("option",{value:"active"},"Active"),Fe.default.createElement("option",{value:"draft"},"Draft"),Fe.default.createElement("option",{value:"archived"},"Archived")),Fe.default.createElement("select",{value:s,onChange:k=>u?.(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500",title:"Rank agents by their scorecard"},nV.map(k=>Fe.default.createElement("option",{key:k.value,value:k.value},k.label)))),Fe.default.createElement("div",{className:"flex items-center space-x-3"},Fe.default.createElement("button",{onClick:l,disabled:c,className:"p-2 text-gray-500 hover:text-gray-700 hover:bg-gray-100 rounded-lg transition-colors"},Fe.default.createElement("svg",{className:`h-5 w-5 ${c?"animate-spin":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fe.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"}))),Fe.default.createElement("button",{onClick:o,className:"flex items-center space-x-2 px-4 py-2 border border-gray-300 text-gray-700 rounded-lg hover:bg-gray-50 transition-colors"},Fe.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fe.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"})),Fe.default.createElement("span",null,"Browse Templates")),Fe.default.createElement("button",{onClick:n,className:"flex items-center space-x-2 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors"},Fe.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fe.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Fe.default.createElement("span",null,"New Agent")))),v.length>0?Fe.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6"},v.map(k=>{let A=k.stats||{},M=A.run_sources||[],H=M.length?`Counted from ${M.map(F=>F==="platform"?"dashboard runs":"reported telemetry").join(" + ")}`:void 0;return Fe.default.createElement(yd,{key:k.id,name:k.name,subtitle:k.description||"No description",badge:Fe.default.createElement("span",{className:`px-2 py-0.5 text-xs font-medium rounded-full ${b(k.status)}`},k.status),onClick:()=>r(k),stats:[{label:`Runs ${A.window_days||30}d`,value:A.runs??0,title:H},{label:"Success",value:A.success_rate!=null?`${Math.round(A.success_rate)}%`:"\u2014",tone:DA(A.success_rate!=null?A.success_rate/100:null)},{label:"Avg time",value:x(A.avg_duration_ms)},{label:A.eval_samples_evaluated?`Eval ${A.eval_samples_passed}/${A.eval_samples_evaluated}`:"Eval",title:A.eval_samples_evaluated?`Latest evaluation: ${A.eval_samples_passed} of ${A.eval_samples_evaluated} samples passed`:void 0,value:A.eval_score!=null?`${Math.round(A.eval_score*100)}%`:"\u2014",tone:DA(A.eval_score)},{label:"Tokens",value:S(A.tokens)},{label:"Cost",value:w(A.cost),title:"Estimated from token counts at each model's published rates",tone:A.cost==null?"muted":void 0}],footer:Fe.default.createElement(Fe.default.Fragment,null,Fe.default.createElement("span",{style:{display:"flex",alignItems:"center",gap:"6px",minWidth:0}},Fe.default.createElement("span",{style:{padding:"2px 6px",borderRadius:"4px",background:"rgba(128,128,128,0.15)",whiteSpace:"nowrap",flexShrink:0}},k.provider),Fe.default.createElement("span",{title:k.model,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},k.model)),Fe.default.createElement("span",{style:{whiteSpace:"nowrap"},title:`Updated ${y(k.updatedAt||k.updated_at)}`},A.last_run_at?`Last run ${T(A.last_run_at)}`:`Updated ${y(k.updatedAt||k.updated_at)}`)),actions:Fe.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"13px"}},Fe.default.createElement("button",{onClick:F=>{F.stopPropagation(),a(k.id)},className:"text-gray-500 hover:text-red-600 transition-colors"},"Duplicate"),Fe.default.createElement("button",{onClick:F=>{F.stopPropagation(),i(k.id)},className:"text-red-500 hover:text-red-700 transition-colors"},"Delete"))})})):Fe.default.createElement("div",{className:"text-center py-16"},Fe.default.createElement("div",{className:"inline-block mb-4"},Fe.default.createElement(wr,{size:100})),Fe.default.createElement("h3",{className:"text-lg font-medium text-gray-900 mb-2"},e.length===0?"No agents yet":"No matching agents"),Fe.default.createElement("p",{className:"text-gray-500 mb-6"},e.length===0?"Create your first AI agent to get started":"Try adjusting your search or filters"),e.length===0&&Fe.default.createElement("div",{className:"flex items-center justify-center space-x-4"},Fe.default.createElement("button",{onClick:o,className:"inline-flex items-center space-x-2 px-6 py-3 border-2 border-red-500 text-red-600 rounded-lg hover:bg-red-50 transition-colors"},Fe.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fe.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"})),Fe.default.createElement("span",null,"Browse Templates")),Fe.default.createElement("span",{className:"text-gray-400"},"or"),Fe.default.createElement("button",{onClick:n,className:"inline-flex items-center space-x-2 px-6 py-3 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors"},Fe.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fe.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Fe.default.createElement("span",null,"Create From Scratch")))))}var ge=te(re());var Yt={chevronRight:">",chevronDown:"v",chevronUp:"^",arrow:"->",arrowLeft:"<-",pipe:"|",corner:"+",branch:"|-",success:"[+]",error:"[!]",warning:"[?]",info:"[i]",pending:"[ ]",active:"[*]",add:"+",remove:"-",edit:"*",view:"@",run:">",stop:"x",refresh:"~",trace:"->",span:"|",metric:"#",log:">",agent:"@",action:"#",time:":",cost:"$",tokens:"T",memory:"M",nav:{agents:"@",newAgent:"+",demo:">",traces:"->",metrics:"#",evaluations:"=",interactions:"<>",benchmarks:"%%",replay:"[>]",tools:"[]",mcp:"{}",docs:"?",github:"*"},spans:{root:">",prompt:"*",generate:"|>",llm:">>",thinking:"..",tool:"[]",response:"<|"}};var Ve={mono:"'SF Mono', 'Fira Code', 'Consolas', monospace",sizes:{xs:"10px",sm:"11px",base:"13px",md:"14px",lg:"16px",xl:"20px",xxl:"24px"},weights:{normal:400,medium:500,semibold:600,bold:700}};var hd={openai:["gpt-5.1","gpt-5","gpt-5-mini","gpt-5-nano"],anthropic:["claude-opus-5","claude-fable-5","claude-sonnet-5","claude-opus-4-8","claude-haiku-4-5"],ollama:["qwen3:8b","llama3.2","mistral","gemma3"],openrouter:["anthropic/claude-sonnet-4.5","openai/gpt-5.1","meta-llama/llama-3.3-70b-instruct"]};async function yh(e){try{let t=await fetch(`/api/provider_models?provider=${encodeURIComponent(e)}`);if(t.ok){let r=await t.json();if(Array.isArray(r.models)&&r.models.length>0)return r.models}}catch{}return hd[e]||[]}var hh=[{id:"basics",label:"Basics",icon:"1"},{id:"configure",label:"Configure",icon:"2"},{id:"review",label:"Review",icon:"3"}];function jA({meta:e,onSave:t,onCancel:r,isLoading:n,initialDraft:o=null}){let[a,i]=(0,ge.useState)(0),[l,s]=(0,ge.useState)(hd),[u,c]=(0,ge.useState)({name:"",description:"",provider:"openai",model:hd.openai[0],instructions:"",preset_type:"terminal",instruction_sets:["github"],tools:["terminal","code"],model_config:{temperature:.7},...o?{name:o.name,description:o.description||"",instructions:o.instructions,provider:o.provider,model:o.model,tools:o.tools||[],instruction_sets:[],mcp_servers:[]}:{}});(0,ge.useEffect)(()=>{let h=!1;return yh(u.provider).then(v=>{if(h||v.length===0)return;let y=o?.provider===u.provider&&o.model?[...new Set([o.model,...v])]:v;s(b=>({...b,[u.provider]:y})),c(b=>y.includes(b.model)?b:{...b,model:y[0]})}),()=>{h=!0}},[u.provider]);let d=(h,v)=>{c(y=>({...y,[h]:v}))},f=(h,v)=>{c(y=>{let b=y[h]||[],x=b.includes(v)?b.filter(S=>S!==v):[...b,v];return{...y,[h]:x}})},p=h=>{if(d("preset_type",h),gd[h]){let v=gd[h];d("instruction_sets",[...v.instructions]),d("tools",[...v.tools])}},m=()=>{switch(a){case 0:return u.name.trim().length>=2;case 1:return!0;case 2:return!0;default:return!1}},g=()=>{t(u)};return ge.default.createElement("div",{className:"max-w-4xl mx-auto"},o&&ge.default.createElement("div",{className:"mb-4 p-4 rounded-lg border border-red-200 bg-red-50 text-sm text-gray-700"},"Prepared by your workspace assistant. Review the instructions, model, and tools before creating this agent."),ge.default.createElement("div",{className:"mb-8"},ge.default.createElement("div",{className:"flex items-center justify-between"},hh.map((h,v)=>ge.default.createElement("div",{key:h.id,className:"flex items-center"},ge.default.createElement("div",{className:`flex items-center justify-center w-10 h-10 rounded-full border-2 transition-colors ${vi(a-1),className:"px-6 py-2 border border-gray-300 rounded-lg text-gray-700 hover:bg-gray-50 transition-colors"},a===0?"Cancel":"Back"),ge.default.createElement("button",{onClick:a===hh.length-1?g:()=>i(a+1),disabled:!m()||n,className:`px-6 py-2 rounded-lg transition-colors ${m()&&!n?"bg-red-500 text-white hover:bg-red-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},a===hh.length-1?"Create Agent":"Continue")))}function oV({formData:e,updateField:t,providerModels:r}){return ge.default.createElement("div",{className:"space-y-6"},ge.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Basic Information"),ge.default.createElement("p",{className:"text-gray-500"},"Give your agent a name and configure its AI provider."),ge.default.createElement("div",{className:"space-y-4"},ge.default.createElement("div",null,ge.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Agent Name *"),ge.default.createElement("input",{type:"text",value:e.name,onChange:n=>t("name",n.target.value),placeholder:"My Awesome Agent",className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent"})),ge.default.createElement("div",null,ge.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Description"),ge.default.createElement("textarea",{value:e.description,onChange:n=>t("description",n.target.value),placeholder:"What does this agent do?",rows:3,className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent"})),ge.default.createElement("div",{className:"grid grid-cols-2 gap-4"},ge.default.createElement("div",null,ge.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Provider"),ge.default.createElement("select",{value:e.provider,onChange:n=>{t("provider",n.target.value),t("model",r[n.target.value][0])},className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Object.keys(r).map(n=>ge.default.createElement("option",{key:n,value:n},n.charAt(0).toUpperCase()+n.slice(1))))),ge.default.createElement("div",null,ge.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Model"),ge.default.createElement("select",{value:e.model,onChange:n=>t("model",n.target.value),className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},r[e.provider].map(n=>ge.default.createElement("option",{key:n,value:n},n))))),ge.default.createElement("div",null,ge.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Temperature: ",e.model_config.temperature),ge.default.createElement("input",{type:"range",min:"0",max:"1",step:"0.1",value:e.model_config.temperature,onChange:n=>t("model_config",{...e.model_config,temperature:parseFloat(n.target.value)}),className:"w-full accent-red-500"}),ge.default.createElement("div",{className:"flex justify-between text-xs text-gray-400"},ge.default.createElement("span",null,"Precise"),ge.default.createElement("span",null,"Creative")))))}function aV({formData:e,meta:t,toggleArrayItem:r,updateField:n,selectPreset:o}){let a=Object.keys(gd),i=Object.keys(uu),l=Object.keys(cu);return ge.default.createElement("div",{className:"space-y-6"},ge.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Configure Agent"),ge.default.createElement("p",{className:"text-gray-500"},"Choose a preset or customize instructions and tools."),ge.default.createElement("div",{className:"flex justify-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},ge.default.createElement("div",{className:"flex flex-col items-center"},ge.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(s=>{let u=uu[s];return u?ge.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})),ge.default.createElement(wr,{size:120}),ge.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(s=>{let u=cu[s];return u?ge.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})))),ge.default.createElement("div",null,ge.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},"Quick Presets"),ge.default.createElement("div",{className:"flex flex-wrap gap-2"},a.map(s=>ge.default.createElement("button",{key:s,onClick:()=>o(s),className:`px-4 py-2 rounded-lg border-2 text-sm transition-all ${e.preset_type===s?"border-red-500 bg-red-50 text-red-700":"border-gray-200 hover:border-gray-300 text-gray-600"}`},ge.default.createElement("span",{className:"capitalize"},s.replace(/([A-Z])/g," $1").trim()))))),ge.default.createElement("div",null,ge.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},ge.default.createElement("strong",null,"Instructions"),ge.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"System/developer messages")),ge.default.createElement("div",{className:"flex flex-wrap gap-2"},i.map(s=>{let u=uu[s];return ge.default.createElement("button",{key:s,onClick:()=>r("instruction_sets",s),className:`flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm transition-colors ${e.instruction_sets.includes(s)?"bg-red-500 text-white":"bg-gray-100 text-gray-700 hover:bg-gray-200"}`},ge.default.createElement("span",null,u.emoji),ge.default.createElement("span",null,u.label))}))),ge.default.createElement("div",null,ge.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},ge.default.createElement("strong",null,"Tools"),ge.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"MCPs and integrations")),ge.default.createElement("div",{className:"flex flex-wrap gap-2"},l.map(s=>{let u=cu[s];return ge.default.createElement("button",{key:s,onClick:()=>r("tools",s),className:`flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm transition-colors ${e.tools.includes(s)?"bg-red-500 text-white":"bg-gray-100 text-gray-700 hover:bg-gray-200"}`},ge.default.createElement("span",null,u.emoji),ge.default.createElement("span",null,u.label))}))),ge.default.createElement("div",null,ge.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-2"},"System Instructions"),ge.default.createElement("textarea",{value:e.instructions,onChange:s=>n("instructions",s.target.value),placeholder:"You are a helpful AI assistant that...",rows:4,className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent font-mono text-sm"})))}function iV({formData:e}){return ge.default.createElement("div",{className:"space-y-6"},ge.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Review Your Agent"),ge.default.createElement("p",{className:"text-gray-500"},"Confirm the configuration before creating your agent."),ge.default.createElement("div",{className:"grid grid-cols-2 gap-8"},ge.default.createElement("div",{className:"flex flex-col items-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},ge.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(t=>{let r=uu[t];return r?ge.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),ge.default.createElement(wr,{size:100}),ge.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(t=>{let r=cu[t];return r?ge.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),ge.default.createElement("h3",{className:"mt-4 text-lg font-semibold text-gray-900"},e.name),ge.default.createElement("p",{className:"text-sm text-gray-500"},e.description||"No description")),ge.default.createElement("div",{className:"space-y-4"},ge.default.createElement("div",null,ge.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Provider / Model"),ge.default.createElement("p",{className:"text-gray-900"},e.provider," / ",e.model)),ge.default.createElement("div",null,ge.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Temperature"),ge.default.createElement("p",{className:"text-gray-900"},e.model_config.temperature)),ge.default.createElement("div",null,ge.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Instructions"),ge.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.instruction_sets.length>0?e.instruction_sets.map(t=>{let r=uu[t];return r?ge.default.createElement("span",{key:t,className:"px-2 py-0.5 bg-gray-100 rounded text-xs"},r.emoji," ",r.label):null}):ge.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))),ge.default.createElement("div",null,ge.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Tools"),ge.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.tools.length>0?e.tools.map(t=>{let r=cu[t];return r?ge.default.createElement("span",{key:t,className:"px-2 py-0.5 bg-red-100 text-red-700 rounded text-xs"},r.emoji," ",r.label):null}):ge.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))))),e.instructions&&ge.default.createElement("div",null,ge.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"System Instructions"),ge.default.createElement("pre",{className:"mt-2 p-4 bg-gray-50 rounded-lg text-sm text-gray-700 whitespace-pre-wrap font-mono"},e.instructions)))}var le=te(re());var Ro=e=>({cardBg:e?"#1f1f1f":"#ffffff",cardBorder:e?"#2a2a2a":"#e5e7eb",borderStrong:e?"rgba(255,255,255,0.2)":"#d1d5db",mutedBg:e?"rgba(255,255,255,0.06)":"#f3f4f6",innerBg:e?"rgba(255,255,255,0.04)":"#f9fafb",textPrimary:e?"#ffffff":"#111827",textCell:e?"rgba(255,255,255,0.75)":"#4b5563",textSecondary:e?"rgba(255,255,255,0.6)":"#6b7280",textMuted:e?"rgba(255,255,255,0.4)":"#9ca3af",inputBg:e?"rgba(255,255,255,0.06)":"#ffffff",inputBorder:e?"rgba(255,255,255,0.2)":"#d1d5db",trackBg:e?"rgba(255,255,255,0.1)":"#f3f4f6"}),bn="#ef4444";var $=te(re());var xh=te(re()),EM=te(re());function kM(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t{var r=e.children,n=e.width,o=e.height,a=e.viewBox,i=e.className,l=e.style,s=e.title,u=e.desc,c=dV(e,cV),d=a||{width:n,height:o,x:0,y:0},f=He("recharts-surface",i);return xh.createElement("svg",BA({},dr(c),{className:f,width:n,height:o,style:l,viewBox:"".concat(d.x," ").concat(d.y," ").concat(d.width," ").concat(d.height),ref:t}),xh.createElement("title",null,s),xh.createElement("desc",null,u),r)});var bh=te(re());var pV=["children","className"];function $A(){return $A=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,o=mV(e,pV),a=He("recharts-layer",n);return bh.createElement("g",$A({className:a},dr(o),{ref:t}),r)});var Oo=te(re()),G0=te(re()),E8=te(bp());function wh(e){return e==="__proto__"}var gV=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function Sh(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e===""||e.startsWith(".")||e.endsWith(".")?!1:gV.test(e);default:return!1}}function xd(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function FA(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(FA).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function bd(e){if(Array.isArray(e))return e.map(xd);if(typeof e=="symbol")return[e];e=FA(e);let t=[],r=e.length;if(r===0)return t;let n=0,o="",a="",i=!1;for(e.charCodeAt(0)===46&&t.push("");n1&&arguments[1]!==void 0?arguments[1]:hV,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function Rr(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var l=r[i-1];return typeof l=="string"?o+l+a:l!==void 0?o+ea(l)+a:o+a},"")}var Xt=e=>e===0?0:e>0?1:-1,cn=e=>typeof e=="number"&&e!=+e,Ii=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,Se=e=>(typeof e=="number"||e instanceof Number)&&!cn(e),Fn=e=>Se(e)||typeof e=="string",xV=0,ji=e=>{var t=++xV;return"".concat(e||"").concat(t)},Sr=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Se(t)&&typeof t!="string")return n;var a;if(Ii(t)){if(r==null)return n;var i=t.indexOf("%");a=r*parseFloat(t.slice(0,i))/100}else a=+t;return cn(a)&&(a=n),o&&r!=null&&a>r&&(a=r),a},UA=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):un(n,t))===r)}var mt=e=>e===null||typeof e>"u",zi=e=>mt(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function en(e){return e!=null}function Un(){}function bm(e){if(e)return{x:e.x,y:e.y,upperWidth:"upperWidth"in e?e.upperWidth:e.width,lowerWidth:"lowerWidth"in e?e.lowerWidth:e.width,width:e.width,height:e.height}}function OM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Za(e){for(var t=1;t{var t=e.viewBox,r=e.position,n=e.offset,o=n===void 0?0:n,a=e.parentViewBox,i=e.clamp,l=bm(t),s=l.x,u=l.y,c=l.height,d=l.upperWidth,f=l.lowerWidth,p=s,m=s+(d-f)/2,g=(p+m)/2,h=(d+f)/2,v=p+d/2,y=c>=0?1:-1,b=y*o,x=y>0?"end":"start",S=y>0?"start":"end",w=d>=0?1:-1,T=w*o,k=w>0?"end":"start",A=w>0?"start":"end",M=a;if(r==="top"){var H={x:p+d/2,y:u-b,horizontalAnchor:"middle",verticalAnchor:x};return i&&M&&(H.height=Math.max(u-M.y,0),H.width=d),H}if(r==="bottom"){var F={x:m+f/2,y:u+c+b,horizontalAnchor:"middle",verticalAnchor:S};return i&&M&&(F.height=Math.max(M.y+M.height-(u+c),0),F.width=f),F}if(r==="left"){var X={x:g-T,y:u+c/2,horizontalAnchor:k,verticalAnchor:"middle"};return i&&M&&(X.width=Math.max(X.x-M.x,0),X.height=c),X}if(r==="right"){var P={x:g+h+T,y:u+c/2,horizontalAnchor:A,verticalAnchor:"middle"};return i&&M&&(P.width=Math.max(M.x+M.width-P.x,0),P.height=c),P}var Y=i&&M?{width:h,height:c}:{};return r==="insideLeft"?Za({x:g+T,y:u+c/2,horizontalAnchor:A,verticalAnchor:"middle"},Y):r==="insideRight"?Za({x:g+h-T,y:u+c/2,horizontalAnchor:k,verticalAnchor:"middle"},Y):r==="insideTop"?Za({x:p+d/2,y:u+b,horizontalAnchor:"middle",verticalAnchor:S},Y):r==="insideBottom"?Za({x:m+f/2,y:u+c-b,horizontalAnchor:"middle",verticalAnchor:x},Y):r==="insideTopLeft"?Za({x:p+T,y:u+b,horizontalAnchor:A,verticalAnchor:S},Y):r==="insideTopRight"?Za({x:p+d-T,y:u+b,horizontalAnchor:k,verticalAnchor:S},Y):r==="insideBottomLeft"?Za({x:m+T,y:u+c-b,horizontalAnchor:A,verticalAnchor:x},Y):r==="insideBottomRight"?Za({x:m+f-T,y:u+c-b,horizontalAnchor:k,verticalAnchor:x},Y):r&&typeof r=="object"&&(Se(r.x)||Ii(r.x))&&(Se(r.y)||Ii(r.y))?Za({x:s+Sr(r.x,h),y:u+Sr(r.y,c),horizontalAnchor:"end",verticalAnchor:"end"},Y):Za({x:v,y:u+c/2,horizontalAnchor:"middle",verticalAnchor:"middle"},Y)},AV=["top","left","right","bottom"];function wm(e){return e==null?!1:typeof e=="object"?!0:AV.includes(e)}var Ch=te(re()),WA=(0,Ch.createContext)(null),TM=()=>(0,Ch.useContext)(WA);var Wn=te(re());var XM=te(re());function $t(e){return function(){return e}}var HA=Math.cos;var Sm=Math.sin,dn=Math.sqrt;var du=Math.PI,Tfe=du/2,wd=2*du;var VA=Math.PI,KA=2*VA,fu=1e-6,kV=KA-fu;function MM(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return MM;let r=10**t;return function(n){this._+=n[0];for(let o=1,a=n.length;ofu)if(!(Math.abs(d*s-u*c)>fu)||!a)this._append`L${this._x1=t},${this._y1=r}`;else{let p=n-i,m=o-l,g=s*s+u*u,h=p*p+m*m,v=Math.sqrt(g),y=Math.sqrt(f),b=a*Math.tan((VA-Math.acos((g+f-h)/(2*v*y)))/2),x=b/y,S=b/v;Math.abs(x-1)>fu&&this._append`L${t+x*c},${r+x*d}`,this._append`A${a},${a},0,0,${+(d*p>c*m)},${this._x1=t+S*s},${this._y1=r+S*u}`}}arc(t,r,n,o,a,i){if(t=+t,r=+r,n=+n,i=!!i,n<0)throw new Error(`negative radius: ${n}`);let l=n*Math.cos(o),s=n*Math.sin(o),u=t+l,c=r+s,d=1^i,f=i?o-a:a-o;this._x1===null?this._append`M${u},${c}`:(Math.abs(this._x1-u)>fu||Math.abs(this._y1-c)>fu)&&this._append`L${u},${c}`,n&&(f<0&&(f=f%KA+KA),f>kV?this._append`A${n},${n},0,1,${d},${t-l},${r-s}A${n},${n},0,1,${d},${this._x1=u},${this._y1=c}`:f>fu&&this._append`A${n},${n},0,${+(f>=VA)},${d},${this._x1=t+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(t,r,n,o){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+o}h${-n}Z`}toString(){return this._}};function PM(){return new pu}PM.prototype=pu.prototype;function Sd(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{let n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new pu(t)}var Bfe=Array.prototype.slice;function Ad(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function DM(e){this._context=e}DM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Xl(e){return new DM(e)}function Nh(e){return e[0]}function _h(e){return e[1]}function Am(e,t){var r=$t(!0),n=null,o=Xl,a=null,i=Sd(l);e=typeof e=="function"?e:e===void 0?Nh:$t(e),t=typeof t=="function"?t:t===void 0?_h:$t(t);function l(s){var u,c=(s=Ad(s)).length,d,f=!1,p;for(n==null&&(a=o(p=i())),u=0;u<=c;++u)!(u=p;--m)l.point(b[m],x[m]);l.lineEnd(),l.areaEnd()}v&&(b[f]=+e(h,f,d),x[f]=+t(h,f,d),l.point(n?+n(h,f,d):b[f],r?+r(h,f,d):x[f]))}if(y)return l=null,y+""||null}function c(){return Am().defined(o).curve(i).context(a)}return u.x=function(d){return arguments.length?(e=typeof d=="function"?d:$t(+d),n=null,u):e},u.x0=function(d){return arguments.length?(e=typeof d=="function"?d:$t(+d),u):e},u.x1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:$t(+d),u):n},u.y=function(d){return arguments.length?(t=typeof d=="function"?d:$t(+d),r=null,u):t},u.y0=function(d){return arguments.length?(t=typeof d=="function"?d:$t(+d),u):t},u.y1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:$t(+d),u):r},u.lineX0=u.lineY0=function(){return c().x(e).y(t)},u.lineY1=function(){return c().x(e).y(r)},u.lineX1=function(){return c().x(n).y(t)},u.defined=function(d){return arguments.length?(o=typeof d=="function"?d:$t(!!d),u):o},u.curve=function(d){return arguments.length?(i=d,a!=null&&(l=i(a)),u):i},u.context=function(d){return arguments.length?(d==null?a=l=null:l=i(a=d),u):a},u}var Eh=class{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}};function qA(e){return new Eh(e,!0)}function GA(e){return new Eh(e,!1)}var Cd={draw(e,t){let r=dn(t/du);e.moveTo(r,0),e.arc(0,0,r,0,wd)}};var YA={draw(e,t){let r=dn(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}};var IM=dn(1/3),NV=IM*2,XA={draw(e,t){let r=dn(t/NV),n=r*IM;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}};var ZA={draw(e,t){let r=dn(t),n=-r/2;e.rect(n,n,r,r)}};var _V=.8908130915292852,jM=Sm(du/10)/Sm(7*du/10),EV=Sm(wd/10)*jM,OV=-HA(wd/10)*jM,QA={draw(e,t){let r=dn(t*_V),n=EV*r,o=OV*r;e.moveTo(0,-r),e.lineTo(n,o);for(let a=1;a<5;++a){let i=wd*a/5,l=HA(i),s=Sm(i);e.lineTo(s*r,-l*r),e.lineTo(l*n-s*o,s*n+l*o)}e.closePath()}};var JA=dn(3),RA={draw(e,t){let r=-dn(t/(JA*3));e.moveTo(0,r*2),e.lineTo(-JA*r,-r),e.lineTo(JA*r,-r),e.closePath()}};var ta=-.5,ra=dn(3)/2,ek=1/dn(12),TV=(ek/2+1)*3,tk={draw(e,t){let r=dn(t/TV),n=r/2,o=r*ek,a=n,i=r*ek+r,l=-a,s=i;e.moveTo(n,o),e.lineTo(a,i),e.lineTo(l,s),e.lineTo(ta*n-ra*o,ra*n+ta*o),e.lineTo(ta*a-ra*i,ra*a+ta*i),e.lineTo(ta*l-ra*s,ra*l+ta*s),e.lineTo(ta*n+ra*o,ta*o-ra*n),e.lineTo(ta*a+ra*i,ta*i-ra*a),e.lineTo(ta*l+ra*s,ta*s-ra*l),e.closePath()}};function Oh(e,t){let r=null,n=Sd(o);e=typeof e=="function"?e:$t(e||Cd),t=typeof t=="function"?t:$t(t===void 0?64:+t);function o(){let a;if(r||(r=a=n()),e.apply(this,arguments).draw(r,+t.apply(this,arguments)),a)return r=null,a+""||null}return o.type=function(a){return arguments.length?(e=typeof a=="function"?a:$t(a),o):e},o.size=function(a){return arguments.length?(t=typeof a=="function"?a:$t(+a),o):t},o.context=function(a){return arguments.length?(r=a??null,o):r},o}function Nd(){}function _d(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function zM(e){this._context=e}zM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:_d(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:_d(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function rk(e){return new zM(e)}function LM(e){this._context=e}LM.prototype={areaStart:Nd,areaEnd:Nd,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:_d(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function nk(e){return new LM(e)}function BM(e){this._context=e}BM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:_d(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function ok(e){return new BM(e)}function $M(e){this._context=e}$M.prototype={areaStart:Nd,areaEnd:Nd,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function ak(e){return new $M(e)}function FM(e){return e<0?-1:1}function UM(e,t,r){var n=e._x1-e._x0,o=t-e._x1,a=(e._y1-e._y0)/(n||o<0&&-0),i=(r-e._y1)/(o||n<0&&-0),l=(a*o+i*n)/(n+o);return(FM(a)+FM(i))*Math.min(Math.abs(a),Math.abs(i),.5*Math.abs(l))||0}function WM(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function ik(e,t,r){var n=e._x0,o=e._y0,a=e._x1,i=e._y1,l=(a-n)/3;e._context.bezierCurveTo(n+l,o+l*t,a-l,i-l*r,a,i)}function Th(e){this._context=e}Th.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:ik(this,this._t0,WM(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,ik(this,WM(this,r=UM(this,e,t)),r);break;default:ik(this,this._t0,r=UM(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function HM(e){this._context=new VM(e)}(HM.prototype=Object.create(Th.prototype)).point=function(e,t){Th.prototype.point.call(this,t,e)};function VM(e){this._context=e}VM.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,o,a){this._context.bezierCurveTo(t,e,n,r,a,o)}};function lk(e){return new Th(e)}function sk(e){return new HM(e)}function qM(e){this._context=e}qM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=KM(e),o=KM(t),a=0,i=1;i=0;--t)o[t]=(i[t]-o[t+1])/a[t];for(a[r-1]=(e[r]+o[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function ck(e){return new Mh(e,.5)}function dk(e){return new Mh(e,0)}function fk(e){return new Mh(e,1)}function ko(e,t){if((i=e.length)>1)for(var r=1,n,o,a=e[t[0]],i,l=a.length;r=0;)r[t]=t;return r}function MV(e,t){return e[t]}function PV(e){let t=[];return t.key=e,t}function pk(){var e=$t([]),t=Ed,r=ko,n=MV;function o(a){var i=Array.from(e.apply(this,arguments),PV),l,s=i.length,u=-1,c;for(let d of a)for(l=0,++u;l0){for(var r,n,o=0,a=e[0].length,i;o0){for(var r=0,n=e[t[0]],o,a=n.length;r0)||!((a=(o=e[t[0]]).length)>0))){for(var r=0,n=1,o,a,i;n{var t="symbol".concat(zi(e));return ZM[t]||Cd},WV=(e,t,r)=>{if(t==="area")return e;switch(r){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var n=18*FV;return 1.25*e*e*(Math.tan(n)-Math.tan(n*2)*Math.tan(n)**2)}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},HV=(e,t)=>{ZM["symbol".concat(zi(e))]=t},hk=e=>{var t=e.type,r=t===void 0?"circle":t,n=e.size,o=n===void 0?64:n,a=e.sizeType,i=a===void 0?"area":a,l=BV(e,IV),s=YM(YM({},l),{},{type:r,size:o,sizeType:i}),u="circle";typeof r=="string"&&(u=r);var c=()=>{var g=UV(u),h=Oh().type(g).size(WV(o,i,u)),v=h();if(v!==null)return v},d=s.className,f=s.cx,p=s.cy,m=dr(s);return Se(f)&&Se(p)&&Se(o)?XM.createElement("path",yk({},m,{className:He("recharts-symbols",d),transform:"translate(".concat(f,", ").concat(p,")"),d:c()})):null};hk.registerSymbol=HV;var QM=te(re());var Ph=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,Od=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if((0,QM.isValidElement)(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(o=>{hm(o)&&typeof r[o]=="function"&&(n[o]=t||(a=>r[o](r,a)))}),n},VV=(e,t,r)=>n=>(e(t,r,n),null),Li=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(o=>{var a=e[o];hm(o)&&typeof a=="function"&&(n||(n={}),n[o]=VV(a,t,r))}),n};function JM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function KV(e){for(var t=1;t(i[l]===void 0&&n[l]!==void 0&&(i[l]=n[l]),i),r);return a}function Dh(){return Dh=Object.assign?Object.assign.bind():function(e){for(var t=1;t>>=0,e===0?32:31-(KU(e)/qU|0)|0}var Xg=256,Zg=262144,Qg=4194304;function qs(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64: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 e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function rh(e,t,r){var n=e.pendingLanes;if(n===0)return 0;var o=0,a=e.suspendedLanes,i=e.pingedLanes;e=e.warmLanes;var l=n&134217727;return l!==0?(n=l&~a,n!==0?o=qs(n):(i&=l,i!==0?o=qs(i):r||(r=l&~e,r!==0&&(o=qs(r))))):(l=n&~a,l!==0?o=qs(l):i!==0?o=qs(i):r||(r=n&~e,r!==0&&(o=qs(r)))),o===0?0:t!==0&&t!==o&&(t&a)===0&&(a=o&-o,r=t&-t,a>=r||a===32&&(r&4194048)!==0)?t:o}function um(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function YU(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+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 t+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 VT(){var e=Qg;return Qg<<=1,(Qg&62914560)===0&&(Qg=4194304),e}function gS(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}function cm(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function XU(e,t,r,n,o,a){var i=e.pendingLanes;e.pendingLanes=r,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=r,e.entangledLanes&=r,e.errorRecoveryDisabledLanes&=r,e.shellSuspendCounter=0;var l=e.entanglements,s=e.expirationTimes,u=e.hiddenUpdates;for(r=i&~r;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var tW=/[\n"\\]/g;function Go(e){return e.replace(tW,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function t2(e,t,r,n,o,a,i,l){e.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?e.type=i:e.removeAttribute("type"),t!=null?i==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Vo(t)):e.value!==""+Vo(t)&&(e.value=""+Vo(t)):i!=="submit"&&i!=="reset"||e.removeAttribute("value"),t!=null?r2(e,i,Vo(t)):r!=null?r2(e,i,Vo(r)):n!=null&&e.removeAttribute("value"),o==null&&a!=null&&(e.defaultChecked=!!a),o!=null&&(e.checked=o&&typeof o!="function"&&typeof o!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+Vo(l):e.removeAttribute("name")}function RT(e,t,r,n,o,a,i,l){if(a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"&&(e.type=a),t!=null||r!=null){if(!(a!=="submit"&&a!=="reset"||t!=null)){e2(e);return}r=r!=null?""+Vo(r):"",t=t!=null?""+Vo(t):r,l||t===e.value||(e.value=t),e.defaultValue=t}n=n??o,n=typeof n!="function"&&typeof n!="symbol"&&!!n,e.checked=l?e.checked:!!n,e.defaultChecked=!!n,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.name=i),e2(e)}function r2(e,t,r){t==="number"&&My(e.ownerDocument)===e||e.defaultValue===""+r||(e.defaultValue=""+r)}function Gc(e,t,r,n){if(e=e.options,t){t={};for(var o=0;o"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),o2=!1;if(Ei)try{Oc={},Object.defineProperty(Oc,"passive",{get:function(){o2=!0}}),window.addEventListener("test",Oc,Oc),window.removeEventListener("test",Oc,Oc)}catch{o2=!1}var Oc,Tl=null,Y2=null,my=null;function o4(){if(my)return my;var e,t=Y2,r=t.length,n,o="value"in Tl?Tl.value:Tl.textContent,a=o.length;for(e=0;e=Ip),AO=" ",kO=!1;function i4(e,t){switch(e){case"keyup":return OW.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function l4(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Bc=!1;function MW(e,t){switch(e){case"compositionend":return l4(t);case"keypress":return t.which!==32?null:(kO=!0,AO);case"textInput":return e=t.data,e===AO&&kO?null:e;default:return null}}function PW(e,t){if(Bc)return e==="compositionend"||!Z2&&i4(e,t)?(e=o4(),my=Y2=Tl=null,Bc=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=EO(r)}}function d4(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?d4(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function f4(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=My(e.document);t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch{r=!1}if(r)e=t.contentWindow;else break;t=My(e.document)}return t}function Q2(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var FW=Ei&&"documentMode"in document&&11>=document.documentMode,$c=null,a2=null,zp=null,i2=!1;function TO(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;i2||$c==null||$c!==My(n)||(n=$c,"selectionStart"in n&&Q2(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),zp&&Zp(zp,n)||(zp=n,n=Xy(a2,"onSelect"),0>=i,o-=i,Va=1<<32-xo(t)+o|r<k?(A=T,T=null):A=T.sibling;var M=f(v,T,b[k],x);if(M===null){T===null&&(T=A);break}e&&T&&M.alternate===null&&t(v,T),y=a(M,y,k),w===null?S=M:w.sibling=M,w=M,T=A}if(k===b.length)return r(v,T),wt&&bi(v,k),S;if(T===null){for(;kk?(A=T,T=null):A=T.sibling;var H=f(v,T,M.value,x);if(H===null){T===null&&(T=A);break}e&&T&&H.alternate===null&&t(v,T),y=a(H,y,k),w===null?S=H:w.sibling=H,w=H,T=A}if(M.done)return r(v,T),wt&&bi(v,k),S;if(T===null){for(;!M.done;k++,M=b.next())M=d(v,M.value,x),M!==null&&(y=a(M,y,k),w===null?S=M:w.sibling=M,w=M);return wt&&bi(v,k),S}for(T=n(T);!M.done;k++,M=b.next())M=p(T,v,k,M.value,x),M!==null&&(e&&M.alternate!==null&&T.delete(M.key===null?k:M.key),y=a(M,y,k),w===null?S=M:w.sibling=M,w=M);return e&&T.forEach(function(F){return t(v,F)}),wt&&bi(v,k),S}function h(v,y,b,x){if(typeof b=="object"&&b!==null&&b.type===Ic&&b.key===null&&(b=b.props.children),typeof b=="object"&&b!==null){switch(b.$$typeof){case Yg:e:{for(var S=b.key;y!==null;){if(y.key===S){if(S=b.type,S===Ic){if(y.tag===7){r(v,y.sibling),x=o(y,b.props.children),x.return=v,v=x;break e}}else if(y.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===Al&&Gs(S)===y.type){r(v,y.sibling),x=o(y,b.props),kp(x,b),x.return=v,v=x;break e}r(v,y);break}else t(v,y);y=y.sibling}b.type===Ic?(x=Zs(b.props.children,v.mode,x,b.key),x.return=v,v=x):(x=gy(b.type,b.key,b.props,null,v.mode,x),kp(x,b),x.return=v,v=x)}return i(v);case Op:e:{for(S=b.key;y!==null;){if(y.key===S)if(y.tag===4&&y.stateNode.containerInfo===b.containerInfo&&y.stateNode.implementation===b.implementation){r(v,y.sibling),x=o(y,b.children||[]),x.return=v,v=x;break e}else{r(v,y);break}else t(v,y);y=y.sibling}x=kS(b,v.mode,x),x.return=v,v=x}return i(v);case Al:return b=Gs(b),h(v,y,b,x)}if(Tp(b))return m(v,y,b,x);if(Sp(b)){if(S=Sp(b),typeof S!="function")throw Error(me(150));return b=S.call(b),g(v,y,b,x)}if(typeof b.then=="function")return h(v,y,ny(b),x);if(b.$$typeof===Si)return h(v,y,ry(v,b),x);oy(v,b)}return typeof b=="string"&&b!==""||typeof b=="number"||typeof b=="bigint"?(b=""+b,y!==null&&y.tag===6?(r(v,y.sibling),x=o(y,b),x.return=v,v=x):(r(v,y),x=AS(b,v.mode,x),x.return=v,v=x),i(v)):r(v,y)}return function(v,y,b,x){try{Rp=0;var S=h(v,y,b,x);return Zc=null,S}catch(T){if(T===pd||T===sh)throw T;var w=vo(29,T,null,v.mode);return w.lanes=x,w.return=v,w}}}var ru=_4(!0),E4=_4(!1),kl=!1;function iA(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function p2(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function zl(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ll(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(Lt&2)!==0){var o=n.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),n.pending=t,t=Dy(e),x4(e,null,r),t}return lh(e,n,t,r),Dy(e)}function Bp(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194048)!==0)){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,qT(e,r)}}function NS(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var o=null,a=null;if(r=r.firstBaseUpdate,r!==null){do{var i={lane:r.lane,tag:r.tag,payload:r.payload,callback:null,next:null};a===null?o=a=i:a=a.next=i,r=r.next}while(r!==null);a===null?o=a=t:a=a.next=t}else o=a=t;r={baseState:n.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:n.shared,callbacks:n.callbacks},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}var m2=!1;function $p(){if(m2){var e=Xc;if(e!==null)throw e}}function Fp(e,t,r,n){m2=!1;var o=e.updateQueue;kl=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,l=o.shared.pending;if(l!==null){o.shared.pending=null;var s=l,u=s.next;s.next=null,i===null?a=u:i.next=u,i=s;var c=e.alternate;c!==null&&(c=c.updateQueue,l=c.lastBaseUpdate,l!==i&&(l===null?c.firstBaseUpdate=u:l.next=u,c.lastBaseUpdate=s))}if(a!==null){var d=o.baseState;i=0,c=u=s=null,l=a;do{var f=l.lane&-536870913,p=f!==l.lane;if(p?(xt&f)===f:(n&f)===f){f!==0&&f===rd&&(m2=!0),c!==null&&(c=c.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var m=e,g=l;f=t;var h=r;switch(g.tag){case 1:if(m=g.payload,typeof m=="function"){d=m.call(h,d,f);break e}d=m;break e;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,f=typeof m=="function"?m.call(h,d,f):m,f==null)break e;d=ur({},d,f);break e;case 2:kl=!0}}f=l.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=o.callbacks,p===null?o.callbacks=[f]:p.push(f))}else p={lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},c===null?(u=c=p,s=d):c=c.next=p,i|=f;if(l=l.next,l===null){if(l=o.shared.pending,l===null)break;p=l,l=p.next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}while(!0);c===null&&(s=d),o.baseState=s,o.firstBaseUpdate=u,o.lastBaseUpdate=c,a===null&&(o.shared.lanes=0),ql|=i,e.lanes=i,e.memoizedState=d}}function O4(e,t){if(typeof e!="function")throw Error(me(191,e));e.call(t)}function T4(e,t){var r=e.callbacks;if(r!==null)for(e.callbacks=null,e=0;ea?a:8;var i=Ze.T,l={};Ze.T=l,xA(e,!1,t,r);try{var s=o(),u=Ze.S;if(u!==null&&u(l,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var c=XW(s,n);Up(e,t,c,bo(e))}else Up(e,t,n,bo(e))}catch(d){Up(e,t,{then:function(){},status:"rejected",reason:d},bo())}finally{Bt.p=a,i!==null&&l.types!==null&&(i.types=l.types),Ze.T=i}}function tH(){}function x2(e,t,r,n){if(e.tag!==5)throw Error(me(476));var o=t3(e).queue;e3(e,o,t,Xs,r===null?tH:function(){return r3(e),r(n)})}function t3(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Xs,baseState:Xs,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ti,lastRenderedState:Xs},next:null};var r={};return t.next={memoizedState:r,baseState:r,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ti,lastRenderedState:r},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function r3(e){var t=t3(e);t.next===null&&(t=e.alternate.memoizedState),Up(e,t.next.queue,{},bo())}function hA(){return hn(om)}function n3(){return Br().memoizedState}function o3(){return Br().memoizedState}function rH(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var r=bo();e=zl(r);var n=Ll(t,e,r);n!==null&&(Jn(n,t,r),Bp(n,t,r)),t={cache:nA()},e.payload=t;return}t=t.return}}function nH(e,t,r){var n=bo();r={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},fh(e)?i3(t,r):(r=R2(e,t,r,n),r!==null&&(Jn(r,e,n),l3(r,t,n)))}function a3(e,t,r){var n=bo();Up(e,t,r,n)}function Up(e,t,r,n){var o={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null};if(fh(e))i3(t,o);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var i=t.lastRenderedState,l=a(i,r);if(o.hasEagerState=!0,o.eagerState=l,wo(l,i))return lh(e,t,o,0),Gt===null&&ih(),!1}catch{}if(r=R2(e,t,o,n),r!==null)return Jn(r,e,n),l3(r,t,n),!0}return!1}function xA(e,t,r,n){if(n={lane:2,revertLane:EA(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},fh(e)){if(t)throw Error(me(479))}else t=R2(e,r,n,2),t!==null&&Jn(t,e,2)}function fh(e){var t=e.alternate;return e===lt||t!==null&&t===lt}function i3(e,t){Qc=$y=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function l3(e,t,r){if((r&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,qT(e,r)}}var tm={readContext:hn,use:ch,useCallback:Nr,useContext:Nr,useEffect:Nr,useImperativeHandle:Nr,useLayoutEffect:Nr,useInsertionEffect:Nr,useMemo:Nr,useReducer:Nr,useRef:Nr,useState:Nr,useDebugValue:Nr,useDeferredValue:Nr,useTransition:Nr,useSyncExternalStore:Nr,useId:Nr,useHostTransitionStatus:Nr,useFormState:Nr,useActionState:Nr,useOptimistic:Nr,useMemoCache:Nr,useCacheRefresh:Nr};tm.useEffectEvent=Nr;var s3={readContext:hn,use:ch,useCallback:function(e,t){return $n().memoizedState=[e,t===void 0?null:t],e},useContext:hn,useEffect:KO,useImperativeHandle:function(e,t,r){r=r!=null?r.concat([e]):null,xy(4194308,4,X4.bind(null,t,e),r)},useLayoutEffect:function(e,t){return xy(4194308,4,e,t)},useInsertionEffect:function(e,t){xy(4,2,e,t)},useMemo:function(e,t){var r=$n();t=t===void 0?null:t;var n=e();if(nu){Ol(!0);try{e()}finally{Ol(!1)}}return r.memoizedState=[n,t],n},useReducer:function(e,t,r){var n=$n();if(r!==void 0){var o=r(t);if(nu){Ol(!0);try{r(t)}finally{Ol(!1)}}}else o=t;return n.memoizedState=n.baseState=o,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:o},n.queue=e,e=e.dispatch=nH.bind(null,lt,e),[n.memoizedState,e]},useRef:function(e){var t=$n();return e={current:e},t.memoizedState=e},useState:function(e){e=y2(e);var t=e.queue,r=a3.bind(null,lt,t);return t.dispatch=r,[e.memoizedState,r]},useDebugValue:gA,useDeferredValue:function(e,t){var r=$n();return yA(r,e,t)},useTransition:function(){var e=y2(!1);return e=e3.bind(null,lt,e.queue,!0,!1),$n().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,r){var n=lt,o=$n();if(wt){if(r===void 0)throw Error(me(407));r=r()}else{if(r=t(),Gt===null)throw Error(me(349));(xt&127)!==0||j4(n,t,r)}o.memoizedState=r;var a={value:r,getSnapshot:t};return o.queue=a,KO(L4.bind(null,n,a,e),[e]),n.flags|=2048,od(9,{destroy:void 0},z4.bind(null,n,a,r,t),null),r},useId:function(){var e=$n(),t=Gt.identifierPrefix;if(wt){var r=Ka,n=Va;r=(n&~(1<<32-xo(n)-1)).toString(32)+r,t="_"+t+"R_"+r,r=Fy++,0<\/script>",a=a.removeChild(a.firstChild);break;case"select":a=typeof n.is=="string"?i.createElement("select",{is:n.is}):i.createElement("select"),n.multiple?a.multiple=!0:n.size&&(a.size=n.size);break;default:a=typeof n.is=="string"?i.createElement(o,{is:n.is}):i.createElement(o)}}a[gn]=t,a[Rn]=n;e:for(i=t.child;i!==null;){if(i.tag===5||i.tag===6)a.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break e;for(;i.sibling===null;){if(i.return===null||i.return===t)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}t.stateNode=a;e:switch(xn(a,o,n),o){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}n&&gi(t)}}return lr(t),IS(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,r),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&gi(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(me(166));if(e=Il.current,Tc(t)){if(e=t.stateNode,r=t.memoizedProps,n=null,o=yn,o!==null)switch(o.tag){case 27:case 5:n=o.memoizedProps}e[gn]=t,e=!!(e.nodeValue===r||n!==null&&n.suppressHydrationWarning===!0||aM(e.nodeValue,r)),e||Vl(t,!0)}else e=Zy(e).createTextNode(n),e[gn]=t,t.stateNode=e}return lr(t),null;case 31:if(r=t.memoizedState,e===null||e.memoizedState!==null){if(n=Tc(t),r!==null){if(e===null){if(!n)throw Error(me(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(me(557));e[gn]=t}else eu(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;lr(t),e=!1}else r=CS(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),e=!0;if(!e)return t.flags&256?(mo(t),t):(mo(t),null);if((t.flags&128)!==0)throw Error(me(558))}return lr(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(o=Tc(t),n!==null&&n.dehydrated!==null){if(e===null){if(!o)throw Error(me(318));if(o=t.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(me(317));o[gn]=t}else eu(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;lr(t),o=!1}else o=CS(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=o),o=!0;if(!o)return t.flags&256?(mo(t),t):(mo(t),null)}return mo(t),(t.flags&128)!==0?(t.lanes=r,t):(r=n!==null,e=e!==null&&e.memoizedState!==null,r&&(n=t.child,o=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(o=n.alternate.memoizedState.cachePool.pool),a=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(a=n.memoizedState.cachePool.pool),a!==o&&(n.flags|=2048)),r!==e&&r&&(t.child.flags|=8192),ay(t,t.updateQueue),lr(t),null);case 4:return Rc(),e===null&&OA(t.stateNode.containerInfo),lr(t),null;case 10:return Ni(t.type),lr(t),null;case 19:if(sn(Lr),n=t.memoizedState,n===null)return lr(t),null;if(o=(t.flags&128)!==0,a=n.rendering,a===null)if(o)Cp(n,!1);else{if(_r!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(a=By(e),a!==null){for(t.flags|=128,Cp(n,!1),e=a.updateQueue,t.updateQueue=e,ay(t,e),t.subtreeFlags=0,e=r,r=t.child;r!==null;)b4(r,e),r=r.sibling;return er(Lr,Lr.current&1|2),wt&&bi(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&&yo()>Vy&&(t.flags|=128,o=!0,Cp(n,!1),t.lanes=4194304)}else{if(!o)if(e=By(a),e!==null){if(t.flags|=128,o=!0,e=e.updateQueue,t.updateQueue=e,ay(t,e),Cp(n,!0),n.tail===null&&n.tailMode==="hidden"&&!a.alternate&&!wt)return lr(t),null}else 2*yo()-n.renderingStartTime>Vy&&r!==536870912&&(t.flags|=128,o=!0,Cp(n,!1),t.lanes=4194304);n.isBackwards?(a.sibling=t.child,t.child=a):(e=n.last,e!==null?e.sibling=a:t.child=a,n.last=a)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=yo(),e.sibling=null,r=Lr.current,er(Lr,o?r&1|2:r&1),wt&&bi(t,n.treeForkCount),e):(lr(t),null);case 22:case 23:return mo(t),lA(),n=t.memoizedState!==null,e!==null?e.memoizedState!==null!==n&&(t.flags|=8192):n&&(t.flags|=8192),n?(r&536870912)!==0&&(t.flags&128)===0&&(lr(t),t.subtreeFlags&6&&(t.flags|=8192)):lr(t),r=t.updateQueue,r!==null&&ay(t,r.retryQueue),r=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(r=e.memoizedState.cachePool.pool),n=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),n!==r&&(t.flags|=2048),e!==null&&sn(Qs),null;case 24:return r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),Ni(Kr),lr(t),null;case 25:return null;case 30:return null}throw Error(me(156,t.tag))}function sH(e,t){switch(rA(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ni(Kr),Rc(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Oy(t),null;case 31:if(t.memoizedState!==null){if(mo(t),t.alternate===null)throw Error(me(340));eu()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(mo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(me(340));eu()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return sn(Lr),null;case 4:return Rc(),null;case 10:return Ni(t.type),null;case 22:case 23:return mo(t),lA(),e!==null&&sn(Qs),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Ni(Kr),null;case 25:return null;default:return null}}function b3(e,t){switch(rA(t),t.tag){case 3:Ni(Kr),Rc();break;case 26:case 27:case 5:Oy(t);break;case 4:Rc();break;case 31:t.memoizedState!==null&&mo(t);break;case 13:mo(t);break;case 19:sn(Lr);break;case 10:Ni(t.type);break;case 22:case 23:mo(t),lA(),e!==null&&sn(Qs);break;case 24:Ni(Kr)}}function vm(e,t){try{var r=t.updateQueue,n=r!==null?r.lastEffect:null;if(n!==null){var o=n.next;r=o;do{if((r.tag&e)===e){n=void 0;var a=r.create,i=r.inst;n=a(),i.destroy=n}r=r.next}while(r!==o)}}catch(l){Wt(t,t.return,l)}}function Kl(e,t,r){try{var n=t.updateQueue,o=n!==null?n.lastEffect:null;if(o!==null){var a=o.next;n=a;do{if((n.tag&e)===e){var i=n.inst,l=i.destroy;if(l!==void 0){i.destroy=void 0,o=t;var s=r,u=l;try{u()}catch(c){Wt(o,s,c)}}}n=n.next}while(n!==a)}}catch(c){Wt(t,t.return,c)}}function w3(e){var t=e.updateQueue;if(t!==null){var r=e.stateNode;try{T4(t,r)}catch(n){Wt(e,e.return,n)}}}function S3(e,t,r){r.props=ou(e.type,e.memoizedProps),r.state=e.memoizedState;try{r.componentWillUnmount()}catch(n){Wt(e,t,n)}}function Wp(e,t){try{var r=e.ref;if(r!==null){switch(e.tag){case 26:case 27:case 5:var n=e.stateNode;break;case 30:n=e.stateNode;break;default:n=e.stateNode}typeof r=="function"?e.refCleanup=r(n):r.current=n}}catch(o){Wt(e,t,o)}}function qa(e,t){var r=e.ref,n=e.refCleanup;if(r!==null)if(typeof n=="function")try{n()}catch(o){Wt(e,t,o)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof r=="function")try{r(null)}catch(o){Wt(e,t,o)}else r.current=null}function A3(e){var t=e.type,r=e.memoizedProps,n=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":r.autoFocus&&n.focus();break e;case"img":r.src?n.src=r.src:r.srcSet&&(n.srcset=r.srcSet)}}catch(o){Wt(e,e.return,o)}}function jS(e,t,r){try{var n=e.stateNode;EH(n,e.type,r,t),n[Rn]=t}catch(o){Wt(e,e.return,o)}}function k3(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Yl(e.type)||e.tag===4}function zS(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||k3(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Yl(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function k2(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?(r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r).insertBefore(e,t):(t=r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r,t.appendChild(e),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=Ai));else if(n!==4&&(n===27&&Yl(e.type)&&(r=e.stateNode,t=null),e=e.child,e!==null))for(k2(e,t,r),e=e.sibling;e!==null;)k2(e,t,r),e=e.sibling}function Hy(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(n!==4&&(n===27&&Yl(e.type)&&(r=e.stateNode),e=e.child,e!==null))for(Hy(e,t,r),e=e.sibling;e!==null;)Hy(e,t,r),e=e.sibling}function C3(e){var t=e.stateNode,r=e.memoizedProps;try{for(var n=e.type,o=t.attributes;o.length;)t.removeAttributeNode(o[0]);xn(t,n,r),t[gn]=e,t[Rn]=r}catch(a){Wt(e,e.return,a)}}var wi=!1,Vr=!1,LS=!1,oT=typeof WeakSet=="function"?WeakSet:Set,an=null;function uH(e,t){if(e=e.containerInfo,M2=eh,e=f4(e),Q2(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var o=n.anchorOffset,a=n.focusNode;n=n.focusOffset;try{r.nodeType,a.nodeType}catch{r=null;break e}var i=0,l=-1,s=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var p;d!==r||o!==0&&d.nodeType!==3||(l=i+o),d!==a||n!==0&&d.nodeType!==3||(s=i+n),d.nodeType===3&&(i+=d.nodeValue.length),(p=d.firstChild)!==null;)f=d,d=p;for(;;){if(d===e)break t;if(f===r&&++u===o&&(l=i),f===a&&++c===n&&(s=i),(p=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=p}r=l===-1||s===-1?null:{start:l,end:s}}else r=null}r=r||{start:0,end:0}}else r=null;for(P2={focusedElem:e,selectionRange:r},eh=!1,an=t;an!==null;)if(t=an,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,an=e;else for(;an!==null;){switch(t=an,a=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(r=0;r title"))),xn(a,n,r),a[gn]=e,ln(a),n=a;break e;case"link":var i=NT("link","href",o).get(n+(r.href||""));if(i){for(var l=0;lh&&(i=h,h=g,g=i);var v=OO(l,g),y=OO(l,h);if(v&&y&&(p.rangeCount!==1||p.anchorNode!==v.node||p.anchorOffset!==v.offset||p.focusNode!==y.node||p.focusOffset!==y.offset)){var b=d.createRange();b.setStart(v.node,v.offset),p.removeAllRanges(),g>h?(p.addRange(b),p.extend(y.node,y.offset)):(b.setEnd(y.node,y.offset),p.addRange(b))}}}}for(d=[],p=l;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;lr?32:r,Ze.T=null,r=_2,_2=null;var a=$l,i=_i;if(Qr=0,id=$l=null,_i=0,(Lt&6)!==0)throw Error(me(331));var l=Lt;if(Lt|=4,z3(a.current),D3(a,a.current,i,r),Lt=l,gm(0,!1),ho&&typeof ho.onPostCommitFiberRoot=="function")try{ho.onPostCommitFiberRoot(sm,a)}catch{}return!0}finally{Bt.p=o,Ze.T=n,Q3(e,t)}}function sT(e,t,r){t=Yo(r,t),t=w2(e.stateNode,t,2),e=Ll(e,t,2),e!==null&&(cm(e,2),Xa(e))}function Wt(e,t,r){if(e.tag===3)sT(e,e,r);else for(;t!==null;){if(t.tag===3){sT(t,e,r);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Bl===null||!Bl.has(n))){e=Yo(r,e),r=p3(2),n=Ll(t,r,2),n!==null&&(m3(r,n,t,e),cm(n,2),Xa(n));break}}t=t.return}}function $S(e,t,r){var n=e.pingCache;if(n===null){n=e.pingCache=new fH;var o=new Set;n.set(t,o)}else o=n.get(t),o===void 0&&(o=new Set,n.set(t,o));o.has(r)||(CA=!0,o.add(r),e=yH.bind(null,e,t,r),t.then(e,e))}function yH(e,t,r){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&r,e.warmLanes&=~r,Gt===e&&(xt&r)===r&&(_r===4||_r===3&&(xt&62914560)===xt&&300>yo()-ph?(Lt&2)===0&&ld(e,0):NA|=r,ad===xt&&(ad=0)),Xa(e)}function R3(e,t){t===0&&(t=VT()),e=su(e,t),e!==null&&(cm(e,t),Xa(e))}function hH(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),R3(e,r)}function xH(e,t){var r=0;switch(e.tag){case 31:case 13:var n=e.stateNode,o=e.memoizedState;o!==null&&(r=o.retryLane);break;case 19:n=e.stateNode;break;case 22:n=e.stateNode._retryCache;break;default:throw Error(me(314))}n!==null&&n.delete(t),R3(e,r)}function bH(e,t){return W2(e,t)}var Gy=null,Dc=null,O2=!1,Yy=!1,FS=!1,Dl=0;function Xa(e){e!==Dc&&e.next===null&&(Dc===null?Gy=Dc=e:Dc=Dc.next=e),Yy=!0,O2||(O2=!0,SH())}function gm(e,t){if(!FS&&Yy){FS=!0;do for(var r=!1,n=Gy;n!==null;){if(!t)if(e!==0){var o=n.pendingLanes;if(o===0)var a=0;else{var i=n.suspendedLanes,l=n.pingedLanes;a=(1<<31-xo(42|e)+1)-1,a&=o&~(i&~l),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(r=!0,uT(n,a))}else a=xt,a=rh(n,n===Gt?a:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(a&3)===0||um(n,a)||(r=!0,uT(n,a));n=n.next}while(r);FS=!1}}function wH(){eM()}function eM(){Yy=O2=!1;var e=0;Dl!==0&&TH()&&(e=Dl);for(var t=yo(),r=null,n=Gy;n!==null;){var o=n.next,a=tM(n,t);a===0?(n.next=null,r===null?Gy=o:r.next=o,o===null&&(Dc=r)):(r=n,(e!==0||(a&3)!==0)&&(Yy=!0)),n=o}Qr!==0&&Qr!==5||gm(e,!1),Dl!==0&&(Dl=0)}function tM(e,t){for(var r=e.suspendedLanes,n=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes&-62914561;0l)break;var c=s.transferSize,d=s.initiatorType;c&&gT(d)&&(s=s.responseEnd,i+=c*(s"u"?null:document;function cM(e,t,r){var n=vd;if(n&&typeof t=="string"&&t){var o=Go(t);o='link[rel="'+e+'"][href="'+o+'"]',typeof r=="string"&&(o+='[crossorigin="'+r+'"]'),AT.has(o)||(AT.add(o),e={rel:e,crossOrigin:r,href:t},n.querySelector(o)===null&&(t=n.createElement("link"),xn(t,"link",e),ln(t),n.head.appendChild(t)))}}function $H(e){Di.D(e),cM("dns-prefetch",e,null)}function FH(e,t){Di.C(e,t),cM("preconnect",e,t)}function UH(e,t,r){Di.L(e,t,r);var n=vd;if(n&&e&&t){var o='link[rel="preload"][as="'+Go(t)+'"]';t==="image"&&r&&r.imageSrcSet?(o+='[imagesrcset="'+Go(r.imageSrcSet)+'"]',typeof r.imageSizes=="string"&&(o+='[imagesizes="'+Go(r.imageSizes)+'"]')):o+='[href="'+Go(e)+'"]';var a=o;switch(t){case"style":a=sd(e);break;case"script":a=gd(e)}Jo.has(a)||(e=ur({rel:"preload",href:t==="image"&&r&&r.imageSrcSet?void 0:e,as:t},r),Jo.set(a,e),n.querySelector(o)!==null||t==="style"&&n.querySelector(ym(a))||t==="script"&&n.querySelector(hm(a))||(t=n.createElement("link"),xn(t,"link",e),ln(t),n.head.appendChild(t)))}}function WH(e,t){Di.m(e,t);var r=vd;if(r&&e){var n=t&&typeof t.as=="string"?t.as:"script",o='link[rel="modulepreload"][as="'+Go(n)+'"][href="'+Go(e)+'"]',a=o;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":a=gd(e)}if(!Jo.has(a)&&(e=ur({rel:"modulepreload",href:e},t),Jo.set(a,e),r.querySelector(o)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(r.querySelector(hm(a)))return}n=r.createElement("link"),xn(n,"link",e),ln(n),r.head.appendChild(n)}}}function HH(e,t,r){Di.S(e,t,r);var n=vd;if(n&&e){var o=qc(n).hoistableStyles,a=sd(e);t=t||"default";var i=o.get(a);if(!i){var l={loading:0,preload:null};if(i=n.querySelector(ym(a)))l.loading=5;else{e=ur({rel:"stylesheet",href:e,"data-precedence":t},r),(r=Jo.get(a))&&TA(e,r);var s=i=n.createElement("link");ln(s),xn(s,"link",e),s._p=new Promise(function(u,c){s.onload=u,s.onerror=c}),s.addEventListener("load",function(){l.loading|=1}),s.addEventListener("error",function(){l.loading|=2}),l.loading|=4,Ay(i,t,n)}i={type:"stylesheet",instance:i,count:1,state:l},o.set(a,i)}}}function VH(e,t){Di.X(e,t);var r=vd;if(r&&e){var n=qc(r).hoistableScripts,o=gd(e),a=n.get(o);a||(a=r.querySelector(hm(o)),a||(e=ur({src:e,async:!0},t),(t=Jo.get(o))&&MA(e,t),a=r.createElement("script"),ln(a),xn(a,"link",e),r.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},n.set(o,a))}}function KH(e,t){Di.M(e,t);var r=vd;if(r&&e){var n=qc(r).hoistableScripts,o=gd(e),a=n.get(o);a||(a=r.querySelector(hm(o)),a||(e=ur({src:e,async:!0,type:"module"},t),(t=Jo.get(o))&&MA(e,t),a=r.createElement("script"),ln(a),xn(a,"link",e),r.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},n.set(o,a))}}function kT(e,t,r,n){var o=(o=Il.current)?Qy(o):null;if(!o)throw Error(me(446));switch(e){case"meta":case"title":return null;case"style":return typeof r.precedence=="string"&&typeof r.href=="string"?(t=sd(r.href),r=qc(o).hoistableStyles,n=r.get(t),n||(n={type:"style",instance:null,count:0,state:null},r.set(t,n)),n):{type:"void",instance:null,count:0,state:null};case"link":if(r.rel==="stylesheet"&&typeof r.href=="string"&&typeof r.precedence=="string"){e=sd(r.href);var a=qc(o).hoistableStyles,i=a.get(e);if(i||(o=o.ownerDocument||o,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},a.set(e,i),(a=o.querySelector(ym(e)))&&!a._p&&(i.instance=a,i.state.loading=5),Jo.has(e)||(r={rel:"preload",as:"style",href:r.href,crossOrigin:r.crossOrigin,integrity:r.integrity,media:r.media,hrefLang:r.hrefLang,referrerPolicy:r.referrerPolicy},Jo.set(e,r),a||qH(o,e,r,i.state))),t&&n===null)throw Error(me(528,""));return i}if(t&&n!==null)throw Error(me(529,""));return null;case"script":return t=r.async,r=r.src,typeof r=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=gd(r),r=qc(o).hoistableScripts,n=r.get(t),n||(n={type:"script",instance:null,count:0,state:null},r.set(t,n)),n):{type:"void",instance:null,count:0,state:null};default:throw Error(me(444,e))}}function sd(e){return'href="'+Go(e)+'"'}function ym(e){return'link[rel="stylesheet"]['+e+"]"}function dM(e){return ur({},e,{"data-precedence":e.precedence,precedence:null})}function qH(e,t,r,n){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?n.loading=1:(t=e.createElement("link"),n.preload=t,t.addEventListener("load",function(){return n.loading|=1}),t.addEventListener("error",function(){return n.loading|=2}),xn(t,"link",r),ln(t),e.head.appendChild(t))}function gd(e){return'[src="'+Go(e)+'"]'}function hm(e){return"script[async]"+e}function CT(e,t,r){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+Go(r.href)+'"]');if(n)return t.instance=n,ln(n),n;var o=ur({},r,{"data-href":r.href,"data-precedence":r.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),ln(n),xn(n,"style",o),Ay(n,r.precedence,e),t.instance=n;case"stylesheet":o=sd(r.href);var a=e.querySelector(ym(o));if(a)return t.state.loading|=4,t.instance=a,ln(a),a;n=dM(r),(o=Jo.get(o))&&TA(n,o),a=(e.ownerDocument||e).createElement("link"),ln(a);var i=a;return i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),xn(a,"link",n),t.state.loading|=4,Ay(a,r.precedence,e),t.instance=a;case"script":return a=gd(r.src),(o=e.querySelector(hm(a)))?(t.instance=o,ln(o),o):(n=r,(o=Jo.get(a))&&(n=ur({},r),MA(n,o)),e=e.ownerDocument||e,o=e.createElement("script"),ln(o),xn(o,"link",n),e.head.appendChild(o),t.instance=o);case"void":return null;default:throw Error(me(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,Ay(n,r.precedence,e));return t.instance}function Ay(e,t,r){for(var n=r.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),o=n.length?n[n.length-1]:null,a=o,i=0;i title"):null)}function GH(e,t,r){if(r===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function fM(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function YH(e,t,r,n){if(r.type==="stylesheet"&&(typeof n.media!="string"||matchMedia(n.media).matches!==!1)&&(r.state.loading&4)===0){if(r.instance===null){var o=sd(n.href),a=t.querySelector(ym(o));if(a){t=a._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Jy.bind(e),t.then(e,e)),r.state.loading|=4,r.instance=a,ln(a);return}a=t.ownerDocument||t,n=dM(n),(o=Jo.get(o))&&TA(n,o),a=a.createElement("link"),ln(a);var i=a;i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),xn(a,"link",n),r.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(r,t),(t=r.state.preload)&&(r.state.loading&3)===0&&(e.count++,r=Jy.bind(e),t.addEventListener("load",r),t.addEventListener("error",r))}}var VS=0;function XH(e,t){return e.stylesheets&&e.count===0&&Cy(e,e.stylesheets),0VS?50:800)+t);return e.unsuspend=r,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(o)}}:null}function Jy(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Cy(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Ry=null;function Cy(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Ry=new Map,t.forEach(ZH,e),Ry=null,Jy.call(e))}function ZH(e,t){if(!(t.state.loading&4)){var r=Ry.get(e);if(r)var n=r.get(null);else{r=new Map,Ry.set(e,r);for(var o=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a{"use strict";function wM(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(wM)}catch(e){console.error(e)}}wM(),SM.exports=bM()});var NP=on(CP=>{"use strict";var jd=re();function cK(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var dK=typeof Object.is=="function"?Object.is:cK,fK=jd.useState,pK=jd.useEffect,mK=jd.useLayoutEffect,vK=jd.useDebugValue;function gK(e,t){var r=t(),n=fK({inst:{value:r,getSnapshot:t}}),o=n[0].inst,a=n[1];return mK(function(){o.value=r,o.getSnapshot=t,Ck(o)&&a({inst:o})},[e,r,t]),pK(function(){return Ck(o)&&a({inst:o}),e(function(){Ck(o)&&a({inst:o})})},[e]),vK(r),r}function Ck(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!dK(e,r)}catch{return!0}}function yK(e,t){return t()}var hK=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?yK:gK;CP.useSyncExternalStore=jd.useSyncExternalStore!==void 0?jd.useSyncExternalStore:hK});var EP=on((sge,_P)=>{"use strict";_P.exports=NP()});var TP=on(OP=>{"use strict";var s0=re(),xK=EP();function bK(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var wK=typeof Object.is=="function"?Object.is:bK,SK=xK.useSyncExternalStore,AK=s0.useRef,kK=s0.useEffect,CK=s0.useMemo,NK=s0.useDebugValue;OP.useSyncExternalStoreWithSelector=function(e,t,r,n,o){var a=AK(null);if(a.current===null){var i={hasValue:!1,value:null};a.current=i}else i=a.current;a=CK(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),o!==void 0&&i.hasValue){var m=i.value;if(o(m,p))return d=m}return d=p}if(m=d,wK(c,p))return m;var g=n(p);return o!==void 0&&o(m,g)?(c=p,m):(c=p,d=g)}var u=!1,c,d,f=r===void 0?null:r;return[function(){return s(t())},f===null?void 0:function(){return s(f())}]},[t,r,n,o]);var l=SK(e,a[0],a[1]);return kK(function(){i.hasValue=!0,i.value=l},[l]),NK(l),l}});var PP=on((cge,MP)=>{"use strict";MP.exports=TP()});var x8=on(h8=>{"use strict";var Um=re();function TG(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var MG=typeof Object.is=="function"?Object.is:TG,PG=Um.useSyncExternalStore,DG=Um.useRef,IG=Um.useEffect,jG=Um.useMemo,zG=Um.useDebugValue;h8.useSyncExternalStoreWithSelector=function(e,t,r,n,o){var a=DG(null);if(a.current===null){var i={hasValue:!1,value:null};a.current=i}else i=a.current;a=jG(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),o!==void 0&&i.hasValue){var m=i.value;if(o(m,p))return d=m}return d=p}if(m=d,MG(c,p))return m;var g=n(p);return o!==void 0&&o(m,g)?(c=p,m):(c=p,d=g)}var u=!1,c,d,f=r===void 0?null:r;return[function(){return s(t())},f===null?void 0:function(){return s(f())}]},[t,r,n,o]);var l=PG(e,a[0],a[1]);return IG(function(){i.hasValue=!0,i.value=l},[l]),zG(l),l}});var w8=on((uhe,b8)=>{"use strict";b8.exports=x8()});var bC=on((qI,hx)=>{(function(e){"use strict";var t=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},n=!0,o="[DecimalError] ",a=o+"Invalid argument: ",i=o+"Exponent out of range: ",l=Math.floor,s=Math.pow,u=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,c,d=1e7,f=7,p=9007199254740991,m=l(p/f),g={};g.absoluteValue=g.abs=function(){var C=new this.constructor(this);return C.s&&(C.s=1),C},g.comparedTo=g.cmp=function(C){var _,z,D,E,j=this;if(C=new j.constructor(C),j.s!==C.s)return j.s||-C.s;if(j.e!==C.e)return j.e>C.e^j.s<0?1:-1;for(D=j.d.length,E=C.d.length,_=0,z=DC.d[_]^j.s<0?1:-1;return D===E?0:D>E^j.s<0?1:-1},g.decimalPlaces=g.dp=function(){var C=this,_=C.d.length-1,z=(_-C.e)*f;if(_=C.d[_],_)for(;_%10==0;_/=10)z--;return z<0?0:z},g.dividedBy=g.div=function(C){return b(this,new this.constructor(C))},g.dividedToIntegerBy=g.idiv=function(C){var _=this,z=_.constructor;return M(b(_,new z(C),0,1),z.precision)},g.equals=g.eq=function(C){return!this.cmp(C)},g.exponent=function(){return S(this)},g.greaterThan=g.gt=function(C){return this.cmp(C)>0},g.greaterThanOrEqualTo=g.gte=function(C){return this.cmp(C)>=0},g.isInteger=g.isint=function(){return this.e>this.d.length-2},g.isNegative=g.isneg=function(){return this.s<0},g.isPositive=g.ispos=function(){return this.s>0},g.isZero=function(){return this.s===0},g.lessThan=g.lt=function(C){return this.cmp(C)<0},g.lessThanOrEqualTo=g.lte=function(C){return this.cmp(C)<1},g.logarithm=g.log=function(C){var _,z=this,D=z.constructor,E=D.precision,j=E+5;if(C===void 0)C=new D(10);else if(C=new D(C),C.s<1||C.eq(c))throw Error(o+"NaN");if(z.s<1)throw Error(o+(z.s?"NaN":"-Infinity"));return z.eq(c)?new D(0):(n=!1,_=b(k(z,j),k(C,j),j),n=!0,M(_,E))},g.minus=g.sub=function(C){var _=this;return C=new _.constructor(C),_.s==C.s?H(_,C):h(_,(C.s=-C.s,C))},g.modulo=g.mod=function(C){var _,z=this,D=z.constructor,E=D.precision;if(C=new D(C),!C.s)throw Error(o+"NaN");return z.s?(n=!1,_=b(z,C,0,1).times(C),n=!0,z.minus(_)):M(new D(z),E)},g.naturalExponential=g.exp=function(){return x(this)},g.naturalLogarithm=g.ln=function(){return k(this)},g.negated=g.neg=function(){var C=new this.constructor(this);return C.s=-C.s||0,C},g.plus=g.add=function(C){var _=this;return C=new _.constructor(C),_.s==C.s?h(_,C):H(_,(C.s=-C.s,C))},g.precision=g.sd=function(C){var _,z,D,E=this;if(C!==void 0&&C!==!!C&&C!==1&&C!==0)throw Error(a+C);if(_=S(E)+1,D=E.d.length-1,z=D*f+1,D=E.d[D],D){for(;D%10==0;D/=10)z--;for(D=E.d[0];D>=10;D/=10)z++}return C&&_>z?_:z},g.squareRoot=g.sqrt=function(){var C,_,z,D,E,j,R,U=this,L=U.constructor;if(U.s<1){if(!U.s)return new L(0);throw Error(o+"NaN")}for(C=S(U),n=!1,E=Math.sqrt(+U),E==0||E==1/0?(_=y(U.d),(_.length+C)%2==0&&(_+="0"),E=Math.sqrt(_),C=l((C+1)/2)-(C<0||C%2),E==1/0?_="5e"+C:(_=E.toExponential(),_=_.slice(0,_.indexOf("e")+1)+C),D=new L(_)):D=new L(E.toString()),z=L.precision,E=R=z+3;;)if(j=D,D=j.plus(b(U,j,R+2)).times(.5),y(j.d).slice(0,R)===(_=y(D.d)).slice(0,R)){if(_=_.slice(R-3,R+1),E==R&&_=="4999"){if(M(j,z+1,0),j.times(j).eq(U)){D=j;break}}else if(_!="9999")break;R+=4}return n=!0,M(D,z)},g.times=g.mul=function(C){var _,z,D,E,j,R,U,L,q,ae=this,ce=ae.constructor,ze=ae.d,oe=(C=new ce(C)).d;if(!ae.s||!C.s)return new ce(0);for(C.s*=ae.s,z=ae.e+C.e,L=ze.length,q=oe.length,L=0;){for(_=0,E=L+D;E>D;)U=j[E]+oe[D]*ze[E-D-1]+_,j[E--]=U%d|0,_=U/d|0;j[E]=(j[E]+_)%d|0}for(;!j[--R];)j.pop();return _?++z:j.shift(),C.d=j,C.e=z,n?M(C,ce.precision):C},g.toDecimalPlaces=g.todp=function(C,_){var z=this,D=z.constructor;return z=new D(z),C===void 0?z:(v(C,0,t),_===void 0?_=D.rounding:v(_,0,8),M(z,C+S(z)+1,_))},g.toExponential=function(C,_){var z,D=this,E=D.constructor;return C===void 0?z=F(D,!0):(v(C,0,t),_===void 0?_=E.rounding:v(_,0,8),D=M(new E(D),C+1,_),z=F(D,!0,C+1)),z},g.toFixed=function(C,_){var z,D,E=this,j=E.constructor;return C===void 0?F(E):(v(C,0,t),_===void 0?_=j.rounding:v(_,0,8),D=M(new j(E),C+S(E)+1,_),z=F(D.abs(),!1,C+S(D)+1),E.isneg()&&!E.isZero()?"-"+z:z)},g.toInteger=g.toint=function(){var C=this,_=C.constructor;return M(new _(C),S(C)+1,_.rounding)},g.toNumber=function(){return+this},g.toPower=g.pow=function(C){var _,z,D,E,j,R,U=this,L=U.constructor,q=12,ae=+(C=new L(C));if(!C.s)return new L(c);if(U=new L(U),!U.s){if(C.s<1)throw Error(o+"Infinity");return U}if(U.eq(c))return U;if(D=L.precision,C.eq(c))return M(U,D);if(_=C.e,z=C.d.length-1,R=_>=z,j=U.s,R){if((z=ae<0?-ae:ae)<=p){for(E=new L(c),_=Math.ceil(D/f+4),n=!1;z%2&&(E=E.times(U),X(E.d,_)),z=l(z/2),z!==0;)U=U.times(U),X(U.d,_);return n=!0,C.s<0?new L(c).div(E):M(E,D)}}else if(j<0)throw Error(o+"NaN");return j=j<0&&C.d[Math.max(_,z)]&1?-1:1,U.s=1,n=!1,E=C.times(k(U,D+q)),n=!0,E=x(E),E.s=j,E},g.toPrecision=function(C,_){var z,D,E=this,j=E.constructor;return C===void 0?(z=S(E),D=F(E,z<=j.toExpNeg||z>=j.toExpPos)):(v(C,1,t),_===void 0?_=j.rounding:v(_,0,8),E=M(new j(E),C,_),z=S(E),D=F(E,C<=z||z<=j.toExpNeg,C)),D},g.toSignificantDigits=g.tosd=function(C,_){var z=this,D=z.constructor;return C===void 0?(C=D.precision,_=D.rounding):(v(C,1,t),_===void 0?_=D.rounding:v(_,0,8)),M(new D(z),C,_)},g.toString=g.valueOf=g.val=g.toJSON=function(){var C=this,_=S(C),z=C.constructor;return F(C,_<=z.toExpNeg||_>=z.toExpPos)};function h(C,_){var z,D,E,j,R,U,L,q,ae=C.constructor,ce=ae.precision;if(!C.s||!_.s)return _.s||(_=new ae(C)),n?M(_,ce):_;if(L=C.d,q=_.d,R=C.e,E=_.e,L=L.slice(),j=R-E,j){for(j<0?(D=L,j=-j,U=q.length):(D=q,E=R,U=L.length),R=Math.ceil(ce/f),U=R>U?R+1:U+1,j>U&&(j=U,D.length=1),D.reverse();j--;)D.push(0);D.reverse()}for(U=L.length,j=q.length,U-j<0&&(j=U,D=q,q=L,L=D),z=0;j;)z=(L[--j]=L[j]+q[j]+z)/d|0,L[j]%=d;for(z&&(L.unshift(z),++E),U=L.length;L[--U]==0;)L.pop();return _.d=L,_.e=E,n?M(_,ce):_}function v(C,_,z){if(C!==~~C||C<_||C>z)throw Error(a+C)}function y(C){var _,z,D,E=C.length-1,j="",R=C[0];if(E>0){for(j+=R,_=1;_R?1:-1;else for(U=L=0;UE[U]?1:-1;break}return L}function z(D,E,j){for(var R=0;j--;)D[j]-=R,R=D[j]1;)D.shift()}return function(D,E,j,R){var U,L,q,ae,ce,ze,oe,Ee,V,I,N,O,Z,B,we,ee,ue,W,xe=D.constructor,De=D.s==E.s?1:-1,Ge=D.d,it=E.d;if(!D.s)return new xe(D);if(!E.s)throw Error(o+"Division by zero");for(L=D.e-E.e,ue=it.length,we=Ge.length,oe=new xe(De),Ee=oe.d=[],q=0;it[q]==(Ge[q]||0);)++q;if(it[q]>(Ge[q]||0)&&--L,j==null?O=j=xe.precision:R?O=j+(S(D)-S(E))+1:O=j,O<0)return new xe(0);if(O=O/f+2|0,q=0,ue==1)for(ae=0,it=it[0],O++;(q1&&(it=C(it,ae),Ge=C(Ge,ae),ue=it.length,we=Ge.length),B=ue,V=Ge.slice(0,ue),I=V.length;I=d/2&&++ee;do ae=0,U=_(it,V,ue,I),U<0?(N=V[0],ue!=I&&(N=N*d+(V[1]||0)),ae=N/ee|0,ae>1?(ae>=d&&(ae=d-1),ce=C(it,ae),ze=ce.length,I=V.length,U=_(ce,V,ze,I),U==1&&(ae--,z(ce,ue16)throw Error(i+S(C));if(!C.s)return new ae(c);for(_==null?(n=!1,U=ce):U=_,R=new ae(.03125);C.abs().gte(.1);)C=C.times(R),q+=5;for(D=Math.log(s(2,q))/Math.LN10*2+5|0,U+=D,z=E=j=new ae(c),ae.precision=U;;){if(E=M(E.times(C),U),z=z.times(++L),R=j.plus(b(E,z,U)),y(R.d).slice(0,U)===y(j.d).slice(0,U)){for(;q--;)j=M(j.times(j),U);return ae.precision=ce,_==null?(n=!0,M(j,ce)):j}j=R}}function S(C){for(var _=C.e*f,z=C.d[0];z>=10;z/=10)_++;return _}function w(C,_,z){if(_>C.LN10.sd())throw n=!0,z&&(C.precision=z),Error(o+"LN10 precision limit exceeded");return M(new C(C.LN10),_)}function T(C){for(var _="";C--;)_+="0";return _}function k(C,_){var z,D,E,j,R,U,L,q,ae,ce=1,ze=10,oe=C,Ee=oe.d,V=oe.constructor,I=V.precision;if(oe.s<1)throw Error(o+(oe.s?"NaN":"-Infinity"));if(oe.eq(c))return new V(0);if(_==null?(n=!1,q=I):q=_,oe.eq(10))return _==null&&(n=!0),w(V,q);if(q+=ze,V.precision=q,z=y(Ee),D=z.charAt(0),j=S(oe),Math.abs(j)<15e14){for(;D<7&&D!=1||D==1&&z.charAt(1)>3;)oe=oe.times(C),z=y(oe.d),D=z.charAt(0),ce++;j=S(oe),D>1?(oe=new V("0."+z),j++):oe=new V(D+"."+z.slice(1))}else return L=w(V,q+2,I).times(j+""),oe=k(new V(D+"."+z.slice(1)),q-ze).plus(L),V.precision=I,_==null?(n=!0,M(oe,I)):oe;for(U=R=oe=b(oe.minus(c),oe.plus(c),q),ae=M(oe.times(oe),q),E=3;;){if(R=M(R.times(ae),q),L=U.plus(b(R,new V(E),q)),y(L.d).slice(0,q)===y(U.d).slice(0,q))return U=U.times(2),j!==0&&(U=U.plus(w(V,q+2,I).times(j+""))),U=b(U,new V(ce),q),V.precision=I,_==null?(n=!0,M(U,I)):U;U=L,E+=2}}function A(C,_){var z,D,E;for((z=_.indexOf("."))>-1&&(_=_.replace(".","")),(D=_.search(/e/i))>0?(z<0&&(z=D),z+=+_.slice(D+1),_=_.substring(0,D)):z<0&&(z=_.length),D=0;_.charCodeAt(D)===48;)++D;for(E=_.length;_.charCodeAt(E-1)===48;)--E;if(_=_.slice(D,E),_){if(E-=D,z=z-D-1,C.e=l(z/f),C.d=[],D=(z+1)%f,z<0&&(D+=f),Dm||C.e<-m))throw Error(i+z)}else C.s=0,C.e=0,C.d=[0];return C}function M(C,_,z){var D,E,j,R,U,L,q,ae,ce=C.d;for(R=1,j=ce[0];j>=10;j/=10)R++;if(D=_-R,D<0)D+=f,E=_,q=ce[ae=0];else{if(ae=Math.ceil((D+1)/f),j=ce.length,ae>=j)return C;for(q=j=ce[ae],R=1;j>=10;j/=10)R++;D%=f,E=D-f+R}if(z!==void 0&&(j=s(10,R-E-1),U=q/j%10|0,L=_<0||ce[ae+1]!==void 0||q%j,L=z<4?(U||L)&&(z==0||z==(C.s<0?3:2)):U>5||U==5&&(z==4||L||z==6&&(D>0?E>0?q/s(10,R-E):0:ce[ae-1])%10&1||z==(C.s<0?8:7))),_<1||!ce[0])return L?(j=S(C),ce.length=1,_=_-j-1,ce[0]=s(10,(f-_%f)%f),C.e=l(-_/f)||0):(ce.length=1,ce[0]=C.e=C.s=0),C;if(D==0?(ce.length=ae,j=1,ae--):(ce.length=ae+1,j=s(10,f-D),ce[ae]=E>0?(q/s(10,R-E)%s(10,E)|0)*j:0),L)for(;;)if(ae==0){(ce[0]+=j)==d&&(ce[0]=1,++C.e);break}else{if(ce[ae]+=j,ce[ae]!=d)break;ce[ae--]=0,j=1}for(D=ce.length;ce[--D]===0;)ce.pop();if(n&&(C.e>m||C.e<-m))throw Error(i+S(C));return C}function H(C,_){var z,D,E,j,R,U,L,q,ae,ce,ze=C.constructor,oe=ze.precision;if(!C.s||!_.s)return _.s?_.s=-_.s:_=new ze(C),n?M(_,oe):_;if(L=C.d,ce=_.d,D=_.e,q=C.e,L=L.slice(),R=q-D,R){for(ae=R<0,ae?(z=L,R=-R,U=ce.length):(z=ce,D=q,U=L.length),E=Math.max(Math.ceil(oe/f),U)+2,R>E&&(R=E,z.length=1),z.reverse(),E=R;E--;)z.push(0);z.reverse()}else{for(E=L.length,U=ce.length,ae=E0;--E)L[U++]=0;for(E=ce.length;E>R;){if(L[--E]0?j=j.charAt(0)+"."+j.slice(1)+T(D):R>1&&(j=j.charAt(0)+"."+j.slice(1)),j=j+(E<0?"e":"e+")+E):E<0?(j="0."+T(-E-1)+j,z&&(D=z-R)>0&&(j+=T(D))):E>=R?(j+=T(E+1-R),z&&(D=z-E-1)>0&&(j=j+"."+T(D))):((D=E+1)0&&(E+1===R&&(j+="."),j+=T(D))),C.s<0?"-"+j:j}function X(C,_){if(C.length>_)return C.length=_,!0}function P(C){var _,z,D;function E(j){var R=this;if(!(R instanceof E))return new E(j);if(R.constructor=E,j instanceof E){R.s=j.s,R.e=j.e,R.d=(j=j.d)?j.slice():j;return}if(typeof j=="number"){if(j*0!==0)throw Error(a+j);if(j>0)R.s=1;else if(j<0)j=-j,R.s=-1;else{R.s=0,R.e=0,R.d=[0];return}if(j===~~j&&j<1e7){R.e=0,R.d=[j];return}return A(R,j.toString())}else if(typeof j!="string")throw Error(a+j);if(j.charCodeAt(0)===45?(j=j.slice(1),R.s=-1):R.s=1,u.test(j))A(R,j);else throw Error(a+j)}if(E.prototype=g,E.ROUND_UP=0,E.ROUND_DOWN=1,E.ROUND_CEIL=2,E.ROUND_FLOOR=3,E.ROUND_HALF_UP=4,E.ROUND_HALF_DOWN=5,E.ROUND_HALF_EVEN=6,E.ROUND_HALF_CEIL=7,E.ROUND_HALF_FLOOR=8,E.clone=P,E.config=E.set=Y,C===void 0&&(C={}),C)for(D=["precision","rounding","toExpNeg","toExpPos","LN10"],_=0;_=E[_+1]&&D<=E[_+2])this[z]=D;else throw Error(a+z+": "+D);if((D=C[z="LN10"])!==void 0)if(D==Math.LN10)this[z]=new this(D);else throw Error(a+z+": "+D);return this}r=P(r),r.default=r.Decimal=r,c=new r(1),typeof define=="function"&&define.amd?define(function(){return r}):typeof hx<"u"&&hx.exports?hx.exports=r:(e||(e=typeof self<"u"&&self&&self.self==self?self:Function("return this")()),e.Decimal=r)})(qI)});var Uz=on((QCe,a_)=>{"use strict";var $ee=Object.prototype.hasOwnProperty,Kn="~";function Pv(){}Object.create&&(Pv.prototype=Object.create(null),new Pv().__proto__||(Kn=!1));function Fee(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function Fz(e,t,r,n,o){if(typeof r!="function")throw new TypeError("The listener must be a function");var a=new Fee(r,n||e,o),i=Kn?Kn+t:t;return e._events[i]?e._events[i].fn?e._events[i]=[e._events[i],a]:e._events[i].push(a):(e._events[i]=a,e._eventsCount++),e}function Wb(e,t){--e._eventsCount===0?e._events=new Pv:delete e._events[t]}function Mn(){this._events=new Pv,this._eventsCount=0}Mn.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)$ee.call(r,n)&&t.push(Kn?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Mn.prototype.listeners=function(t){var r=Kn?Kn+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,a=n.length,i=new Array(a);o{"use strict";var v_=Symbol.for("react.transitional.element"),g_=Symbol.for("react.portal"),r1=Symbol.for("react.fragment"),n1=Symbol.for("react.strict_mode"),o1=Symbol.for("react.profiler"),a1=Symbol.for("react.consumer"),i1=Symbol.for("react.context"),l1=Symbol.for("react.forward_ref"),s1=Symbol.for("react.suspense"),u1=Symbol.for("react.suspense_list"),c1=Symbol.for("react.memo"),d1=Symbol.for("react.lazy"),Cre=Symbol.for("react.view_transition"),Nre=Symbol.for("react.client.reference");function pa(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case v_:switch(e=e.type,e){case r1:case o1:case n1:case s1:case u1:case Cre:return e;default:switch(e=e&&e.$$typeof,e){case i1:case l1:case d1:case c1:return e;case a1:return e;default:return t}}case g_:return t}}}Qt.ContextConsumer=a1;Qt.ContextProvider=i1;Qt.Element=v_;Qt.ForwardRef=l1;Qt.Fragment=r1;Qt.Lazy=d1;Qt.Memo=c1;Qt.Portal=g_;Qt.Profiler=o1;Qt.StrictMode=n1;Qt.Suspense=s1;Qt.SuspenseList=u1;Qt.isContextConsumer=function(e){return pa(e)===a1};Qt.isContextProvider=function(e){return pa(e)===i1};Qt.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===v_};Qt.isForwardRef=function(e){return pa(e)===l1};Qt.isFragment=function(e){return pa(e)===r1};Qt.isLazy=function(e){return pa(e)===d1};Qt.isMemo=function(e){return pa(e)===c1};Qt.isPortal=function(e){return pa(e)===g_};Qt.isProfiler=function(e){return pa(e)===o1};Qt.isStrictMode=function(e){return pa(e)===n1};Qt.isSuspense=function(e){return pa(e)===s1};Qt.isSuspenseList=function(e){return pa(e)===u1};Qt.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===r1||e===o1||e===n1||e===s1||e===u1||typeof e=="object"&&e!==null&&(e.$$typeof===d1||e.$$typeof===c1||e.$$typeof===i1||e.$$typeof===a1||e.$$typeof===l1||e.$$typeof===Nre||e.getModuleId!==void 0)};Qt.typeOf=pa});var RL=on((R_e,JL)=>{"use strict";JL.exports=QL()});var nU=te(re()),oU=te(AM());var rt=te(re());var Fe=te(re());var Mt=te(re()),cu={github:{emoji:"\u{1F419}",label:"GitHub"},ruby:{emoji:"\u{1F48E}",label:"Ruby"},rails:{emoji:"\u{1F6E4}\uFE0F",label:"Rails"},aws:{emoji:"\u2601\uFE0F",label:"AWS"},gcp:{emoji:"\u{1F310}",label:"GCP"},python:{emoji:"\u{1F40D}",label:"Python"},typescript:{emoji:"\u{1F4D8}",label:"TypeScript"},docker:{emoji:"\u{1F433}",label:"Docker"},kubernetes:{emoji:"\u2638\uFE0F",label:"Kubernetes"}},du={terminal:{emoji:"\u{1F4BB}",label:"Terminal"},playwright:{emoji:"\u{1F3AD}",label:"Playwright"},filesystem:{emoji:"\u{1F4C1}",label:"Filesystem"},code:{emoji:"\u{1F468}\u200D\u{1F4BB}",label:"Code"},database:{emoji:"\u{1F5C4}\uFE0F",label:"Database"},slack:{emoji:"\u{1F4AC}",label:"Slack"},fetch:{emoji:"\u{1F310}",label:"Fetch"},search:{emoji:"\u{1F50D}",label:"Search"},edit:{emoji:"\u270F\uFE0F",label:"Edit"},translate:{emoji:"\u{1F30D}",label:"Translate"},memory:{emoji:"\u{1F9E0}",label:"Memory"},ui:{emoji:"\u{1F9E9}",label:"Generative UI"}},yd={terminal:{instructions:["github"],tools:["terminal","code"]},webDeveloper:{instructions:["typescript"],tools:["playwright","fetch"]},documentAnalysis:{instructions:["python"],tools:["database","search","code"]},writing:{instructions:["ruby"],tools:["edit","memory"]},translation:{instructions:["ruby","python","typescript"],tools:["translate","code"]},playwright:{instructions:["typescript"],tools:["playwright","fetch"]},research:{instructions:["github"],tools:["fetch","search","memory"]},imageAnalysis:{instructions:["python"],tools:["filesystem","code"]},computerUse:{instructions:["github"],tools:["terminal","playwright"]},productDesign:{instructions:["typescript"],tools:["playwright","code"]}};var oV=({id:e="mascot"})=>Mt.default.createElement("g",{stroke:"none",fill:"none",fillRule:"evenodd",strokeWidth:"1"},Mt.default.createElement("g",{transform:"translate(25, 475) scale(-1, 1) rotate(-180) translate(-25, -475) translate(0, 450)"},Mt.default.createElement("g",{fillRule:"nonzero"},Mt.default.createElement("path",{d:"M421,271.3 C422.733,265.1 423.667,244.633 423.8,209.9 C423.9,173.4 423.8,142.1 423.5,140.4 C423.1,137.9 412.5,126.8 373.1,87.2 C345.6,59.7 321.7,36.3 319.8,35.3 C316.7,33.6 312.5,33.5 250,33.5 C186.5,33.5 183.3,33.6 178.2,35.4 C173.5,37.2 168.3,42.1 125.2,85.3 C69.3,141.4 75.6,134.9 73.7,138.7 C72.3,141.3 72,147.2 71.8,178.6 C71.3,243.6 71.8,276 73.4,276 C74.067,276 99.6,304.854 150,362.563 L350.015,362.563 L421,271.3 Z",fill:"#EB5555",stroke:"#000000",strokeWidth:"12"})),Mt.default.createElement("path",{d:"M216.5,202.5 C213.4,199.5 213.4,198.7 216.5,193.4 C223.2,182 248.2,176 264.5,181.9 C273,185 280.3,190.1 282.4,194.5 C284,197.9 284,198.3 282.5,200.6 C281.6,202 279.8,203.6 278.5,204.2 C276.4,205.1 275.4,204.7 270.1,200.8 C263,195.4 254.7,193.3 244.4,194.4 C236.1,195.3 234.3,196 228.6,200.9 C223.1,205.6 220,206.1 216.5,202.5 Z",fill:"#000000",fillRule:"nonzero"}),Mt.default.createElement("path",{d:"M177.8,484.5 C169.1,482.1 162,475.2 157.7,465 C156.2,461.4 151.9,446.6 148.1,432 C144.3,417.4 140.7,404.3 140.1,402.8 L139,400 L94.8,400 C70.4,400 49.5,399.7 48.2,399.4 C45.1,398.5 42.7,393.8 43.9,390.8 C45.1,387.9 49.4,383.3 54,379.9 C68.7,369.2 86.3,364.8 120,363.4 C126.067,363.2 134.065,362.921 143.995,362.563 L350.015,362.563 C367.433,363.767 377.5,364.1 377.5,364.1 C411,365.2 433.1,371.5 446.2,383.8 C453.8,390.9 455.1,394.7 451.3,399 C451,399.3 429.6,399.7 403.7,400 L356.6,400.5 L353.3,412.5 C351.5,419.1 348.2,431.3 346.1,439.5 C339.9,463 336.7,470.5 329.4,477.5 C322.9,483.8 315.7,486.3 305.5,485.8 C298.1,485.4 296.1,484.7 280.5,477.8 C271.2,473.7 261.7,469.7 259.5,468.9 C250.9,466.1 238.1,467.9 224.9,473.8 C197.3,486.1 189.8,487.8 177.8,484.5 Z",stroke:"#000000",strokeWidth:"11",fill:"#000000",fillRule:"nonzero"}),Mt.default.createElement("g",{transform:"translate(75.105, 196.182)"},Mt.default.createElement("ellipse",{fill:"#F5E6D3",cx:"87",cy:"55",rx:"35",ry:"29"}),Mt.default.createElement("ellipse",{fill:"#5D4037",cx:"87",cy:"57",rx:"20",ry:"20"}),Mt.default.createElement("ellipse",{fill:"#2D1F1F",cx:"87",cy:"57",rx:"12",ry:"12"}),Mt.default.createElement("ellipse",{fill:"#FFFFFF",cx:"80",cy:"51",rx:"5",ry:"5"}),Mt.default.createElement("ellipse",{fill:"#F5E6D3",cx:"259",cy:"55",rx:"35",ry:"29"}),Mt.default.createElement("ellipse",{fill:"#5D4037",cx:"259",cy:"57",rx:"20",ry:"20"}),Mt.default.createElement("ellipse",{fill:"#2D1F1F",cx:"259",cy:"57",rx:"12",ry:"12"}),Mt.default.createElement("ellipse",{fill:"#FFFFFF",cx:"252",cy:"51",rx:"5",ry:"5"})),Mt.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},Mt.default.createElement("g",{transform:"translate(267.395, 54.835) scale(-1, 1) translate(-267.395, -54.835)"},Mt.default.createElement("path",{d:"M346.895,99.881 L335.287,108.67 L292.495,108.67 L211.805,108.67 C194.861,92.394 186.922,84.257 187.99,84.257 C188.99,84.257 187.689,77.518 187.99,71.118 C188.99,54.518 196.996,38.618 211.805,23.818 C219.711,15.918 222.813,13.518 230.118,10.018 C242.025,4.118 250.431,1.818 262.839,1.118 C274.147,0.518 285.354,2.218 295.561,6.018 C308.67,10.918 327.482,26.818 335.287,39.618 C342.092,50.918 346.895,65.818 346.895,76.018 C346.895,82.818 346.895,90.772 346.895,99.881 Z",stroke:"#000000",strokeWidth:"8",fill:"#000000",fillOpacity:"0.92"})),Mt.default.createElement("path",{d:"M158.895,99.881 L147.295,108.67 L104.531,108.67 L23.895,108.67 C6.961,92.394 -0.972,84.257 0.095,84.257 C1.095,84.257 -0.205,77.518 0.095,71.118 C1.095,54.518 9.095,38.618 23.895,23.818 C31.795,15.918 34.895,13.518 42.195,10.018 C54.095,4.118 62.495,1.818 74.895,1.118 C86.195,0.518 97.395,2.218 107.595,6.018 C120.695,10.918 139.495,26.818 147.295,39.618 C154.095,50.918 158.895,65.818 158.895,76.018 C158.895,82.818 158.895,90.772 158.895,99.881 Z",stroke:"#000000",strokeWidth:"8",fill:"#000000",fillOpacity:"0.92"})),Mt.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},Mt.default.createElement("path",{d:"M187.895,73.418 C187.895,60.818 195.095,43.418 205.495,30.818 C213.379,21.259 220.29,15.351 230.066,10.615 C233.275,8.66 236.386,7.08 239.229,6.018 C246.892,3.165 255.119,1.496 263.529,1.095 C267.063,0.859 270.58,0.912 274.131,1.261 C285.374,2.105 293.475,4.47 304.672,10.018 C311.734,13.402 314.868,15.757 322.213,23.049 L322.795,23.618 C326.306,27.085 329.397,30.586 332.082,34.15 L332.148,34.235 C341.116,45.994 346.03,58.349 346.8,71.118 C346.957,74.467 346.676,77.909 346.515,80.429 C346.693,80.646 346.917,80.701 347.195,80.618 C347.366,80.542 348.039,80.501 349.213,80.495 L349.775,80.495 C352.888,80.507 358.769,80.715 367.418,81.118 C374.646,86.469 378.26,91.703 378.26,96.818 C378.26,101.933 374.646,107.042 367.418,112.146 L15.403,112.146 L-20.38,113.348 C-27.807,110.322 -31.52,105.629 -31.52,99.27 C-31.52,92.911 -27.807,88.087 -20.38,84.798 C-13.63,84.605 -8.537,84.463 -5.101,84.373 C-5.115,84.296 -5.084,84.257 -5.01,84.257 C-4.01,84.257 -5.311,77.518 -5.01,71.118 C-4.01,54.518 3.996,38.618 18.805,23.818 C26.711,15.918 29.813,13.518 37.118,10.018 C49.025,4.118 57.431,1.818 69.839,1.118 C72.166,0.994 74.489,0.968 76.8,1.038 C76.165,1.058 75.53,1.084 74.895,1.118 C62.495,1.818 54.095,4.118 42.195,10.018 C34.895,13.518 31.795,15.918 23.895,23.818 C9.095,38.618 1.095,54.518 0.095,71.118 C-0.205,77.518 1.095,84.257 0.095,84.257 C-0.4,84.257 -2.131,84.296 -5.101,84.373 C-4.938,85.42 3.031,93.518 18.805,108.67 L142.287,108.67 L153.895,99.881 L153.895,76.018 C153.895,65.818 149.092,50.918 142.287,39.618 C134.482,26.818 115.67,10.918 102.561,6.018 C94.455,3 85.717,1.307 76.8,1.038 C87.451,0.716 97.968,2.432 107.595,6.018 C120.695,10.918 139.495,26.818 147.295,39.618 C154.095,50.918 158.895,65.818 158.895,76.018 L158.895,80.418 L164.995,80.418 C168.395,80.118 174.995,79.818 179.495,79.818 L187.895,79.818 L187.895,99.881 L199.502,108.67 L322.984,108.67 C339.929,92.394 347.867,84.257 346.8,84.257 C346.323,84.257 346.369,82.725 346.515,80.429 C346.051,79.868 345.895,78.223 345.895,75.118 C345.895,59.873 341.479,46.625 332.082,34.15 L331.696,33.647 C329.117,30.321 326.212,27.043 322.984,23.818 C322.722,23.556 322.465,23.299 322.213,23.049 C316.441,17.437 312.579,14.708 306.095,11.418 C294.424,5.583 284.144,2.245 274.131,1.261 C273.417,1.207 272.691,1.16 271.95,1.118 C269.132,0.968 266.321,0.962 263.529,1.095 C257.389,1.506 251.198,2.792 244.695,4.918 C239.073,6.731 234.301,8.563 230.066,10.615 C218.478,17.668 205.615,29.594 199.502,39.618 C192.698,50.917 187.895,65.817 187.895,76.017 L187.895,73.418 Z",stroke:"#000000",strokeWidth:"8",fill:"#000000"})),Mt.default.createElement("g",{transform:"translate(83.563, 252.212)",fill:"#FFFFFF",fillRule:"nonzero"},Mt.default.createElement("path",{d:"M12.837,35.288 C13.137,33.988 14.437,31.888 15.637,30.788 L17.837,28.788 L15.637,26.788 C14.437,25.688 13.137,23.588 12.837,22.288 C12.037,19.088 10.637,19.088 9.437,22.188 C8.937,23.488 7.537,25.588 6.237,26.788 C4.037,28.788 4.037,28.988 5.737,29.988 C6.837,30.488 8.237,32.488 9.037,34.388 C10.737,38.388 11.937,38.688 12.837,35.288 Z M29.237,33.088 C30.137,29.688 31.837,27.088 34.937,24.088 L39.337,19.888 L36.337,17.788 C33.437,15.588 28.437,7.288 28.437,4.288 C28.437,2.188 26.537,2.388 25.837,4.588 C23.937,10.388 21.637,14.388 18.337,17.188 L14.537,20.388 L17.337,22.088 C19.837,23.588 24.337,30.988 25.837,36.088 C26.737,39.088 27.937,37.988 29.237,33.088 Z M10.937,12.488 L13.037,9.288 L10.937,6.088 C8.837,2.788 7.437,1.888 7.437,3.988 C7.437,4.588 6.537,6.088 5.437,7.288 L3.437,9.488 L5.437,11.288 C6.537,12.288 7.437,13.688 7.437,14.488 C7.437,16.688 8.837,15.888 10.937,12.488 Z"}),Mt.default.createElement("path",{d:"M203.437,36.388 C203.437,35.588 204.637,33.588 206.037,31.888 L208.637,28.788 L206.037,25.688 C204.637,23.988 203.437,21.988 203.437,21.188 C203.437,18.588 201.437,19.788 200.037,23.188 C199.237,25.088 197.837,27.088 196.737,27.688 C195.037,28.688 195.037,28.788 197.037,30.188 C198.237,30.988 199.737,33.088 200.437,34.788 C201.737,37.888 203.437,38.788 203.437,36.388 Z M220.837,32.588 C221.937,29.288 224.237,25.788 226.737,23.388 C229.737,20.488 230.537,19.288 229.437,18.988 C226.637,17.988 222.437,12.588 220.737,7.688 C219.737,4.988 218.737,2.788 218.337,2.788 C218.037,2.788 216.737,5.288 215.537,8.288 C214.337,11.288 211.737,15.088 209.837,16.688 C205.937,20.188 205.637,21.388 208.437,22.288 C210.937,23.088 214.737,28.788 216.437,34.088 C217.037,36.088 217.937,37.788 218.237,37.788 C218.637,37.788 219.837,35.388 220.837,32.588 Z M201.137,14.088 C201.437,13.088 202.437,11.488 203.337,10.488 C204.337,9.288 204.537,8.388 203.837,7.988 C203.237,7.588 202.237,6.288 201.537,5.088 C200.137,2.388 198.837,2.188 198.037,4.588 C197.737,5.488 196.937,6.988 196.337,7.888 C195.337,9.288 195.437,9.888 196.737,11.288 C197.637,12.188 198.437,13.588 198.437,14.388 C198.437,16.388 200.337,16.188 201.137,14.088 Z"}))));function wr({size:e=200,instructions:t=[],tools:r=[],showDecorations:n=!1,className:o="",hat:a,hatAccessory:i,heldItem:l,theme:s,customColors:u}){return Mt.default.createElement("div",{className:`inline-flex flex-col items-center ${o}`},n&&t.length>0&&Mt.default.createElement("div",{className:"flex gap-1 mb-1"},t.map(c=>{let d=cu[c];return d?Mt.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})),Mt.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500",width:e,height:e,role:"img","aria-label":"Active Agent mascot"},Mt.default.createElement("title",null,"ActiveAgent"),Mt.default.createElement(oV,null)),n&&r.length>0&&Mt.default.createElement("div",{className:"flex gap-1 mt-1"},r.map(c=>{let d=du[c];return d?Mt.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})))}var to=te(re());var _a=te(re()),kM=(0,_a.createContext)();function CM({children:e}){let[t,r]=(0,_a.useState)(()=>{let o=localStorage.getItem("dashboard-theme");return o?o==="dark":window.matchMedia("(prefers-color-scheme: dark)").matches});(0,_a.useEffect)(()=>{localStorage.setItem("dashboard-theme",t?"dark":"light")},[t]),(0,_a.useEffect)(()=>{let o=window.matchMedia("(prefers-color-scheme: dark)"),a=i=>{localStorage.getItem("dashboard-theme")||r(i.matches)};return o.addEventListener("change",a),()=>o.removeEventListener("change",a)},[]);let n=()=>r(!t);return _a.default.createElement(kM.Provider,{value:{darkMode:t,toggleDarkMode:n}},e)}function Nt(){let e=(0,_a.useContext)(kM);if(!e)throw new Error("useTheme must be used within a ThemeProvider");return e}function hd({name:e,subtitle:t,badge:r,accentColor:n,stats:o=[],footer:a,onClick:i,actions:l}){let{darkMode:s}=Nt(),[u,c]=to.default.useState(!1),d={cardBg:s?"rgba(255,255,255,0.05)":"#ffffff",border:s?"rgba(255,255,255,0.1)":"#e5e7eb",borderHover:s?"rgba(255,255,255,0.2)":"#d1d5db",tileBg:s?"rgba(255,255,255,0.05)":"#f9fafb",textPrimary:s?"#f9fafb":"#111827",textSecondary:s?"#9ca3af":"#6b7280",textMuted:s?"#6b7280":"#9ca3af"},f=p=>p==="good"?s?"#4ade80":"#16a34a":p==="warn"?s?"#facc15":"#ca8a04":p==="bad"?s?"#f87171":"#dc2626":p==="muted"?d.textMuted:d.textPrimary;return to.default.createElement("div",{"data-testid":"agent-card","data-agent-name":typeof e=="string"?e:void 0,onClick:i,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),role:i?"button":void 0,tabIndex:i?0:void 0,onKeyDown:p=>{i&&(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),i(p))},style:{background:d.cardBg,borderTop:`1px solid ${u?d.borderHover:d.border}`,borderRight:`1px solid ${u?d.borderHover:d.border}`,borderBottom:`1px solid ${u?d.borderHover:d.border}`,borderLeft:n?`4px solid ${n}`:`1px solid ${u?d.borderHover:d.border}`,borderRadius:"12px",padding:"16px",cursor:i?"pointer":"default",transition:"border-color 0.15s ease, box-shadow 0.15s ease",boxShadow:u&&i?"0 4px 16px rgba(0,0,0,0.08)":"none",display:"flex",flexDirection:"column",gap:"12px"}},to.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"8px"}},to.default.createElement("div",{style:{minWidth:0}},to.default.createElement("div",{style:{fontWeight:600,fontSize:"15px",color:u&&i?"#ef4444":d.textPrimary,transition:"color 0.15s ease",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e},e),t&&to.default.createElement("div",{style:{fontSize:"13px",color:d.textSecondary,marginTop:"2px",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"}},t)),r&&to.default.createElement("div",{style:{flexShrink:0}},r)),o.length>0&&to.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"6px"}},o.map(p=>to.default.createElement("div",{key:p.label,title:p.title,style:{background:d.tileBg,borderRadius:"8px",padding:"6px 8px",textAlign:"center"}},to.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,lineHeight:1.2,color:f(p.tone)}},p.value),to.default.createElement("div",{style:{fontSize:"10px",textTransform:"uppercase",letterSpacing:"0.04em",color:d.textMuted,whiteSpace:"nowrap"}},p.label)))),a&&to.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"8px",fontSize:"12px",color:d.textMuted}},a),l&&to.default.createElement("div",{style:{opacity:u?1:0,transition:"opacity 0.15s ease"}},l))}function zA(e){return e==null?"muted":e>=.85?"good":e>=.7?"warn":"bad"}var aV=[{value:"recent",label:"Recently updated"},{value:"popular",label:"Most runs"},{value:"longest",label:"Longest average"},{value:"cost",label:"Highest cost"},{value:"tokens",label:"Most tokens"}];function LA({agents:e,meta:t,onSelect:r,onNew:n,onBrowseTemplates:o,onDuplicate:a,onDelete:i,onRefresh:l,sort:s="recent",onSortChange:u,isLoading:c}){let[d,f]=(0,Fe.useState)(""),[p,m]=(0,Fe.useState)(""),[g,h]=(0,Fe.useState)(""),v=e.filter(k=>{let A=!d||k.name.toLowerCase().includes(d.toLowerCase())||k.description?.toLowerCase().includes(d.toLowerCase()),M=!p||k.provider===p,H=!g||k.status===g;return A&&M&&H}),y=k=>{let A=new Date(k),H=new Date-A,F=Math.floor(H/(1e3*60*60*24));return F===0?"Today":F===1?"Yesterday":F<7?`${F} days ago`:A.toLocaleDateString()},b=k=>{switch(k){case"active":return"bg-green-100 text-green-700";case"draft":return"bg-yellow-100 text-yellow-700";case"archived":return"bg-gray-100 text-gray-500";default:return"bg-gray-100 text-gray-500"}},x=k=>k==null?"\u2014":k<1e3?`${Math.round(k)}ms`:`${(k/1e3).toFixed(1)}s`,S=k=>k==null?"\u2014":k>=1e6?`${(k/1e6).toFixed(1)}M`:k>=1e3?`${(k/1e3).toFixed(1)}k`:`${k}`,w=k=>k==null?"\u2014":k>0&&k<.01?"<$0.01":`$${k.toFixed(2)}`,T=k=>{if(!k)return"\u2014";let A=Math.floor((new Date-new Date(k))/(1e3*60*60*24));return A<=0?"Today":A<30?`${A}d ago`:new Date(k).toLocaleDateString()};return Fe.default.createElement("div",{className:"space-y-6"},Fe.default.createElement("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4"},Fe.default.createElement("div",{className:"flex-1 flex items-center space-x-4"},Fe.default.createElement("div",{className:"relative flex-1 max-w-md"},Fe.default.createElement("input",{type:"text",placeholder:"Search agents...",value:d,onChange:k=>f(k.target.value),className:"w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent"}),Fe.default.createElement("svg",{className:"absolute left-3 top-2.5 h-5 w-5 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fe.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"}))),Fe.default.createElement("select",{value:p,onChange:k=>m(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Fe.default.createElement("option",{value:""},"All Providers"),t.providers?.map(k=>Fe.default.createElement("option",{key:k,value:k},k.charAt(0).toUpperCase()+k.slice(1)))),Fe.default.createElement("select",{value:g,onChange:k=>h(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Fe.default.createElement("option",{value:""},"All Status"),Fe.default.createElement("option",{value:"active"},"Active"),Fe.default.createElement("option",{value:"draft"},"Draft"),Fe.default.createElement("option",{value:"archived"},"Archived")),Fe.default.createElement("select",{value:s,onChange:k=>u?.(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500",title:"Rank agents by their scorecard"},aV.map(k=>Fe.default.createElement("option",{key:k.value,value:k.value},k.label)))),Fe.default.createElement("div",{className:"flex items-center space-x-3"},Fe.default.createElement("button",{onClick:l,disabled:c,className:"p-2 text-gray-500 hover:text-gray-700 hover:bg-gray-100 rounded-lg transition-colors"},Fe.default.createElement("svg",{className:`h-5 w-5 ${c?"animate-spin":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fe.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"}))),Fe.default.createElement("button",{onClick:o,className:"flex items-center space-x-2 px-4 py-2 border border-gray-300 text-gray-700 rounded-lg hover:bg-gray-50 transition-colors"},Fe.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fe.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"})),Fe.default.createElement("span",null,"Browse Templates")),Fe.default.createElement("button",{onClick:n,className:"flex items-center space-x-2 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors"},Fe.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fe.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Fe.default.createElement("span",null,"New Agent")))),v.length>0?Fe.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6"},v.map(k=>{let A=k.stats||{},M=A.run_sources||[],H=M.length?`Counted from ${M.map(F=>F==="platform"?"dashboard runs":"reported telemetry").join(" + ")}`:void 0;return Fe.default.createElement(hd,{key:k.id,name:k.name,subtitle:k.description||"No description",badge:Fe.default.createElement("span",{className:`px-2 py-0.5 text-xs font-medium rounded-full ${b(k.status)}`},k.status),onClick:()=>r(k),stats:[{label:`Runs ${A.window_days||30}d`,value:A.runs??0,title:H},{label:"Success",value:A.success_rate!=null?`${Math.round(A.success_rate)}%`:"\u2014",tone:zA(A.success_rate!=null?A.success_rate/100:null)},{label:"Avg time",value:x(A.avg_duration_ms)},{label:A.eval_samples_evaluated?`Eval ${A.eval_samples_passed}/${A.eval_samples_evaluated}`:"Eval",title:A.eval_samples_evaluated?`Latest evaluation: ${A.eval_samples_passed} of ${A.eval_samples_evaluated} samples passed`:void 0,value:A.eval_score!=null?`${Math.round(A.eval_score*100)}%`:"\u2014",tone:zA(A.eval_score)},{label:"Tokens",value:S(A.tokens)},{label:"Cost",value:w(A.cost),title:"Estimated from token counts at each model's published rates",tone:A.cost==null?"muted":void 0}],footer:Fe.default.createElement(Fe.default.Fragment,null,Fe.default.createElement("span",{style:{display:"flex",alignItems:"center",gap:"6px",minWidth:0}},Fe.default.createElement("span",{style:{padding:"2px 6px",borderRadius:"4px",background:"rgba(128,128,128,0.15)",whiteSpace:"nowrap",flexShrink:0}},k.provider),Fe.default.createElement("span",{title:k.model,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},k.model)),Fe.default.createElement("span",{style:{whiteSpace:"nowrap"},title:`Updated ${y(k.updatedAt||k.updated_at)}`},A.last_run_at?`Last run ${T(A.last_run_at)}`:`Updated ${y(k.updatedAt||k.updated_at)}`)),actions:Fe.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"13px"}},Fe.default.createElement("button",{onClick:F=>{F.stopPropagation(),a(k.id)},className:"text-gray-500 hover:text-red-600 transition-colors"},"Duplicate"),Fe.default.createElement("button",{onClick:F=>{F.stopPropagation(),i(k.id)},className:"text-red-500 hover:text-red-700 transition-colors"},"Delete"))})})):Fe.default.createElement("div",{className:"text-center py-16"},Fe.default.createElement("div",{className:"inline-block mb-4"},Fe.default.createElement(wr,{size:100})),Fe.default.createElement("h3",{className:"text-lg font-medium text-gray-900 mb-2"},e.length===0?"No agents yet":"No matching agents"),Fe.default.createElement("p",{className:"text-gray-500 mb-6"},e.length===0?"Create your first AI agent to get started":"Try adjusting your search or filters"),e.length===0&&Fe.default.createElement("div",{className:"flex items-center justify-center space-x-4"},Fe.default.createElement("button",{onClick:o,className:"inline-flex items-center space-x-2 px-6 py-3 border-2 border-red-500 text-red-600 rounded-lg hover:bg-red-50 transition-colors"},Fe.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fe.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"})),Fe.default.createElement("span",null,"Browse Templates")),Fe.default.createElement("span",{className:"text-gray-400"},"or"),Fe.default.createElement("button",{onClick:n,className:"inline-flex items-center space-x-2 px-6 py-3 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors"},Fe.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fe.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Fe.default.createElement("span",null,"Create From Scratch")))))}var de=te(re());var Yt={chevronRight:">",chevronDown:"v",chevronUp:"^",arrow:"->",arrowLeft:"<-",pipe:"|",corner:"+",branch:"|-",success:"[+]",error:"[!]",warning:"[?]",info:"[i]",pending:"[ ]",active:"[*]",add:"+",remove:"-",edit:"*",view:"@",run:">",stop:"x",refresh:"~",trace:"->",span:"|",metric:"#",log:">",agent:"@",action:"#",time:":",cost:"$",tokens:"T",memory:"M",nav:{agents:"@",newAgent:"+",demo:">",traces:"->",metrics:"#",evaluations:"=",interactions:"<>",benchmarks:"%%",replay:"[>]",tools:"[]",mcp:"{}",docs:"?",github:"*"},spans:{root:">",prompt:"*",generate:"|>",llm:">>",thinking:"..",tool:"[]",response:"<|"}};var Ve={mono:"'SF Mono', 'Fira Code', 'Consolas', monospace",sizes:{xs:"10px",sm:"11px",base:"13px",md:"14px",lg:"16px",xl:"20px",xxl:"24px"},weights:{normal:400,medium:500,semibold:600,bold:700}};var xd={openai:["gpt-5.1","gpt-5","gpt-5-mini","gpt-5-nano"],anthropic:["claude-opus-5","claude-fable-5","claude-sonnet-5","claude-opus-4-8","claude-haiku-4-5"],ollama:["qwen3:8b","llama3.2","mistral","gemma3"],openrouter:["anthropic/claude-sonnet-4.5","openai/gpt-5.1","meta-llama/llama-3.3-70b-instruct"]};async function xh(e){try{let t=await fetch(`/api/provider_models?provider=${encodeURIComponent(e)}`);if(t.ok){let r=await t.json();if(Array.isArray(r.models)&&r.models.length>0)return r.models}}catch{}return xd[e]||[]}var Xl=te(re());function xm({value:e,models:t=[],onChange:r,className:n,style:o}){let a=(0,Xl.useId)();return Xl.default.createElement(Xl.default.Fragment,null,Xl.default.createElement("input",{type:"text",list:a,value:e||"",onChange:i=>r(i.target.value),placeholder:"Type to search models",autoComplete:"off",spellCheck:!1,className:n,style:o}),Xl.default.createElement("datalist",{id:a},t.filter(Boolean).map(i=>Xl.default.createElement("option",{key:i,value:i}))))}var bh=[{id:"basics",label:"Basics",icon:"1"},{id:"configure",label:"Configure",icon:"2"},{id:"review",label:"Review",icon:"3"}],iV=["name","slug","description","provider","model"];function BA({meta:e,onSave:t,onCancel:r,isLoading:n,initialDraft:o=null}){let[a,i]=(0,de.useState)(0),[l,s]=(0,de.useState)(xd),[u,c]=(0,de.useState)({name:"",description:"",provider:"openai",model:xd.openai[0],instructions:"",preset_type:"terminal",instruction_sets:["github"],tools:["terminal","code"],model_config:{temperature:.7},...o?{name:o.name,description:o.description||"",instructions:o.instructions,provider:o.provider,model:o.model,tools:o.tools||[],instruction_sets:[],mcp_servers:[]}:{}});(0,de.useEffect)(()=>{let y=!1;return xh(u.provider).then(b=>{if(y||b.length===0)return;let x=o?.provider===u.provider&&o.model?[...new Set([o.model,...b])]:b;s(S=>({...S,[u.provider]:x})),c(S=>x.includes(S.model)?S:{...S,model:x[0]})}),()=>{y=!0}},[u.provider]);let[d,f]=(0,de.useState)(null),p=(y,b)=>{c(x=>({...x,[y]:b}))},m=(y,b)=>{c(x=>{let S=x[y]||[],w=S.includes(b)?S.filter(T=>T!==b):[...S,b];return{...x,[y]:w}})},g=y=>{if(p("preset_type",y),yd[y]){let b=yd[y];p("instruction_sets",[...b.instructions]),p("tools",[...b.tools])}},h=()=>{switch(a){case 0:return u.name.trim().length>=2;case 1:return!0;case 2:return!0;default:return!1}},v=async()=>{f(null);let y=await t(u);y&&(f(y),Object.keys(y.fieldErrors||{}).some(b=>iV.includes(b))&&i(0))};return de.default.createElement("div",{className:"max-w-4xl mx-auto"},o&&de.default.createElement("div",{className:"mb-4 p-4 rounded-lg border border-red-200 bg-red-50 text-sm text-gray-700"},"Prepared by your workspace assistant. Review the instructions, model, and tools before creating this agent."),de.default.createElement("div",{className:"mb-8"},de.default.createElement("div",{className:"flex items-center justify-between"},bh.map((y,b)=>de.default.createElement("div",{key:y.id,className:"flex items-center"},de.default.createElement("div",{className:`flex items-center justify-center w-10 h-10 rounded-full border-2 transition-colors ${bde.default.createElement("li",{key:y},y)))),de.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-8"},a===0&&de.default.createElement(lV,{formData:u,updateField:p,providerModels:l,fieldErrors:d?.fieldErrors||{}}),a===1&&de.default.createElement(sV,{formData:u,meta:e,toggleArrayItem:m,updateField:p,selectPreset:g}),a===2&&de.default.createElement(uV,{formData:u})),de.default.createElement("div",{className:"flex justify-between mt-6"},de.default.createElement("button",{onClick:a===0?r:()=>i(a-1),className:"px-6 py-2 border border-gray-300 rounded-lg text-gray-700 hover:bg-gray-50 transition-colors"},a===0?"Cancel":"Back"),de.default.createElement("button",{onClick:a===bh.length-1?v:()=>i(a+1),disabled:!h()||n,className:`px-6 py-2 rounded-lg transition-colors ${h()&&!n?"bg-red-500 text-white hover:bg-red-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},a===bh.length-1?"Create Agent":"Continue")))}function wh({messages:e}){return e.length?de.default.createElement("p",{className:"mt-1 text-sm text-red-600"},e.join(". ")):null}function lV({formData:e,updateField:t,providerModels:r,fieldErrors:n}){let o=(...a)=>a.flatMap(i=>n[i]||[]);return de.default.createElement("div",{className:"space-y-6"},de.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Basic Information"),de.default.createElement("p",{className:"text-gray-500"},"Give your agent a name and configure its AI provider."),de.default.createElement("div",{className:"space-y-4"},de.default.createElement("div",null,de.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Agent Name *"),de.default.createElement("input",{type:"text",value:e.name,onChange:a=>t("name",a.target.value),placeholder:"My Awesome Agent",className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent"}),de.default.createElement(wh,{messages:o("name","slug")})),de.default.createElement("div",null,de.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Description"),de.default.createElement("textarea",{value:e.description,onChange:a=>t("description",a.target.value),placeholder:"What does this agent do?",rows:3,className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent"}),de.default.createElement(wh,{messages:o("description")})),de.default.createElement("div",{className:"grid grid-cols-2 gap-4"},de.default.createElement("div",null,de.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Provider"),de.default.createElement("select",{value:e.provider,onChange:a=>{t("provider",a.target.value),t("model",r[a.target.value][0])},className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Object.keys(r).map(a=>de.default.createElement("option",{key:a,value:a},a.charAt(0).toUpperCase()+a.slice(1)))),de.default.createElement(wh,{messages:o("provider")})),de.default.createElement("div",null,de.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Model"),de.default.createElement(xm,{value:e.model,models:r[e.provider],onChange:a=>t("model",a),className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"}),de.default.createElement(wh,{messages:o("model")}))),de.default.createElement("div",null,de.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Temperature: ",e.model_config.temperature),de.default.createElement("input",{type:"range",min:"0",max:"1",step:"0.1",value:e.model_config.temperature,onChange:a=>t("model_config",{...e.model_config,temperature:parseFloat(a.target.value)}),className:"w-full accent-red-500"}),de.default.createElement("div",{className:"flex justify-between text-xs text-gray-400"},de.default.createElement("span",null,"Precise"),de.default.createElement("span",null,"Creative")))))}function sV({formData:e,meta:t,toggleArrayItem:r,updateField:n,selectPreset:o}){let a=Object.keys(yd),i=Object.keys(cu),l=Object.keys(du);return de.default.createElement("div",{className:"space-y-6"},de.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Configure Agent"),de.default.createElement("p",{className:"text-gray-500"},"Choose a preset or customize instructions and tools."),de.default.createElement("div",{className:"flex justify-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},de.default.createElement("div",{className:"flex flex-col items-center"},de.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(s=>{let u=cu[s];return u?de.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})),de.default.createElement(wr,{size:120}),de.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(s=>{let u=du[s];return u?de.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})))),de.default.createElement("div",null,de.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},"Quick Presets"),de.default.createElement("div",{className:"flex flex-wrap gap-2"},a.map(s=>de.default.createElement("button",{key:s,onClick:()=>o(s),className:`px-4 py-2 rounded-lg border-2 text-sm transition-all ${e.preset_type===s?"border-red-500 bg-red-50 text-red-700":"border-gray-200 hover:border-gray-300 text-gray-600"}`},de.default.createElement("span",{className:"capitalize"},s.replace(/([A-Z])/g," $1").trim()))))),de.default.createElement("div",null,de.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},de.default.createElement("strong",null,"Instructions"),de.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"System/developer messages")),de.default.createElement("div",{className:"flex flex-wrap gap-2"},i.map(s=>{let u=cu[s];return de.default.createElement("button",{key:s,onClick:()=>r("instruction_sets",s),className:`flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm transition-colors ${e.instruction_sets.includes(s)?"bg-red-500 text-white":"bg-gray-100 text-gray-700 hover:bg-gray-200"}`},de.default.createElement("span",null,u.emoji),de.default.createElement("span",null,u.label))}))),de.default.createElement("div",null,de.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},de.default.createElement("strong",null,"Tools"),de.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"MCPs and integrations")),de.default.createElement("div",{className:"flex flex-wrap gap-2"},l.map(s=>{let u=du[s];return de.default.createElement("button",{key:s,onClick:()=>r("tools",s),className:`flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm transition-colors ${e.tools.includes(s)?"bg-red-500 text-white":"bg-gray-100 text-gray-700 hover:bg-gray-200"}`},de.default.createElement("span",null,u.emoji),de.default.createElement("span",null,u.label))}))),de.default.createElement("div",null,de.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-2"},"System Instructions"),de.default.createElement("textarea",{value:e.instructions,onChange:s=>n("instructions",s.target.value),placeholder:"You are a helpful AI assistant that...",rows:4,className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent font-mono text-sm"})))}function uV({formData:e}){return de.default.createElement("div",{className:"space-y-6"},de.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Review Your Agent"),de.default.createElement("p",{className:"text-gray-500"},"Confirm the configuration before creating your agent."),de.default.createElement("div",{className:"grid grid-cols-2 gap-8"},de.default.createElement("div",{className:"flex flex-col items-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},de.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(t=>{let r=cu[t];return r?de.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),de.default.createElement(wr,{size:100}),de.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(t=>{let r=du[t];return r?de.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),de.default.createElement("h3",{className:"mt-4 text-lg font-semibold text-gray-900"},e.name),de.default.createElement("p",{className:"text-sm text-gray-500"},e.description||"No description")),de.default.createElement("div",{className:"space-y-4"},de.default.createElement("div",null,de.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Provider / Model"),de.default.createElement("p",{className:"text-gray-900"},e.provider," / ",e.model)),de.default.createElement("div",null,de.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Temperature"),de.default.createElement("p",{className:"text-gray-900"},e.model_config.temperature)),de.default.createElement("div",null,de.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Instructions"),de.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.instruction_sets.length>0?e.instruction_sets.map(t=>{let r=cu[t];return r?de.default.createElement("span",{key:t,className:"px-2 py-0.5 bg-gray-100 rounded text-xs"},r.emoji," ",r.label):null}):de.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))),de.default.createElement("div",null,de.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Tools"),de.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.tools.length>0?e.tools.map(t=>{let r=du[t];return r?de.default.createElement("span",{key:t,className:"px-2 py-0.5 bg-red-100 text-red-700 rounded text-xs"},r.emoji," ",r.label):null}):de.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))))),e.instructions&&de.default.createElement("div",null,de.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"System Instructions"),de.default.createElement("pre",{className:"mt-2 p-4 bg-gray-50 rounded-lg text-sm text-gray-700 whitespace-pre-wrap font-mono"},e.instructions)))}var le=te(re());var Ro=e=>({cardBg:e?"#1f1f1f":"#ffffff",cardBorder:e?"#2a2a2a":"#e5e7eb",borderStrong:e?"rgba(255,255,255,0.2)":"#d1d5db",mutedBg:e?"rgba(255,255,255,0.06)":"#f3f4f6",innerBg:e?"rgba(255,255,255,0.04)":"#f9fafb",textPrimary:e?"#ffffff":"#111827",textCell:e?"rgba(255,255,255,0.75)":"#4b5563",textSecondary:e?"rgba(255,255,255,0.6)":"#6b7280",textMuted:e?"rgba(255,255,255,0.4)":"#9ca3af",inputBg:e?"rgba(255,255,255,0.06)":"#ffffff",inputBorder:e?"rgba(255,255,255,0.2)":"#d1d5db",trackBg:e?"rgba(255,255,255,0.1)":"#f3f4f6"}),bn="#ef4444";var $=te(re());var Sh=te(re()),TM=te(re());function NM(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t{var r=e.children,n=e.width,o=e.height,a=e.viewBox,i=e.className,l=e.style,s=e.title,u=e.desc,c=mV(e,pV),d=a||{width:n,height:o,x:0,y:0},f=He("recharts-surface",i);return Sh.createElement("svg",UA({},dr(c),{className:f,width:n,height:o,style:l,viewBox:"".concat(d.x," ").concat(d.y," ").concat(d.width," ").concat(d.height),ref:t}),Sh.createElement("title",null,s),Sh.createElement("desc",null,u),r)});var Ah=te(re());var gV=["children","className"];function WA(){return WA=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,o=yV(e,gV),a=He("recharts-layer",n);return Ah.createElement("g",WA({className:a},dr(o),{ref:t}),r)});var Oo=te(re()),Z0=te(re()),T8=te(wp());function kh(e){return e==="__proto__"}var xV=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function Ch(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e===""||e.startsWith(".")||e.endsWith(".")?!1:xV.test(e);default:return!1}}function bd(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function HA(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(HA).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function wd(e){if(Array.isArray(e))return e.map(bd);if(typeof e=="symbol")return[e];e=HA(e);let t=[],r=e.length;if(r===0)return t;let n=0,o="",a="",i=!1;for(e.charCodeAt(0)===46&&t.push("");n1&&arguments[1]!==void 0?arguments[1]:wV,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function Rr(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var l=r[i-1];return typeof l=="string"?o+l+a:l!==void 0?o+ea(l)+a:o+a},"")}var Xt=e=>e===0?0:e>0?1:-1,cn=e=>typeof e=="number"&&e!=+e,Ii=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,Se=e=>(typeof e=="number"||e instanceof Number)&&!cn(e),Fn=e=>Se(e)||typeof e=="string",SV=0,ji=e=>{var t=++SV;return"".concat(e||"").concat(t)},Sr=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Se(t)&&typeof t!="string")return n;var a;if(Ii(t)){if(r==null)return n;var i=t.indexOf("%");a=r*parseFloat(t.slice(0,i))/100}else a=+t;return cn(a)&&(a=n),o&&r!=null&&a>r&&(a=r),a},VA=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):un(n,t))===r)}var mt=e=>e===null||typeof e>"u",zi=e=>mt(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function en(e){return e!=null}function Un(){}function Sm(e){if(e)return{x:e.x,y:e.y,upperWidth:"upperWidth"in e?e.upperWidth:e.width,lowerWidth:"lowerWidth"in e?e.lowerWidth:e.width,width:e.width,height:e.height}}function MM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Za(e){for(var t=1;t{var t=e.viewBox,r=e.position,n=e.offset,o=n===void 0?0:n,a=e.parentViewBox,i=e.clamp,l=Sm(t),s=l.x,u=l.y,c=l.height,d=l.upperWidth,f=l.lowerWidth,p=s,m=s+(d-f)/2,g=(p+m)/2,h=(d+f)/2,v=p+d/2,y=c>=0?1:-1,b=y*o,x=y>0?"end":"start",S=y>0?"start":"end",w=d>=0?1:-1,T=w*o,k=w>0?"end":"start",A=w>0?"start":"end",M=a;if(r==="top"){var H={x:p+d/2,y:u-b,horizontalAnchor:"middle",verticalAnchor:x};return i&&M&&(H.height=Math.max(u-M.y,0),H.width=d),H}if(r==="bottom"){var F={x:m+f/2,y:u+c+b,horizontalAnchor:"middle",verticalAnchor:S};return i&&M&&(F.height=Math.max(M.y+M.height-(u+c),0),F.width=f),F}if(r==="left"){var X={x:g-T,y:u+c/2,horizontalAnchor:k,verticalAnchor:"middle"};return i&&M&&(X.width=Math.max(X.x-M.x,0),X.height=c),X}if(r==="right"){var P={x:g+h+T,y:u+c/2,horizontalAnchor:A,verticalAnchor:"middle"};return i&&M&&(P.width=Math.max(M.x+M.width-P.x,0),P.height=c),P}var Y=i&&M?{width:h,height:c}:{};return r==="insideLeft"?Za({x:g+T,y:u+c/2,horizontalAnchor:A,verticalAnchor:"middle"},Y):r==="insideRight"?Za({x:g+h-T,y:u+c/2,horizontalAnchor:k,verticalAnchor:"middle"},Y):r==="insideTop"?Za({x:p+d/2,y:u+b,horizontalAnchor:"middle",verticalAnchor:S},Y):r==="insideBottom"?Za({x:m+f/2,y:u+c-b,horizontalAnchor:"middle",verticalAnchor:x},Y):r==="insideTopLeft"?Za({x:p+T,y:u+b,horizontalAnchor:A,verticalAnchor:S},Y):r==="insideTopRight"?Za({x:p+d-T,y:u+b,horizontalAnchor:k,verticalAnchor:S},Y):r==="insideBottomLeft"?Za({x:m+T,y:u+c-b,horizontalAnchor:A,verticalAnchor:x},Y):r==="insideBottomRight"?Za({x:m+f-T,y:u+c-b,horizontalAnchor:k,verticalAnchor:x},Y):r&&typeof r=="object"&&(Se(r.x)||Ii(r.x))&&(Se(r.y)||Ii(r.y))?Za({x:s+Sr(r.x,h),y:u+Sr(r.y,c),horizontalAnchor:"end",verticalAnchor:"end"},Y):Za({x:v,y:u+c/2,horizontalAnchor:"middle",verticalAnchor:"middle"},Y)},NV=["top","left","right","bottom"];function Am(e){return e==null?!1:typeof e=="object"?!0:NV.includes(e)}var Eh=te(re()),KA=(0,Eh.createContext)(null),PM=()=>(0,Eh.useContext)(KA);var Wn=te(re());var QM=te(re());function $t(e){return function(){return e}}var qA=Math.cos;var km=Math.sin,dn=Math.sqrt;var fu=Math.PI,zfe=fu/2,Sd=2*fu;var GA=Math.PI,YA=2*GA,pu=1e-6,_V=YA-pu;function DM(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return DM;let r=10**t;return function(n){this._+=n[0];for(let o=1,a=n.length;opu)if(!(Math.abs(d*s-u*c)>pu)||!a)this._append`L${this._x1=t},${this._y1=r}`;else{let p=n-i,m=o-l,g=s*s+u*u,h=p*p+m*m,v=Math.sqrt(g),y=Math.sqrt(f),b=a*Math.tan((GA-Math.acos((g+f-h)/(2*v*y)))/2),x=b/y,S=b/v;Math.abs(x-1)>pu&&this._append`L${t+x*c},${r+x*d}`,this._append`A${a},${a},0,0,${+(d*p>c*m)},${this._x1=t+S*s},${this._y1=r+S*u}`}}arc(t,r,n,o,a,i){if(t=+t,r=+r,n=+n,i=!!i,n<0)throw new Error(`negative radius: ${n}`);let l=n*Math.cos(o),s=n*Math.sin(o),u=t+l,c=r+s,d=1^i,f=i?o-a:a-o;this._x1===null?this._append`M${u},${c}`:(Math.abs(this._x1-u)>pu||Math.abs(this._y1-c)>pu)&&this._append`L${u},${c}`,n&&(f<0&&(f=f%YA+YA),f>_V?this._append`A${n},${n},0,1,${d},${t-l},${r-s}A${n},${n},0,1,${d},${this._x1=u},${this._y1=c}`:f>pu&&this._append`A${n},${n},0,${+(f>=GA)},${d},${this._x1=t+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(t,r,n,o){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+o}h${-n}Z`}toString(){return this._}};function IM(){return new mu}IM.prototype=mu.prototype;function Ad(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{let n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new mu(t)}var Vfe=Array.prototype.slice;function kd(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function jM(e){this._context=e}jM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Zl(e){return new jM(e)}function Oh(e){return e[0]}function Th(e){return e[1]}function Cm(e,t){var r=$t(!0),n=null,o=Zl,a=null,i=Ad(l);e=typeof e=="function"?e:e===void 0?Oh:$t(e),t=typeof t=="function"?t:t===void 0?Th:$t(t);function l(s){var u,c=(s=kd(s)).length,d,f=!1,p;for(n==null&&(a=o(p=i())),u=0;u<=c;++u)!(u=p;--m)l.point(b[m],x[m]);l.lineEnd(),l.areaEnd()}v&&(b[f]=+e(h,f,d),x[f]=+t(h,f,d),l.point(n?+n(h,f,d):b[f],r?+r(h,f,d):x[f]))}if(y)return l=null,y+""||null}function c(){return Cm().defined(o).curve(i).context(a)}return u.x=function(d){return arguments.length?(e=typeof d=="function"?d:$t(+d),n=null,u):e},u.x0=function(d){return arguments.length?(e=typeof d=="function"?d:$t(+d),u):e},u.x1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:$t(+d),u):n},u.y=function(d){return arguments.length?(t=typeof d=="function"?d:$t(+d),r=null,u):t},u.y0=function(d){return arguments.length?(t=typeof d=="function"?d:$t(+d),u):t},u.y1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:$t(+d),u):r},u.lineX0=u.lineY0=function(){return c().x(e).y(t)},u.lineY1=function(){return c().x(e).y(r)},u.lineX1=function(){return c().x(n).y(t)},u.defined=function(d){return arguments.length?(o=typeof d=="function"?d:$t(!!d),u):o},u.curve=function(d){return arguments.length?(i=d,a!=null&&(l=i(a)),u):i},u.context=function(d){return arguments.length?(d==null?a=l=null:l=i(a=d),u):a},u}var Mh=class{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}};function XA(e){return new Mh(e,!0)}function ZA(e){return new Mh(e,!1)}var Nd={draw(e,t){let r=dn(t/fu);e.moveTo(r,0),e.arc(0,0,r,0,Sd)}};var QA={draw(e,t){let r=dn(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}};var zM=dn(1/3),OV=zM*2,JA={draw(e,t){let r=dn(t/OV),n=r*zM;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}};var RA={draw(e,t){let r=dn(t),n=-r/2;e.rect(n,n,r,r)}};var TV=.8908130915292852,LM=km(fu/10)/km(7*fu/10),MV=km(Sd/10)*LM,PV=-qA(Sd/10)*LM,ek={draw(e,t){let r=dn(t*TV),n=MV*r,o=PV*r;e.moveTo(0,-r),e.lineTo(n,o);for(let a=1;a<5;++a){let i=Sd*a/5,l=qA(i),s=km(i);e.lineTo(s*r,-l*r),e.lineTo(l*n-s*o,s*n+l*o)}e.closePath()}};var tk=dn(3),rk={draw(e,t){let r=-dn(t/(tk*3));e.moveTo(0,r*2),e.lineTo(-tk*r,-r),e.lineTo(tk*r,-r),e.closePath()}};var ta=-.5,ra=dn(3)/2,nk=1/dn(12),DV=(nk/2+1)*3,ok={draw(e,t){let r=dn(t/DV),n=r/2,o=r*nk,a=n,i=r*nk+r,l=-a,s=i;e.moveTo(n,o),e.lineTo(a,i),e.lineTo(l,s),e.lineTo(ta*n-ra*o,ra*n+ta*o),e.lineTo(ta*a-ra*i,ra*a+ta*i),e.lineTo(ta*l-ra*s,ra*l+ta*s),e.lineTo(ta*n+ra*o,ta*o-ra*n),e.lineTo(ta*a+ra*i,ta*i-ra*a),e.lineTo(ta*l+ra*s,ta*s-ra*l),e.closePath()}};function Ph(e,t){let r=null,n=Ad(o);e=typeof e=="function"?e:$t(e||Nd),t=typeof t=="function"?t:$t(t===void 0?64:+t);function o(){let a;if(r||(r=a=n()),e.apply(this,arguments).draw(r,+t.apply(this,arguments)),a)return r=null,a+""||null}return o.type=function(a){return arguments.length?(e=typeof a=="function"?a:$t(a),o):e},o.size=function(a){return arguments.length?(t=typeof a=="function"?a:$t(+a),o):t},o.context=function(a){return arguments.length?(r=a??null,o):r},o}function _d(){}function Ed(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function BM(e){this._context=e}BM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Ed(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Ed(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function ak(e){return new BM(e)}function $M(e){this._context=e}$M.prototype={areaStart:_d,areaEnd:_d,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:Ed(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function ik(e){return new $M(e)}function FM(e){this._context=e}FM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:Ed(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function lk(e){return new FM(e)}function UM(e){this._context=e}UM.prototype={areaStart:_d,areaEnd:_d,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function sk(e){return new UM(e)}function WM(e){return e<0?-1:1}function HM(e,t,r){var n=e._x1-e._x0,o=t-e._x1,a=(e._y1-e._y0)/(n||o<0&&-0),i=(r-e._y1)/(o||n<0&&-0),l=(a*o+i*n)/(n+o);return(WM(a)+WM(i))*Math.min(Math.abs(a),Math.abs(i),.5*Math.abs(l))||0}function VM(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function uk(e,t,r){var n=e._x0,o=e._y0,a=e._x1,i=e._y1,l=(a-n)/3;e._context.bezierCurveTo(n+l,o+l*t,a-l,i-l*r,a,i)}function Dh(e){this._context=e}Dh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:uk(this,this._t0,VM(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,uk(this,VM(this,r=HM(this,e,t)),r);break;default:uk(this,this._t0,r=HM(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function KM(e){this._context=new qM(e)}(KM.prototype=Object.create(Dh.prototype)).point=function(e,t){Dh.prototype.point.call(this,t,e)};function qM(e){this._context=e}qM.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,o,a){this._context.bezierCurveTo(t,e,n,r,a,o)}};function ck(e){return new Dh(e)}function dk(e){return new KM(e)}function YM(e){this._context=e}YM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=GM(e),o=GM(t),a=0,i=1;i=0;--t)o[t]=(i[t]-o[t+1])/a[t];for(a[r-1]=(e[r]+o[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function pk(e){return new Ih(e,.5)}function mk(e){return new Ih(e,0)}function vk(e){return new Ih(e,1)}function ko(e,t){if((i=e.length)>1)for(var r=1,n,o,a=e[t[0]],i,l=a.length;r=0;)r[t]=t;return r}function IV(e,t){return e[t]}function jV(e){let t=[];return t.key=e,t}function gk(){var e=$t([]),t=Od,r=ko,n=IV;function o(a){var i=Array.from(e.apply(this,arguments),jV),l,s=i.length,u=-1,c;for(let d of a)for(l=0,++u;l0){for(var r,n,o=0,a=e[0].length,i;o0){for(var r=0,n=e[t[0]],o,a=n.length;r0)||!((a=(o=e[t[0]]).length)>0))){for(var r=0,n=1,o,a,i;n{var t="symbol".concat(zi(e));return JM[t]||Nd},KV=(e,t,r)=>{if(t==="area")return e;switch(r){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var n=18*HV;return 1.25*e*e*(Math.tan(n)-Math.tan(n*2)*Math.tan(n)**2)}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},qV=(e,t)=>{JM["symbol".concat(zi(e))]=t},wk=e=>{var t=e.type,r=t===void 0?"circle":t,n=e.size,o=n===void 0?64:n,a=e.sizeType,i=a===void 0?"area":a,l=UV(e,LV),s=ZM(ZM({},l),{},{type:r,size:o,sizeType:i}),u="circle";typeof r=="string"&&(u=r);var c=()=>{var g=VV(u),h=Ph().type(g).size(KV(o,i,u)),v=h();if(v!==null)return v},d=s.className,f=s.cx,p=s.cy,m=dr(s);return Se(f)&&Se(p)&&Se(o)?QM.createElement("path",bk({},m,{className:He("recharts-symbols",d),transform:"translate(".concat(f,", ").concat(p,")"),d:c()})):null};wk.registerSymbol=qV;var RM=te(re());var jh=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,Td=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if((0,RM.isValidElement)(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(o=>{bm(o)&&typeof r[o]=="function"&&(n[o]=t||(a=>r[o](r,a)))}),n},GV=(e,t,r)=>n=>(e(t,r,n),null),Li=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(o=>{var a=e[o];bm(o)&&typeof a=="function"&&(n||(n={}),n[o]=GV(a,t,r))}),n};function eP(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function YV(e){for(var t=1;t(i[l]===void 0&&n[l]!==void 0&&(i[l]=n[l]),i),r);return a}function zh(){return zh=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var p,m,g=d.formatter||o,h=He({"recharts-legend-item":!0,["legend-item-".concat(f)]:!0,inactive:d.inactive});if(d.type==="none")return null;var v=typeof l=="object"?eP({},l):{};v.color=d.inactive?a:v.color||d.color,(p=v.whiteSpace)!==null&&p!==void 0||(v.whiteSpace="normal"),(m=v.overflowWrap)!==null&&m!==void 0||(v.overflowWrap="break-word");var y=g?g(d.value,d,f):d.value;return Wn.createElement("li",Dh({className:h,style:u,key:"legend-item-".concat(f)},Li(e,d,f)),Wn.createElement(xm,{width:r,height:r,viewBox:s,style:c,"aria-label":d.value==null?"legend icon":"".concat(d.value," legend icon")},Wn.createElement(eK,{data:d,iconType:i,inactiveColor:a})),Wn.createElement("span",{className:"recharts-legend-item-text",style:v},y))})}var tP=e=>{var t=ft(e,JV),r=t.payload,n=t.layout,o=t.align;if(!r||!r.length)return null;var a={padding:0,margin:0,textAlign:n==="horizontal"?o:"left"};return Wn.createElement("ul",{className:"recharts-default-legend",style:a},Wn.createElement(tK,Dh({},t,{payload:r})))};function rP(e,t){let r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function Bi(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var jh="[object RegExp]",Td="[object String]",Md="[object Number]",Pd="[object Boolean]",zh="[object Arguments]",Lh="[object Symbol]",Bh="[object Date]",$h="[object Map]",Fh="[object Set]",Uh="[object Array]",iP="[object Function]",Wh="[object ArrayBuffer]",Dd="[object Object]",lP="[object Error]",Hh="[object DataView]",Vh="[object Uint8Array]",Kh="[object Uint8ClampedArray]",qh="[object Uint16Array]",Gh="[object Uint32Array]",sP="[object BigUint64Array]",Yh="[object Int8Array]",Xh="[object Int16Array]",Zh="[object Int32Array]",uP="[object BigInt64Array]",Qh="[object Float32Array]",Jh="[object Float64Array]";var xk=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function Nm(e){return typeof xk.Buffer<"u"&&xk.Buffer.isBuffer(e)}function cP(e,t){return Zl(e,void 0,e,new Map,t)}function Zl(e,t,r,n=new Map,o=void 0){let a=o?.(e,t,r,n);if(a!==void 0)return a;if(km(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){let i=new Array(e.length);n.set(e,i);for(let l=0;l{}):bk(e,t,function n(o,a,i,l,s,u){let c=r(o,a,i,l,s,u);return c!==void 0?!!c:bk(o,a,n,u,!1)},new Map,!0)}function bk(e,t,r,n,o=!1){if(t===e)return!0;switch(typeof t){case"object":return nK(e,t,r,n);case"function":return Object.keys(t).length>0?bk(e,{...t},r,n,o):Ql(e,t);default:return Rh(e)?o?typeof t=="string"?t==="":!0:Ql(e,t):Ql(e,t)}}function nK(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return fP(e,t,r,n);if(t instanceof Map)return oK(e,t,r,n);if(t instanceof Set)return aK(e,t,r,n);let o=Object.keys(t);if(e==null||km(e))return o.length===0;if(o.length===0)return!0;if(n?.has(t))return n.get(t)===e;n?.set(t,e);try{for(let a=0;a{})}function pP(e){return e=dP(e),t=>e0(t,e)}function mP(e,t){return cP(e,(r,n,o,a)=>{let i=t?.(r,n,o,a);if(i!==void 0)return i;if(typeof e=="object"){if(Bi(e)==="[object Object]"&&typeof e.constructor!="function"){let l={};return a.set(e,l),oa(l,e,o,a),l}switch(Object.prototype.toString.call(e)){case Md:case Td:case Pd:{let l=new e.constructor(e?.valueOf());return oa(l,e),l}case zh:{let l={};return oa(l,e),l.length=e.length,l[Symbol.iterator]=e[Symbol.iterator],l}default:return}}})}function vP(e){return mP(e)}var iK=/^(?:0|[1-9]\d*)$/;function t0(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function r0(e){return e!=null&&typeof e!="function"&&bP(e.length)}function wP(e){return typeof e=="object"&&e!==null}function SP(e){return wP(e)&&r0(e)}function n0(e,t=Ih){return SP(e)?rP(Array.from(e),nP(xP(t),1)):[]}function o0(e,t,r){return t===!0?n0(e,r):typeof t=="function"?n0(e,t):e}var PP=te(TP()),Em=te(re());var MP=te(re()),_m=(0,MP.createContext)(null);var kK=e=>e,Xe=()=>{var e=(0,Em.useContext)(_m);return e?e.store.dispatch:kK},i0=()=>{},CK=()=>i0,NK=(e,t)=>e===t;function Ae(e){var t=(0,Em.useContext)(_m),r=(0,Em.useMemo)(()=>t?n=>{if(n!=null)return e(n)}:i0,[t,e]);return(0,PP.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:CK,t?t.store.getState:i0,t?t.store.getState:i0,r,NK)}function _K(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function EK(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(r=>typeof r=="function")){let r=e.map(n=>typeof n=="function"?`function ${n.name||"unnamed"}()`:typeof n).join(", ");throw new TypeError(`${t}[${r}]`)}}var DP=e=>Array.isArray(e)?e:[e];function OK(e){let t=Array.isArray(e[0])?e[0]:e;return EK(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function TK(e,t){let r=[],{length:n}=e;for(let o=0;otypeof WeakRef>"u"?MK:WeakRef,jP=PK(),DK=0,IP=1;function l0(){return{s:DK,v:void 0,o:null,p:null}}function IK(e){return e instanceof jP?e.deref():e}function zP(e,t={}){let r=l0(),{resultEqualityCheck:n}=t,o,a=0;function i(){let l=r,{length:s}=arguments;for(let d=0,f=s;d{r=l0(),i.resetResultsCount()},i.resultsCount=()=>a,i.resetResultsCount=()=>{a=0},i}function jK(e,...t){let r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...o)=>{let a=0,i=0,l,s={},u=o.pop();typeof u=="object"&&(s=u,u=o.pop()),_K(u,`createSelector expects an output function after the inputs, but received: [${typeof u}]`);let c={...r,...s},{memoize:d,memoizeOptions:f=[],argsMemoize:p=zP,argsMemoizeOptions:m=[]}=c,g=DP(f),h=DP(m),v=OK(o),y=d(function(){return a++,u.apply(null,arguments)},...g),b=!0,x=p(function(){i++;let w=TK(v,arguments);return l=y.apply(null,w),l},...h);return Object.assign(x,{resultFunc:u,memoizedResultFunc:y,dependencies:v,dependencyRecomputations:()=>i,resetDependencyRecomputations:()=>{i=0},lastResult:()=>l,recomputations:()=>a,resetRecomputations:()=>{a=0},memoize:d,argsMemoize:p})};return Object.assign(n,{withTypes:()=>n}),n}var J=jK(zP);function LP(e,t=1){let r=[],n=Math.floor(t),o=(a,i)=>{for(let l=0;l{if(e!==t){let n=BP(e),o=BP(t);if(n===o&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?o-n:n-o}return 0};function s0(e){return typeof e=="symbol"||e instanceof Symbol}var zK=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,LK=/^\w*$/;function FP(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||s0(e)?!0:typeof e=="string"&&(LK.test(e)||!zK.test(e))||t!=null&&Object.hasOwn(t,e)}function UP(e,t,r,n){if(e==null)return[];r=n?void 0:r,Array.isArray(e)||(e=Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(r)||(r=r==null?[]:[r]),r=r.map(l=>String(l));let o=(l,s)=>{let u=l;for(let c=0;cs==null||l==null?s:typeof l=="object"&&"key"in l?Object.hasOwn(s,l.key)?s[l.key]:o(s,l.path):typeof l=="function"?l(s):Array.isArray(l)?o(s,l):typeof s=="object"?s[l]:s,i=t.map(l=>(Array.isArray(l)&&l.length===1&&(l=l[0]),l==null||typeof l=="function"||Array.isArray(l)||FP(l)?l:{key:l,path:bd(l)}));return e.map(l=>({original:l,criteria:i.map(s=>a(s,l))})).slice().sort((l,s)=>{for(let u=0;ul.original)}function $i(e,...t){let r=t.length;return r>1&&Om(e,t[0],t[1])?t=[]:r>2&&Om(t[0],t[1],t[2])&&(t=[t[0]]),UP(e,LP(t),["asc"])}var Ak=e=>e.legend.settings,WP=e=>e.legend.size,BK=e=>e.legend.payload,HP=J([BK,Ak],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?$i(n,r):n});function VP(){return Ae(HP)}var Fi=te(re());function $K(e,t){return HK(e)||WK(e,t)||UK(e,t)||FK()}function FK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function UK(e,t){if(e){if(typeof e=="string")return KP(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?KP(e,t):void 0}}function KP(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);ru0||Math.abs(e.left-t.left)>u0||Math.abs(e.top-t.top)>u0||Math.abs(e.width-t.width)>u0}function GP(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function c0(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=(0,Fi.useState)({height:0,left:0,top:0,width:0}),r=$K(t,2),n=r[0],o=r[1],a=(0,Fi.useRef)(null),i=(0,Fi.useRef)(n);i.current=n;var l=(0,Fi.useCallback)(s=>{if(a.current!=null&&(a.current.disconnect(),a.current=null),s!=null){var u=GP(s);if(qP(u,i.current)&&o(u),typeof ResizeObserver<"u"){var c=new ResizeObserver(()=>{var d=GP(s);qP(d,i.current)&&o(d)});c.observe(s),a.current=c}}},[...e]);return(0,Fi.useEffect)(()=>()=>{var s;(s=a.current)===null||s===void 0||s.disconnect()},[]),[n,l]}var u8=te(re());function wn(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var VK=typeof Symbol=="function"&&Symbol.observable||"@@observable",YP=VK,kk=()=>Math.random().toString(36).substring(7).split("").join("."),KK={INIT:`@@redux/INIT${kk()}`,REPLACE:`@@redux/REPLACE${kk()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${kk()}`},d0=KK;function f0(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function Ck(e,t,r){if(typeof e!="function")throw new Error(wn(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(wn(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(wn(1));return r(Ck)(e,t)}let n=e,o=t,a=new Map,i=a,l=0,s=!1;function u(){i===a&&(i=new Map,a.forEach((h,v)=>{i.set(v,h)}))}function c(){if(s)throw new Error(wn(3));return o}function d(h){if(typeof h!="function")throw new Error(wn(4));if(s)throw new Error(wn(5));let v=!0;u();let y=l++;return i.set(y,h),function(){if(v){if(s)throw new Error(wn(6));v=!1,u(),i.delete(y),a=null}}}function f(h){if(!f0(h))throw new Error(wn(7));if(typeof h.type>"u")throw new Error(wn(8));if(typeof h.type!="string")throw new Error(wn(17));if(s)throw new Error(wn(9));try{s=!0,o=n(o,h)}finally{s=!1}return(a=i).forEach(y=>{y()}),h}function p(h){if(typeof h!="function")throw new Error(wn(10));n=h,f({type:d0.REPLACE})}function m(){let h=d;return{subscribe(v){if(typeof v!="object"||v===null)throw new Error(wn(11));function y(){let x=v;x.next&&x.next(c())}return y(),{unsubscribe:h(y)}},[YP](){return this}}}return f({type:d0.INIT}),{dispatch:f,subscribe:d,getState:c,replaceReducer:p,[YP]:m}}function qK(e){Object.keys(e).forEach(t=>{let r=e[t];if(typeof r(void 0,{type:d0.INIT})>"u")throw new Error(wn(12));if(typeof r(void 0,{type:d0.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(wn(13))})}function p0(e){let t=Object.keys(e),r={};for(let i=0;i"u"){let h=s&&s.type;throw new Error(wn(14))}c[f]=g,u=u||g!==m}return u=u||n.length!==Object.keys(l).length,u?c:l}}function Tm(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function XP(...e){return t=>(r,n)=>{let o=t(r,n),a=()=>{throw new Error(wn(15))},i={getState:o.getState,dispatch:(s,...u)=>a(s,...u)},l=e.map(s=>s(i));return a=Tm(...l)(o.dispatch),{...o,dispatch:a}}}function Nk(e){return f0(e)&&"type"in e&&typeof e.type=="string"}var oD=Symbol.for("immer-nothing"),ZP=Symbol.for("immer-draftable"),On=Symbol.for("immer-state");function Ea(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Co=Object,zd=Co.getPrototypeOf,y0="constructor",A0="prototype",Tk="configurable",h0="enumerable",v0="writable",Mm="value",Qa=e=>!!e&&!!e[On];function No(e){return e?aD(e)||C0(e)||!!e[ZP]||!!e[y0]?.[ZP]||N0(e)||_0(e):!1}var GK=Co[A0][y0].toString(),QP=new WeakMap;function aD(e){if(!e||!Bk(e))return!1;let t=zd(e);if(t===null||t===Co[A0])return!0;let r=Co.hasOwnProperty.call(t,y0)&&t[y0];if(r===Object)return!0;if(!jd(r))return!1;let n=QP.get(r);return n===void 0&&(n=Function.toString.call(r),QP.set(r,n)),n===GK}function k0(e,t,r=!0){Im(e)===0?(r?Reflect.ownKeys(e):Co.keys(e)).forEach(o=>{t(o,e[o],e)}):e.forEach((n,o)=>t(o,n,e))}function Im(e){let t=e[On];return t?t.type_:C0(e)?1:N0(e)?2:_0(e)?3:0}var _k=(e,t,r=Im(e))=>r===2?e.has(t):Co[A0].hasOwnProperty.call(e,t),Mk=(e,t,r=Im(e))=>r===2?e.get(t):e[t],x0=(e,t,r,n=Im(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function YK(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var C0=Array.isArray,N0=e=>e instanceof Map,_0=e=>e instanceof Set,Bk=e=>typeof e=="object",jd=e=>typeof e=="function",Ek=e=>typeof e=="boolean";function XK(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Ui=e=>e.copy_||e.base_;var $k=e=>e.modified_?e.copy_:e.base_;function Pk(e,t){if(N0(e))return new Map(e);if(_0(e))return new Set(e);if(C0(e))return Array[A0].slice.call(e);let r=aD(e);if(t===!0||t==="class_only"&&!r){let n=Co.getOwnPropertyDescriptors(e);delete n[On];let o=Reflect.ownKeys(n);for(let a=0;a1&&Co.defineProperties(e,{set:m0,add:m0,clear:m0,delete:m0}),Co.freeze(e),t&&k0(e,(r,n)=>{Fk(n,!0)},!1)),e}function ZK(){Ea(2)}var m0={[Mm]:ZK};function E0(e){return e===null||!Bk(e)?!0:Co.isFrozen(e)}var b0="MapSet",Dk="Patches",JP="ArrayMethods",iD={};function mu(e){let t=iD[e];return t||Ea(0,e),t}var RP=e=>!!iD[e];var Pm,lD=()=>Pm,QK=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:RP(b0)?mu(b0):void 0,arrayMethodsPlugin_:RP(JP)?mu(JP):void 0});function eD(e,t){t&&(e.patchPlugin_=mu(Dk),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Ik(e){jk(e),e.drafts_.forEach(JK),e.drafts_=null}function jk(e){e===Pm&&(Pm=e.parent_)}var tD=e=>Pm=QK(Pm,e);function JK(e){let t=e[On];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function rD(e,t){t.unfinalizedDrafts_=t.drafts_.length;let r=t.drafts_[0];if(e!==void 0&&e!==r){r[On].modified_&&(Ik(t),Ea(4)),No(e)&&(e=nD(t,e));let{patchPlugin_:o}=t;o&&o.generateReplacementPatches_(r[On].base_,e,t)}else e=nD(t,r);return RK(t,e,!0),Ik(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==oD?e:void 0}function nD(e,t){if(E0(t))return t;let r=t[On];if(!r)return w0(t,e.handledSet_,e);if(!O0(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){let{callbacks_:n}=r;if(n)for(;n.length>0;)n.pop()(e);cD(r,e)}return r.copy_}function RK(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Fk(t,r)}function sD(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var O0=(e,t)=>e.scope_===t,eq=[];function uD(e,t,r,n){let o=Ui(e),a=e.type_;if(n!==void 0&&Mk(o,n,a)===t){x0(o,n,r,a);return}if(!e.draftLocations_){let l=e.draftLocations_=new Map;k0(o,(s,u)=>{if(Qa(u)){let c=l.get(u)||[];c.push(s),l.set(u,c)}})}let i=e.draftLocations_.get(t)??eq;for(let l of i)x0(o,l,r,a)}function tq(e,t,r){e.callbacks_.push(function(o){let a=t;if(!a||!O0(a,o))return;o.mapSetPlugin_?.fixSetContents(a);let i=$k(a);uD(e,a.draft_??a,i,r),cD(a,o)})}function cD(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let o=n.getPath(e);o&&n.generatePatches_(e,o,t)}sD(e)}}function rq(e,t,r){let{scope_:n}=e;if(Qa(r)){let o=r[On];O0(o,n)&&o.callbacks_.push(function(){g0(e);let i=$k(o);uD(e,r,i,t)})}else No(r)&&e.callbacks_.push(function(){let a=Ui(e);e.type_===3?a.has(r)&&w0(r,n.handledSet_,n):Mk(a,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&w0(Mk(e.copy_,t,e.type_),n.handledSet_,n)})}function w0(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||Qa(e)||t.has(e)||!No(e)||E0(e)||(t.add(e),k0(e,(n,o)=>{if(Qa(o)){let a=o[On];if(O0(a,r)){let i=$k(a);x0(e,n,i,e.type_),sD(a)}}else No(o)&&w0(o,t,r)})),e}function nq(e,t){let r=C0(e),n={type_:r?1:0,scope_:t?t.scope_:lD(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},o=n,a=S0;r&&(o=[n],a=Dm);let{revoke:i,proxy:l}=Proxy.revocable(o,a);return n.draft_=l,n.revoke_=i,[l,n]}var S0={get(e,t){if(t===On)return e;let r=e.scope_.arrayMethodsPlugin_,n=e.type_===1&&typeof t=="string";if(n&&r?.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);let o=Ui(e);if(!_k(o,t,e.type_))return aq(e,o,t);let a=o[t];if(e.finalized_||!No(a)||n&&e.operationMethod&&r?.isMutatingArrayMethod(e.operationMethod)&&XK(t))return a;if(a===Ok(e.base_,t)||oq(e,t,a)){g0(e);let i=e.type_===1?+t:t,l=Lk(e.scope_,a,e,i);return e.copy_[i]=l}return a},has(e,t){return t in Ui(e)},ownKeys(e){return Reflect.ownKeys(Ui(e))},set(e,t,r){let n=dD(Ui(e),t);if(n?.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){let o=Ok(Ui(e),t),a=o?.[On];if(a&&a.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(YK(r,o)&&(r!==void 0||_k(e.base_,t,e.type_)))return!0;g0(e),zk(e)}return e.copy_[t]===r&&(r!==void 0||_k(e.copy_,t,e.type_))||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),rq(e,t,r)),!0},deleteProperty(e,t){return g0(e),Ok(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),zk(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let r=Ui(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[v0]:!0,[Tk]:e.type_!==1||t!=="length",[h0]:n[h0],[Mm]:r[t]}},defineProperty(){Ea(11)},getPrototypeOf(e){return zd(e.base_)},setPrototypeOf(){Ea(12)}},Dm={};for(let e in S0){let t=S0[e];Dm[e]=function(){let r=arguments;return r[0]=r[0][0],t.apply(this,r)}}Dm.deleteProperty=function(e,t){return Dm.set.call(this,e,t,void 0)};Dm.set=function(e,t,r){return S0.set.call(this,e[0],t,r,e[0])};function Ok(e,t){let r=e[On];return(r?Ui(r):e)[t]}function oq(e,t,r){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!No(r)||r[On]?!1:e.baseRefs_.has(r)}function aq(e,t,r){let n=dD(t,r);return n?Mm in n?n[Mm]:n.get?.call(e.draft_):void 0}function dD(e,t){if(!(t in e))return;let r=zd(e);for(;r;){let n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=zd(r)}}function zk(e){e.modified_||(e.modified_=!0,e.parent_&&zk(e.parent_))}function g0(e){e.copy_||(e.assigned_=new Map,e.copy_=Pk(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var iq=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(t,r,n)=>{if(jd(t)&&!jd(r)){let a=r;r=t;let i=this;return function(s=a,...u){return i.produce(s,c=>r.call(this,c,...u))}}jd(r)||Ea(6),n!==void 0&&!jd(n)&&Ea(7);let o;if(No(t)){let a=tD(this),i=Lk(a,t,void 0),l=!0;try{o=r(i),l=!1}finally{l?Ik(a):jk(a)}return eD(a,n),rD(o,a)}else if(!t||!Bk(t)){if(o=r(t),o===void 0&&(o=t),o===oD&&(o=void 0),this.autoFreeze_&&Fk(o,!0),n){let a=[],i=[];mu(Dk).generateReplacementPatches_(t,o,{patches_:a,inversePatches_:i}),n(a,i)}return o}else Ea(1,t)},this.produceWithPatches=(t,r)=>{if(jd(t))return(i,...l)=>this.produceWithPatches(i,s=>t(s,...l));let n,o;return[this.produce(t,r,(i,l)=>{n=i,o=l}),n,o]},Ek(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Ek(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Ek(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){No(e)||Ea(8),Qa(e)&&(e=Sn(e));let t=tD(this),r=Lk(t,e,void 0);return r[On].isManual_=!0,jk(t),r}finishDraft(e,t){let r=e&&e[On];(!r||!r.isManual_)&&Ea(9);let{scope_:n}=r;return eD(n,t),rD(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){let o=t[r];if(o.path.length===0&&o.op==="replace"){e=o.value;break}}r>-1&&(t=t.slice(r+1));let n=mu(Dk).applyPatches_;return Qa(e)?n(e,t):this.produce(e,o=>n(o,t))}};function Lk(e,t,r,n){let[o,a]=N0(t)?mu(b0).proxyMap_(t,r):_0(t)?mu(b0).proxySet_(t,r):nq(t,r);return(r?.scope_??lD()).drafts_.push(o),a.callbacks_=r?.callbacks_??[],a.key_=n,r&&n!==void 0?tq(r,a,n):a.callbacks_.push(function(s){s.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:u}=s;a.modified_&&u&&u.generatePatches_(a,[],s)}),o}function Sn(e){return Qa(e)||Ea(10,e),fD(e)}function fD(e){if(!No(e)||E0(e))return e;let t=e[On],r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Pk(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Pk(e,!0);return k0(r,(o,a)=>{x0(r,o,fD(a))},n),t&&(t.finalized_=!1),r}var lq=new iq,Uk=lq.produce;var st=e=>e;function pD(e){return({dispatch:r,getState:n})=>o=>a=>typeof a=="function"?a(r,n,e):o(a)}var mD=pD(),vD=pD;var sq=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?Tm:Tm.apply(null,arguments)},Vge=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__?window.__REDUX_DEVTOOLS_EXTENSION__:function(){return function(e){return e}},uq=e=>e&&typeof e.match=="function";function Gr(e,t){function r(...n){if(t){let o=t(...n);if(!o)throw new Error(_o(0));return{type:e,payload:o.payload,..."meta"in o&&{meta:o.meta},..."error"in o&&{error:o.error}}}return{type:e,payload:n[0]}}return r.toString=()=>`${e}`,r.type=e,r.match=n=>Nk(n)&&n.type===e,r}var AD=class jm extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,jm.prototype)}static get[Symbol.species](){return jm}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new jm(...t[0].concat(this)):new jm(...t.concat(this))}};function gD(e){return No(e)?Uk(e,()=>{}):e}function T0(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function cq(e){return typeof e=="boolean"}var dq=()=>function(t){let{thunk:r=!0,immutableCheck:n=!0,serializableCheck:o=!0,actionCreatorCheck:a=!0}=t??{},i=new AD;return r&&(cq(r)?i.push(mD):i.push(vD(r.extraArgument))),i},kD="RTK_autoBatch",Ft=()=>e=>({payload:e,meta:{[kD]:!0}}),yD=e=>t=>{setTimeout(t,e)},fq=(e,t)=>r=>{let n=!1,o=()=>{n||(n=!0,cancelAnimationFrame(a),clearTimeout(i),r())},a=e(o),i=setTimeout(o,t)},Kk=(e={type:"raf"})=>t=>(...r)=>{let n=t(...r),o=!0,a=!1,i=!1,l=new Set,s=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?fq(window.requestAnimationFrame,100):yD(10):e.type==="callback"?e.queueNotification:yD(e.timeout),u=()=>{i=!1,a&&(a=!1,l.forEach(c=>c()))};return Object.assign({},n,{subscribe(c){let d=()=>o&&c(),f=n.subscribe(d);return l.add(c),()=>{f(),l.delete(c)}},dispatch(c){try{return o=!c?.meta?.[kD],a=!o,a&&(i||(i=!0,s(u))),n.dispatch(c)}finally{o=!0}}})},pq=e=>function(r){let{autoBatch:n=!0}=r??{},o=new AD(e);return n&&o.push(Kk(typeof n=="object"?n:void 0)),o};function CD(e){let t=dq(),{reducer:r=void 0,middleware:n,devTools:o=!0,duplicateMiddlewareCheck:a=!0,preloadedState:i=void 0,enhancers:l=void 0}=e||{},s;if(typeof r=="function")s=r;else if(f0(r))s=p0(r);else throw new Error(_o(1));let u;typeof n=="function"?u=n(t):u=t();let c=Tm;o&&(c=sq({trace:!1,...typeof o=="object"&&o}));let d=XP(...u),f=pq(d),p=typeof l=="function"?l(f):f(),m=c(...p);return Ck(s,i,m)}function ND(e){let t={},r=[],n,o={addCase(a,i){let l=typeof a=="string"?a:a.type;if(!l)throw new Error(_o(28));if(l in t)throw new Error(_o(29));return t[l]=i,o},addAsyncThunk(a,i){return i.pending&&(t[a.pending.type]=i.pending),i.rejected&&(t[a.rejected.type]=i.rejected),i.fulfilled&&(t[a.fulfilled.type]=i.fulfilled),i.settled&&r.push({matcher:a.settled,reducer:i.settled}),o},addMatcher(a,i){return r.push({matcher:a,reducer:i}),o},addDefaultCase(a){return n=a,o}};return e(o),[t,r,n]}function mq(e){return typeof e=="function"}function vq(e,t){let[r,n,o]=ND(t),a;if(mq(e))a=()=>gD(e());else{let l=gD(e);a=()=>l}function i(l=a(),s){let u=[r[s.type],...n.filter(({matcher:c})=>c(s)).map(({reducer:c})=>c)];return u.filter(c=>!!c).length===0&&(u=[o]),u.reduce((c,d)=>{if(d)if(Qa(c)){let p=d(c,s);return p===void 0?c:p}else{if(No(c))return Uk(c,f=>d(f,s));{let f=d(c,s);if(f===void 0){if(c===null)return c;throw Error("A case reducer on a non-draftable value must not return undefined")}return f}}return c},l)}return i.getInitialState=a,i}var gq=(e,t)=>uq(e)?e.match(t):e(t);function yq(...e){return t=>e.some(r=>gq(r,t))}var hq="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",_D=(e=21)=>{let t="",r=e;for(;r--;)t+=hq[Math.random()*64|0];return t},xq=["name","message","stack","code"],Wk=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},hD=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},bq=e=>{if(typeof e=="object"&&e!==null){let t={};for(let r of xq)typeof e[r]=="string"&&(t[r]=e[r]);return t}return{message:String(e)}},xD="External signal was aborted",wq=(()=>{function e(t,r,n){let o=Gr(t+"/fulfilled",(s,u,c,d)=>({payload:s,meta:{...d||{},arg:c,requestId:u,requestStatus:"fulfilled"}})),a=Gr(t+"/pending",(s,u,c)=>({payload:void 0,meta:{...c||{},arg:u,requestId:s,requestStatus:"pending"}})),i=Gr(t+"/rejected",(s,u,c,d,f)=>({payload:d,error:(n&&n.serializeError||bq)(s||"Rejected"),meta:{...f||{},arg:c,requestId:u,rejectedWithValue:!!d,requestStatus:"rejected",aborted:s?.name==="AbortError",condition:s?.name==="ConditionError"}}));function l(s,{signal:u}={}){return(c,d,f)=>{let p=n?.idGenerator?n.idGenerator(s):_D(),m=new AbortController,g,h;function v(b){h=b,m.abort()}u&&(u.aborted?v(xD):u.addEventListener("abort",()=>v(xD),{once:!0}));let y=(async function(){let b;try{let S=n?.condition?.(s,{getState:d,extra:f});if(Aq(S)&&(S=await S),S===!1||m.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};let w=new Promise((T,k)=>{g=()=>{k({name:"AbortError",message:h||"Aborted"})},m.signal.addEventListener("abort",g,{once:!0})});c(a(p,s,n?.getPendingMeta?.({requestId:p,arg:s},{getState:d,extra:f}))),b=await Promise.race([w,Promise.resolve(r(s,{dispatch:c,getState:d,extra:f,requestId:p,signal:m.signal,abort:v,rejectWithValue:((T,k)=>new Wk(T,k)),fulfillWithValue:((T,k)=>new hD(T,k))})).then(T=>{if(T instanceof Wk)throw T;return T instanceof hD?o(T.payload,p,s,T.meta):o(T,p,s)})])}catch(S){b=S instanceof Wk?i(null,p,s,S.payload,S.meta):i(S,p,s)}finally{g&&m.signal.removeEventListener("abort",g)}return n&&!n.dispatchConditionRejection&&i.match(b)&&b.meta.condition||c(b),b})();return Object.assign(y,{abort:v,requestId:p,arg:s,unwrap(){return y.then(Sq)}})}}return Object.assign(l,{pending:a,rejected:i,fulfilled:o,settled:yq(i,o),typePrefix:t})}return e.withTypes=()=>e,e})();function Sq(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}function Aq(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}var ED=Symbol.for("rtk-slice-createasyncthunk"),qge={[ED]:wq};function kq(e,t){return`${e}/${t}`}function Cq({creators:e}={}){let t=e?.asyncThunk?.[ED];return function(n){let{name:o,reducerPath:a=o}=n;if(!o)throw new Error(_o(11));typeof process<"u";let i=(typeof n.reducers=="function"?n.reducers(_q()):n.reducers)||{},l=Object.keys(i),s={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},u={addCase(b,x){let S=typeof b=="string"?b:b.type;if(!S)throw new Error(_o(12));if(S in s.sliceCaseReducersByType)throw new Error(_o(13));return s.sliceCaseReducersByType[S]=x,u},addMatcher(b,x){return s.sliceMatchers.push({matcher:b,reducer:x}),u},exposeAction(b,x){return s.actionCreators[b]=x,u},exposeCaseReducer(b,x){return s.sliceCaseReducersByName[b]=x,u}};l.forEach(b=>{let x=i[b],S={reducerName:b,type:kq(o,b),createNotation:typeof n.reducers=="function"};Oq(x)?Mq(S,x,u,t):Eq(S,x,u)});function c(){let[b={},x=[],S=void 0]=typeof n.extraReducers=="function"?ND(n.extraReducers):[n.extraReducers],w={...b,...s.sliceCaseReducersByType};return vq(n.initialState,T=>{for(let k in w)T.addCase(k,w[k]);for(let k of s.sliceMatchers)T.addMatcher(k.matcher,k.reducer);for(let k of x)T.addMatcher(k.matcher,k.reducer);S&&T.addDefaultCase(S)})}let d=b=>b,f=new Map,p=new WeakMap,m;function g(b,x){return m||(m=c()),m(b,x)}function h(){return m||(m=c()),m.getInitialState()}function v(b,x=!1){function S(T){let k=T[b];return typeof k>"u"&&x&&(k=T0(p,S,h)),k}function w(T=d){let k=T0(f,x,()=>new WeakMap);return T0(k,T,()=>{let A={};for(let[M,H]of Object.entries(n.selectors??{}))A[M]=Nq(H,T,()=>T0(p,T,h),x);return A})}return{reducerPath:b,getSelectors:w,get selectors(){return w(S)},selectSlice:S}}let y={name:o,reducer:g,actions:s.actionCreators,caseReducers:s.sliceCaseReducersByName,getInitialState:h,...v(a),injectInto(b,{reducerPath:x,...S}={}){let w=x??a;return b.inject({reducerPath:w,reducer:g},S),{...y,...v(w,!0)}}};return y}}function Nq(e,t,r,n){function o(a,...i){let l=t(a);return typeof l>"u"&&n&&(l=r()),e(l,...i)}return o.unwrapped=e,o}var Dt=Cq();function _q(){function e(t,r){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...r}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...r){return t(...r)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,r){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:r}},asyncThunk:e}}function Eq({type:e,reducerName:t,createNotation:r},n,o){let a,i;if("reducer"in n){if(r&&!Tq(n))throw new Error(_o(17));a=n.reducer,i=n.prepare}else a=n;o.addCase(e,a).exposeCaseReducer(t,a).exposeAction(t,i?Gr(e,i):Gr(e))}function Oq(e){return e._reducerDefinitionType==="asyncThunk"}function Tq(e){return e._reducerDefinitionType==="reducerWithPrepare"}function Mq({type:e,reducerName:t},r,n,o){if(!o)throw new Error(_o(18));let{payloadCreator:a,fulfilled:i,pending:l,rejected:s,settled:u,options:c}=r,d=o(e,a,c);n.exposeAction(t,d),i&&n.addCase(d.fulfilled,i),l&&n.addCase(d.pending,l),s&&n.addCase(d.rejected,s),u&&n.addMatcher(d.settled,u),n.exposeCaseReducer(t,{fulfilled:i||M0,pending:l||M0,rejected:s||M0,settled:u||M0})}function M0(){}var Pq="task",OD="listener",TD="completed",qk="cancelled",Dq=`task-${qk}`,Iq=`task-${TD}`,Hk=`${OD}-${qk}`,jq=`${OD}-${TD}`,I0=class{constructor(e){this.code=e,this.message=`${Pq} ${qk} (reason: ${e})`}code;name="TaskAbortError";message},Gk=(e,t)=>{if(typeof e!="function")throw new TypeError(_o(32))},P0=()=>{},MD=(e,t=P0)=>(e.catch(t),e),PD=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),vu=e=>{if(e.aborted)throw new I0(e.reason)};function DD(e,t){let r=P0;return new Promise((n,o)=>{let a=()=>o(new I0(e.reason));if(e.aborted){a();return}r=PD(e,a),t.finally(()=>r()).then(n,o)}).finally(()=>{r=P0})}var zq=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof I0?"cancelled":"rejected",error:r}}finally{t?.()}},D0=e=>t=>MD(DD(e,t).then(r=>(vu(e),r))),ID=e=>{let t=D0(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:Ld}=Object,bD={},j0="listenerMiddleware",Lq=(e,t)=>{let r=n=>PD(e,()=>n.abort(e.reason));return(n,o)=>{Gk(n,"taskExecutor");let a=new AbortController;r(a);let i=zq(async()=>{vu(e),vu(a.signal);let l=await n({pause:D0(a.signal),delay:ID(a.signal),signal:a.signal});return vu(a.signal),l},()=>a.abort(Iq));return o?.autoJoin&&t.push(i.catch(P0)),{result:D0(e)(i),cancel(){a.abort(Dq)}}}},Bq=(e,t)=>{let r=async(n,o)=>{vu(t);let a=()=>{},l=[new Promise((s,u)=>{let c=e({predicate:n,effect:(d,f)=>{f.unsubscribe(),s([d,f.getState(),f.getOriginalState()])}});a=()=>{c(),u()}})];o!=null&&l.push(new Promise(s=>setTimeout(s,o,null)));try{let s=await DD(t,Promise.race(l));return vu(t),s}finally{a()}};return((n,o)=>MD(r(n,o)))},jD=e=>{let{type:t,actionCreator:r,matcher:n,predicate:o,effect:a}=e;if(t)o=Gr(t).match;else if(r)t=r.type,o=r.match;else if(n)o=n;else if(!o)throw new Error(_o(21));return Gk(a,"options.listener"),{predicate:o,type:t,effect:a}},zD=Ld(e=>{let{type:t,predicate:r,effect:n}=jD(e);return{id:_D(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(_o(22))}}},{withTypes:()=>zD}),wD=(e,t)=>{let{type:r,effect:n,predicate:o}=jD(t);return Array.from(e.values()).find(a=>(typeof r=="string"?a.type===r:a.predicate===o)&&a.effect===n)},Vk=e=>{e.pending.forEach(t=>{t.abort(Hk)})},$q=(e,t)=>()=>{for(let r of t.keys())Vk(r);e.clear()},SD=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},LD=Ld(Gr(`${j0}/add`),{withTypes:()=>LD}),Fq=Gr(`${j0}/removeAll`),BD=Ld(Gr(`${j0}/remove`),{withTypes:()=>BD}),Uq=(...e)=>{console.error(`${j0}/error`,...e)},Wi=(e={})=>{let t=new Map,r=new Map,n=p=>{let m=r.get(p)??0;r.set(p,m+1)},o=p=>{let m=r.get(p)??1;m===1?r.delete(p):r.set(p,m-1)},{extra:a,onError:i=Uq}=e;Gk(i,"onError");let l=p=>(p.unsubscribe=()=>t.delete(p.id),t.set(p.id,p),m=>{p.unsubscribe(),m?.cancelActive&&Vk(p)}),s=(p=>{let m=wD(t,p)??zD(p);return l(m)});Ld(s,{withTypes:()=>s});let u=p=>{let m=wD(t,p);return m&&(m.unsubscribe(),p.cancelActive&&Vk(m)),!!m};Ld(u,{withTypes:()=>u});let c=async(p,m,g,h)=>{let v=new AbortController,y=Bq(s,v.signal),b=[];try{p.pending.add(v),n(p),await Promise.resolve(p.effect(m,Ld({},g,{getOriginalState:h,condition:(x,S)=>y(x,S).then(Boolean),take:y,delay:ID(v.signal),pause:D0(v.signal),extra:a,signal:v.signal,fork:Lq(v.signal,b),unsubscribe:p.unsubscribe,subscribe:()=>{t.set(p.id,p)},cancelActiveListeners:()=>{p.pending.forEach((x,S,w)=>{x!==v&&(x.abort(Hk),w.delete(x))})},cancel:()=>{v.abort(Hk),p.pending.delete(v)},throwIfCancelled:()=>{vu(v.signal)}})))}catch(x){x instanceof I0||SD(i,x,{raisedBy:"effect"})}finally{await Promise.all(b),v.abort(jq),o(p),p.pending.delete(v)}},d=$q(t,r);return{middleware:p=>m=>g=>{if(!Nk(g))return m(g);if(LD.match(g))return s(g.payload);if(Fq.match(g)){d();return}if(BD.match(g))return u(g.payload);let h=p.getState(),v=()=>{if(h===bD)throw new Error(_o(23));return h},y;try{if(y=m(g),t.size>0){let b=p.getState(),x=Array.from(t.values());for(let S of x){let w=!1;try{w=S.predicate(g,b,h)}catch(T){w=!1,SD(i,T,{raisedBy:"predicate"})}w&&c(S,g,p,v)}}}finally{h=bD}return y},startListening:s,stopListening:u,clearListeners:d}};function _o(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var Wq={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},$D=Dt({name:"chartLayout",initialState:Wq,reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){var r,n,o,a;e.margin.top=(r=t.payload.top)!==null&&r!==void 0?r:0,e.margin.right=(n=t.payload.right)!==null&&n!==void 0?n:0,e.margin.bottom=(o=t.payload.bottom)!==null&&o!==void 0?o:0,e.margin.left=(a=t.payload.left)!==null&&a!==void 0?a:0},setScale(e,t){e.scale=t.payload}}}),z0=$D.actions,Yk=z0.setMargin,FD=z0.setLayout,UD=z0.setChartSize,WD=z0.setScale;var HD=$D.reducer;function L0(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function qe(e){return Number.isFinite(e)}function ro(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function VD(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function no(e){for(var t=1;t{if(t&&r){var n=r.width,o=r.height,a=t.align,i=t.verticalAlign,l=t.layout,s=t.position,u=t.offset,c=u===void 0?0:u;if(s!=null){if(wm(s)){if(s==="top"&&Se(e.top))return no(no({},e),{},{top:e.top+(o||0)+c});if(s==="bottom"&&Se(e.bottom))return no(no({},e),{},{bottom:e.bottom+(o||0)+c});if(s==="left"&&Se(e.left))return no(no({},e),{},{left:e.left+(n||0)+c});if(s==="right"&&Se(e.right))return no(no({},e),{},{right:e.right+(n||0)+c})}return e}if((l==="vertical"||l==="horizontal"&&i==="middle")&&a!=="center"&&Se(e[a]))return no(no({},e),{},{[a]:e[a]+(n||0)});if((l==="horizontal"||l==="vertical"&&a==="center")&&i!=="middle"&&Se(e[i]))return no(no({},e),{},{[i]:e[i]+(o||0)})}return e},Tn=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",Xk=(e,t,r,n)=>{if(n)return e.map(l=>l.coordinate);var o,a,i=e.map(l=>(l.coordinate===t&&(o=!0),l.coordinate===r&&(a=!0),l.coordinate));return o||i.push(t),a||i.push(r),i},Zk=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,o=e.type,a=e.range,i=e.scale,l=e.realScaleType,s=e.isCategorical,u=e.categoricalDomain,c=e.tickCount,d=e.ticks,f=e.niceTicks,p=e.axisType;if(!i)return null;var m=l==="scaleBand"&&i.bandwidth?i.bandwidth()/2:2,g=(t||r)&&o==="category"&&i.bandwidth?i.bandwidth()/m:0;if(g=p==="angleAxis"&&a&&a.length>=2?Xt(a[0]-a[1])*2*g:g,t&&(d||f)){var h=(d||f||[]).map((v,y)=>{var b=n?n.indexOf(v):v,x=i.map(b);return qe(x)?{coordinate:x+g,value:v,offset:g,index:y}:null}).filter(en);return h}return s&&u?u.map((v,y)=>{var b=i.map(v);return qe(b)?{coordinate:b+g,value:v,index:y,offset:g}:null}).filter(en):i.ticks&&!r&&c!=null?i.ticks(c).map((v,y)=>{var b=i.map(v);return qe(b)?{coordinate:b+g,value:v,index:y,offset:g}:null}).filter(en):i.domain().map((v,y)=>{var b=i.map(v);return qe(b)?{coordinate:b+g,value:n?n[v]:v,index:y,offset:g}:null}).filter(en)},qD=(e,t)=>{if(!t||t.length!==2||!Se(t[0])||!Se(t[1]))return e;var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]),o=[e[0],e[1]];return(!Se(e[0])||e[0]n)&&(o[1]=n),o[0]>n&&(o[0]=n),o[1]{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var o=0;o=0?(u[0]=a,a+=f,u[1]=a):(u[0]=i,i+=f,u[1]=i)}}}},Gq=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var o=0;o=0?(s[0]=a,a+=u,s[1]=a):(s[0]=0,s[1]=0)}}}},Yq={sign:qq,expand:mk,none:ko,silhouette:vk,wiggle:gk,positive:Gq},GD=(e,t,r)=>{var n,o=(n=Yq[r])!==null&&n!==void 0?n:ko,a=pk().keys(t).value((l,s)=>Number(nt(l,s,0))).order(Ed).offset(o),i=a(e);return i.forEach((l,s)=>{l.forEach((u,c)=>{var d=nt(e[c],t[s],0);Array.isArray(d)&&d.length===2&&Se(d[0])&&Se(d[1])&&(u[0]=d[0],u[1]=d[1])})}),i};function B0(e){return e==null?void 0:String(e)}function Bd(e){var t=e.axis,r=e.ticks,n=e.bandSize,o=e.entry,a=e.index,i=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!mt(o[t.dataKey])){var l=Ah(r,"value",o[t.dataKey]);if(l)return l.coordinate+n/2}return r!=null&&r[a]?r[a].coordinate+n/2:null}var s=nt(o,mt(i)?t.dataKey:i),u=t.scale.map(s);return Se(u)?u:null}var Qk=e=>{var t=e.axis,r=e.ticks,n=e.offset,o=e.bandSize,a=e.entry,i=e.index;if(t.type==="category")return r[i]?r[i].coordinate+n:null;var l=nt(a,t.dataKey,t.scale.domain()[i]);if(mt(l))return null;var s=t.scale.map(l);return Se(s)?s-o/2+n:null},YD=e=>{var t=e.numericAxis,r=t.scale.domain();if(t.type==="number"){var n=Math.min(r[0],r[1]),o=Math.max(r[0],r[1]);return n<=0&&o>=0?0:o<0?o:n}return r[0]},Xq=e=>{var t=e.flat(2).filter(Se);return[Math.min(...t),Math.max(...t)]},Zq=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],XD=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return Zq(Object.keys(e).reduce((n,o)=>{var a=e[o];if(!a)return n;var i=a.stackedData,l=i.reduce((s,u)=>{var c=L0(u,t,r),d=Xq(c);return!qe(d[0])||!qe(d[1])?s:[Math.min(s[0],d[0]),Math.max(s[1],d[1])]},[1/0,-1/0]);return[Math.min(l[0],n[0]),Math.max(l[1],n[1])]},[1/0,-1/0]))},Jk=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Rk=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,aa=(e,t,r)=>{if(e&&e.scale&&e.scale.bandwidth){var n=e.scale.bandwidth();if(!r||n>0)return n}if(e&&t&&t.length>=2){for(var o=$i(t,g=>g.coordinate),a=[],i=0,l=1,s=o.length;lf&&(p=Math.min(m,p));return p===1/0?0:p}return r?void 0:0};function eC(e){var t=e.tooltipEntrySettings,r=e.dataKey,n=e.payload,o=e.value,a=e.name;return no(no({},t),{},{dataKey:r,payload:n,value:o,name:a})}function Eo(e,t){if(e!=null)return String(e);if(typeof t=="string")return t}var ZD=(e,t)=>{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},QD=(e,t)=>t==="centric"?e.angle:e.radius;var fn=e=>e.layout.width,pn=e=>e.layout.height,JD=e=>e.layout.scale,$d=e=>e.layout.margin;var Fd=J(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),Ud=J(e=>e.cartesianAxis.yAxis,e=>Object.values(e));var $0="data-recharts-item-index",F0="data-recharts-item-id",gu=60,zm=30;function RD(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function U0(e){for(var t=1;te.brush.height;function tG(e){var t=Ud(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var o=typeof n.width=="number"?n.width:gu;return r+o}return r},0)}function rG(e){var t=Ud(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var o=typeof n.width=="number"?n.width:gu;return r+o}return r},0)}function nG(e){var t=Fd(e);return t.reduce((r,n)=>{if(n.orientation==="top"&&!n.mirror&&!n.hide){var o=typeof n.height=="number"?n.height:zm;return r+o}return r},0)}function oG(e){var t=Fd(e);return t.reduce((r,n)=>{if(n.orientation==="bottom"&&!n.mirror&&!n.hide){var o=typeof n.height=="number"?n.height:zm;return r+o}return r},0)}var Ht=J([fn,pn,$d,eG,tG,rG,nG,oG,Ak,WP],(e,t,r,n,o,a,i,l,s,u)=>{var c={left:(r.left||0)+o,right:(r.right||0)+a},d={top:(r.top||0)+i,bottom:(r.bottom||0)+l},f=U0(U0({},d),c),p=f.bottom;f.bottom+=n,f=KD(f,s,u);var m=e-f.left-f.right,g=t-f.top-f.bottom;return U0(U0({brushBottom:p},f),{},{width:Math.max(m,0),height:Math.max(g,0)})}),W0=J(Ht,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),Wd=J(fn,pn,(e,t)=>({x:0,y:0,width:e,height:t}));var aG=te(re()),H0=te(re()),iG=(0,H0.createContext)(null),It=()=>(0,H0.useContext)(iG)!=null;var Hd=e=>e.brush,yu=J([Hd,Ht,$d],(e,t,r)=>({height:e.height,x:Se(e.x)?e.x:t.left,y:Se(e.y)?e.y:t.top+t.height+t.brushBottom-(r?.bottom||0),width:Se(e.width)?e.width:t.width}));var hu=te(re()),Yr=te(re());function e8(e,t,{signal:r,edges:n}={}){let o,a=null,i=n!=null&&n.includes("leading"),l=n==null||n.includes("trailing"),s=()=>{a!==null&&(e.apply(o,a),o=void 0,a=null)},u=()=>{l&&s(),p()},c=null,d=()=>{c!=null&&clearTimeout(c),c=setTimeout(()=>{c=null,u()},t)},f=()=>{c!==null&&(clearTimeout(c),c=null)},p=()=>{f(),o=void 0,a=null},m=()=>{s()},g=function(...h){if(r?.aborted)return;o=this,a=h;let v=c==null;d(),i&&v&&s()};return g.schedule=d,g.cancel=p,g.flush=m,r?.addEventListener("abort",p,{once:!0}),g}function t8(e,t=0,r={}){typeof r!="object"&&(r={});let{leading:n=!1,trailing:o=!0,maxWait:a}=r,i=Array(2);n&&(i[0]="leading"),o&&(i[1]="trailing");let l,s=null,u=e8(function(...f){l=e.apply(this,f),s=null},t,{edges:i}),c=function(...f){return a!=null&&(s===null&&(s=Date.now()),Date.now()-s>=a)?(l=e.apply(this,f),s=Date.now(),u.cancel(),u.schedule(),l):(u.apply(this,f),l)},d=()=>(u.flush(),l);return c.cancel=u.cancel,c.flush=d,c}function tC(e,t=0,r={}){let{leading:n=!0,trailing:o=!0}=r;return t8(e,t,{leading:n,maxWait:t,trailing:o})}var lG=!0,Vd=function(t,r){for(var n=arguments.length,o=new Array(n>2?n-2:0),a=2;ao[i++]))}};var Oa={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},rC=(e,t,r)=>{var n=r.width,o=n===void 0?Oa.width:n,a=r.height,i=a===void 0?Oa.height:a,l=r.aspect,s=r.maxHeight,u=Ii(o)?e:Number(o),c=Ii(i)?t:Number(i);return l&&l>0&&(u?c=u/l:c&&(u=c*l),s&&c!=null&&c>s&&(c=s)),{calculatedWidth:u,calculatedHeight:c}},sG={width:0,height:0,overflow:"visible"},uG={width:0,overflowX:"visible"},cG={height:0,overflowY:"visible"},dG={},r8=e=>{var t=e.width,r=e.height,n=Ii(t),o=Ii(r);return n&&o?sG:n?uG:o?cG:dG};function n8(e){var t=e.width,r=e.height,n=e.aspect,o=t,a=r;return o===void 0&&a===void 0?(o=Oa.width,a=Oa.height):o===void 0?o=n&&n>0?void 0:Oa.width:a===void 0&&(a=n&&n>0?void 0:Oa.height),{width:o,height:a}}var fG=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function V0(){return V0=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({width:r,height:n}),[r,n]);return AG(o)?hu.createElement(l8.Provider,{value:o},t):null}var Lm=()=>(0,Yr.useContext)(l8),kG=(0,Yr.forwardRef)((e,t)=>{var r=e.aspect,n=e.initialDimension,o=n===void 0?Oa.initialDimension:n,a=e.width,i=e.height,l=e.minWidth,s=l===void 0?Oa.minWidth:l,u=e.minHeight,c=e.maxHeight,d=e.children,f=e.debounce,p=f===void 0?Oa.debounce:f,m=e.id,g=e.className,h=e.onResize,v=e.style,y=v===void 0?{}:v,b=wG(e,fG),x=(0,Yr.useRef)(null),S=(0,Yr.useRef)();S.current=h,(0,Yr.useImperativeHandle)(t,()=>x.current);var w=(0,Yr.useState)({containerWidth:o.width,containerHeight:o.height}),T=gG(w,2),k=T[0],A=T[1],M=(0,Yr.useCallback)((C,_)=>{A(z=>{var D=Math.round(C),E=Math.round(_);return z.containerWidth===D&&z.containerHeight===E?z:{containerWidth:D,containerHeight:E}})},[]);(0,Yr.useEffect)(()=>{if(x.current==null||typeof ResizeObserver>"u")return Un;var C=j=>{var R,U=j[0];if(U!=null){var L=U.contentRect,K=L.width,ae=L.height;M(K,ae),(R=S.current)===null||R===void 0||R.call(S,K,ae)}};p>0&&(C=tC(C,p,{trailing:!0,leading:!1}));var _=new ResizeObserver(C),z=x.current.getBoundingClientRect(),D=z.width,E=z.height;return M(D,E),_.observe(x.current),()=>{_.disconnect()}},[M,p]);var H=k.containerWidth,F=k.containerHeight;Vd(!r||r>0,"The aspect(%s) must be greater than zero.",r);var X=rC(H,F,{width:a,height:i,aspect:r,maxHeight:c}),P=X.calculatedWidth,Y=X.calculatedHeight;return Vd(H<0||F<0||P!=null&&P>0||Y!=null&&Y>0,`The width(%s) and height(%s) of chart should be greater than 0, + A`).concat(a,",").concat(a,",0,1,1,").concat(i,",").concat(o),className:"recharts-legend-icon"});if(s==="rect")return Wn.createElement("path",{stroke:"none",fill:l,d:"M0,".concat(na/8,"h").concat(na,"v").concat(na*3/4,"h").concat(-na,"z"),className:"recharts-legend-icon"});if(Wn.isValidElement(t.legendIcon)){var u=rP({},t);return delete u.legendIcon,Wn.cloneElement(t.legendIcon,u)}return Wn.createElement(wk,{fill:l,cx:o,cy:o,size:na,sizeType:"diameter",type:s})}function oK(e){var t=e.payload,r=e.iconSize,n=e.layout,o=e.formatter,a=e.inactiveColor,i=e.iconType,l=e.labelStyle,s={x:0,y:0,width:na,height:na},u={display:n==="horizontal"?"inline-block":"block",marginRight:10,whiteSpace:"nowrap"},c={display:"inline-block",verticalAlign:"middle",marginRight:4};return t.map((d,f)=>{var p,m,g=d.formatter||o,h=He({"recharts-legend-item":!0,["legend-item-".concat(f)]:!0,inactive:d.inactive});if(d.type==="none")return null;var v=typeof l=="object"?rP({},l):{};v.color=d.inactive?a:v.color||d.color,(p=v.whiteSpace)!==null&&p!==void 0||(v.whiteSpace="normal"),(m=v.overflowWrap)!==null&&m!==void 0||(v.overflowWrap="break-word");var y=g?g(d.value,d,f):d.value;return Wn.createElement("li",zh({className:h,style:u,key:"legend-item-".concat(f)},Li(e,d,f)),Wn.createElement(wm,{width:r,height:r,viewBox:s,style:c,"aria-label":d.value==null?"legend icon":"".concat(d.value," legend icon")},Wn.createElement(nK,{data:d,iconType:i,inactiveColor:a})),Wn.createElement("span",{className:"recharts-legend-item-text",style:v},y))})}var nP=e=>{var t=ft(e,tK),r=t.payload,n=t.layout,o=t.align;if(!r||!r.length)return null;var a={padding:0,margin:0,textAlign:n==="horizontal"?o:"left"};return Wn.createElement("ul",{className:"recharts-default-legend",style:a},Wn.createElement(oK,zh({},t,{payload:r})))};function oP(e,t){let r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function Bi(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var Bh="[object RegExp]",Md="[object String]",Pd="[object Number]",Dd="[object Boolean]",$h="[object Arguments]",Fh="[object Symbol]",Uh="[object Date]",Wh="[object Map]",Hh="[object Set]",Vh="[object Array]",sP="[object Function]",Kh="[object ArrayBuffer]",Id="[object Object]",uP="[object Error]",qh="[object DataView]",Gh="[object Uint8Array]",Yh="[object Uint8ClampedArray]",Xh="[object Uint16Array]",Zh="[object Uint32Array]",cP="[object BigUint64Array]",Qh="[object Int8Array]",Jh="[object Int16Array]",Rh="[object Int32Array]",dP="[object BigInt64Array]",e0="[object Float32Array]",t0="[object Float64Array]";var Sk=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function Em(e){return typeof Sk.Buffer<"u"&&Sk.Buffer.isBuffer(e)}function fP(e,t){return Ql(e,void 0,e,new Map,t)}function Ql(e,t,r,n=new Map,o=void 0){let a=o?.(e,t,r,n);if(a!==void 0)return a;if(Nm(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){let i=new Array(e.length);n.set(e,i);for(let l=0;l{}):Ak(e,t,function n(o,a,i,l,s,u){let c=r(o,a,i,l,s,u);return c!==void 0?!!c:Ak(o,a,n,u,!1)},new Map,!0)}function Ak(e,t,r,n,o=!1){if(t===e)return!0;switch(typeof t){case"object":return iK(e,t,r,n);case"function":return Object.keys(t).length>0?Ak(e,{...t},r,n,o):Jl(e,t);default:return r0(e)?o?typeof t=="string"?t==="":!0:Jl(e,t):Jl(e,t)}}function iK(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return mP(e,t,r,n);if(t instanceof Map)return lK(e,t,r,n);if(t instanceof Set)return sK(e,t,r,n);let o=Object.keys(t);if(e==null||Nm(e))return o.length===0;if(o.length===0)return!0;if(n?.has(t))return n.get(t)===e;n?.set(t,e);try{for(let a=0;a{})}function vP(e){return e=pP(e),t=>n0(t,e)}function gP(e,t){return fP(e,(r,n,o,a)=>{let i=t?.(r,n,o,a);if(i!==void 0)return i;if(typeof e=="object"){if(Bi(e)==="[object Object]"&&typeof e.constructor!="function"){let l={};return a.set(e,l),oa(l,e,o,a),l}switch(Object.prototype.toString.call(e)){case Pd:case Md:case Dd:{let l=new e.constructor(e?.valueOf());return oa(l,e),l}case $h:{let l={};return oa(l,e),l.length=e.length,l[Symbol.iterator]=e[Symbol.iterator],l}default:return}}})}function yP(e){return gP(e)}var uK=/^(?:0|[1-9]\d*)$/;function o0(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function a0(e){return e!=null&&typeof e!="function"&&SP(e.length)}function AP(e){return typeof e=="object"&&e!==null}function kP(e){return AP(e)&&a0(e)}function i0(e,t=Lh){return kP(e)?oP(Array.from(e),aP(wP(t),1)):[]}function l0(e,t,r){return t===!0?i0(e,r):typeof t=="function"?i0(e,t):e}var IP=te(PP()),Tm=te(re());var DP=te(re()),Om=(0,DP.createContext)(null);var _K=e=>e,Xe=()=>{var e=(0,Tm.useContext)(Om);return e?e.store.dispatch:_K},u0=()=>{},EK=()=>u0,OK=(e,t)=>e===t;function Ae(e){var t=(0,Tm.useContext)(Om),r=(0,Tm.useMemo)(()=>t?n=>{if(n!=null)return e(n)}:u0,[t,e]);return(0,IP.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:EK,t?t.store.getState:u0,t?t.store.getState:u0,r,OK)}function TK(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function MK(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(r=>typeof r=="function")){let r=e.map(n=>typeof n=="function"?`function ${n.name||"unnamed"}()`:typeof n).join(", ");throw new TypeError(`${t}[${r}]`)}}var jP=e=>Array.isArray(e)?e:[e];function PK(e){let t=Array.isArray(e[0])?e[0]:e;return MK(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function DK(e,t){let r=[],{length:n}=e;for(let o=0;otypeof WeakRef>"u"?IK:WeakRef,LP=jK(),zK=0,zP=1;function c0(){return{s:zK,v:void 0,o:null,p:null}}function LK(e){return e instanceof LP?e.deref():e}function BP(e,t={}){let r=c0(),{resultEqualityCheck:n}=t,o,a=0;function i(){let l=r,{length:s}=arguments;for(let d=0,f=s;d{r=c0(),i.resetResultsCount()},i.resultsCount=()=>a,i.resetResultsCount=()=>{a=0},i}function BK(e,...t){let r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...o)=>{let a=0,i=0,l,s={},u=o.pop();typeof u=="object"&&(s=u,u=o.pop()),TK(u,`createSelector expects an output function after the inputs, but received: [${typeof u}]`);let c={...r,...s},{memoize:d,memoizeOptions:f=[],argsMemoize:p=BP,argsMemoizeOptions:m=[]}=c,g=jP(f),h=jP(m),v=PK(o),y=d(function(){return a++,u.apply(null,arguments)},...g),b=!0,x=p(function(){i++;let w=DK(v,arguments);return l=y.apply(null,w),l},...h);return Object.assign(x,{resultFunc:u,memoizedResultFunc:y,dependencies:v,dependencyRecomputations:()=>i,resetDependencyRecomputations:()=>{i=0},lastResult:()=>l,recomputations:()=>a,resetRecomputations:()=>{a=0},memoize:d,argsMemoize:p})};return Object.assign(n,{withTypes:()=>n}),n}var J=BK(BP);function $P(e,t=1){let r=[],n=Math.floor(t),o=(a,i)=>{for(let l=0;l{if(e!==t){let n=FP(e),o=FP(t);if(n===o&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?o-n:n-o}return 0};function d0(e){return typeof e=="symbol"||e instanceof Symbol}var $K=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,FK=/^\w*$/;function WP(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||d0(e)?!0:typeof e=="string"&&(FK.test(e)||!$K.test(e))||t!=null&&Object.hasOwn(t,e)}function HP(e,t,r,n){if(e==null)return[];r=n?void 0:r,Array.isArray(e)||(e=Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(r)||(r=r==null?[]:[r]),r=r.map(l=>String(l));let o=(l,s)=>{let u=l;for(let c=0;cs==null||l==null?s:typeof l=="object"&&"key"in l?Object.hasOwn(s,l.key)?s[l.key]:o(s,l.path):typeof l=="function"?l(s):Array.isArray(l)?o(s,l):typeof s=="object"?s[l]:s,i=t.map(l=>(Array.isArray(l)&&l.length===1&&(l=l[0]),l==null||typeof l=="function"||Array.isArray(l)||WP(l)?l:{key:l,path:wd(l)}));return e.map(l=>({original:l,criteria:i.map(s=>a(s,l))})).slice().sort((l,s)=>{for(let u=0;ul.original)}function $i(e,...t){let r=t.length;return r>1&&Mm(e,t[0],t[1])?t=[]:r>2&&Mm(t[0],t[1],t[2])&&(t=[t[0]]),HP(e,$P(t),["asc"])}var Nk=e=>e.legend.settings,VP=e=>e.legend.size,UK=e=>e.legend.payload,KP=J([UK,Nk],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?$i(n,r):n});function qP(){return Ae(KP)}var Fi=te(re());function WK(e,t){return qK(e)||KK(e,t)||VK(e,t)||HK()}function HK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function VK(e,t){if(e){if(typeof e=="string")return GP(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?GP(e,t):void 0}}function GP(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rf0||Math.abs(e.left-t.left)>f0||Math.abs(e.top-t.top)>f0||Math.abs(e.width-t.width)>f0}function XP(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function p0(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=(0,Fi.useState)({height:0,left:0,top:0,width:0}),r=WK(t,2),n=r[0],o=r[1],a=(0,Fi.useRef)(null),i=(0,Fi.useRef)(n);i.current=n;var l=(0,Fi.useCallback)(s=>{if(a.current!=null&&(a.current.disconnect(),a.current=null),s!=null){var u=XP(s);if(YP(u,i.current)&&o(u),typeof ResizeObserver<"u"){var c=new ResizeObserver(()=>{var d=XP(s);YP(d,i.current)&&o(d)});c.observe(s),a.current=c}}},[...e]);return(0,Fi.useEffect)(()=>()=>{var s;(s=a.current)===null||s===void 0||s.disconnect()},[]),[n,l]}var d8=te(re());function wn(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var GK=typeof Symbol=="function"&&Symbol.observable||"@@observable",ZP=GK,_k=()=>Math.random().toString(36).substring(7).split("").join("."),YK={INIT:`@@redux/INIT${_k()}`,REPLACE:`@@redux/REPLACE${_k()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${_k()}`},m0=YK;function v0(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function Ek(e,t,r){if(typeof e!="function")throw new Error(wn(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(wn(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(wn(1));return r(Ek)(e,t)}let n=e,o=t,a=new Map,i=a,l=0,s=!1;function u(){i===a&&(i=new Map,a.forEach((h,v)=>{i.set(v,h)}))}function c(){if(s)throw new Error(wn(3));return o}function d(h){if(typeof h!="function")throw new Error(wn(4));if(s)throw new Error(wn(5));let v=!0;u();let y=l++;return i.set(y,h),function(){if(v){if(s)throw new Error(wn(6));v=!1,u(),i.delete(y),a=null}}}function f(h){if(!v0(h))throw new Error(wn(7));if(typeof h.type>"u")throw new Error(wn(8));if(typeof h.type!="string")throw new Error(wn(17));if(s)throw new Error(wn(9));try{s=!0,o=n(o,h)}finally{s=!1}return(a=i).forEach(y=>{y()}),h}function p(h){if(typeof h!="function")throw new Error(wn(10));n=h,f({type:m0.REPLACE})}function m(){let h=d;return{subscribe(v){if(typeof v!="object"||v===null)throw new Error(wn(11));function y(){let x=v;x.next&&x.next(c())}return y(),{unsubscribe:h(y)}},[ZP](){return this}}}return f({type:m0.INIT}),{dispatch:f,subscribe:d,getState:c,replaceReducer:p,[ZP]:m}}function XK(e){Object.keys(e).forEach(t=>{let r=e[t];if(typeof r(void 0,{type:m0.INIT})>"u")throw new Error(wn(12));if(typeof r(void 0,{type:m0.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(wn(13))})}function g0(e){let t=Object.keys(e),r={};for(let i=0;i"u"){let h=s&&s.type;throw new Error(wn(14))}c[f]=g,u=u||g!==m}return u=u||n.length!==Object.keys(l).length,u?c:l}}function Pm(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function QP(...e){return t=>(r,n)=>{let o=t(r,n),a=()=>{throw new Error(wn(15))},i={getState:o.getState,dispatch:(s,...u)=>a(s,...u)},l=e.map(s=>s(i));return a=Pm(...l)(o.dispatch),{...o,dispatch:a}}}function Ok(e){return v0(e)&&"type"in e&&typeof e.type=="string"}var iD=Symbol.for("immer-nothing"),JP=Symbol.for("immer-draftable"),On=Symbol.for("immer-state");function Ea(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Co=Object,Ld=Co.getPrototypeOf,b0="constructor",N0="prototype",Dk="configurable",w0="enumerable",h0="writable",Dm="value",Qa=e=>!!e&&!!e[On];function No(e){return e?lD(e)||E0(e)||!!e[JP]||!!e[b0]?.[JP]||O0(e)||T0(e):!1}var ZK=Co[N0][b0].toString(),RP=new WeakMap;function lD(e){if(!e||!Uk(e))return!1;let t=Ld(e);if(t===null||t===Co[N0])return!0;let r=Co.hasOwnProperty.call(t,b0)&&t[b0];if(r===Object)return!0;if(!zd(r))return!1;let n=RP.get(r);return n===void 0&&(n=Function.toString.call(r),RP.set(r,n)),n===ZK}function _0(e,t,r=!0){zm(e)===0?(r?Reflect.ownKeys(e):Co.keys(e)).forEach(o=>{t(o,e[o],e)}):e.forEach((n,o)=>t(o,n,e))}function zm(e){let t=e[On];return t?t.type_:E0(e)?1:O0(e)?2:T0(e)?3:0}var Tk=(e,t,r=zm(e))=>r===2?e.has(t):Co[N0].hasOwnProperty.call(e,t),Ik=(e,t,r=zm(e))=>r===2?e.get(t):e[t],S0=(e,t,r,n=zm(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function QK(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var E0=Array.isArray,O0=e=>e instanceof Map,T0=e=>e instanceof Set,Uk=e=>typeof e=="object",zd=e=>typeof e=="function",Mk=e=>typeof e=="boolean";function JK(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Ui=e=>e.copy_||e.base_;var Wk=e=>e.modified_?e.copy_:e.base_;function jk(e,t){if(O0(e))return new Map(e);if(T0(e))return new Set(e);if(E0(e))return Array[N0].slice.call(e);let r=lD(e);if(t===!0||t==="class_only"&&!r){let n=Co.getOwnPropertyDescriptors(e);delete n[On];let o=Reflect.ownKeys(n);for(let a=0;a1&&Co.defineProperties(e,{set:y0,add:y0,clear:y0,delete:y0}),Co.freeze(e),t&&_0(e,(r,n)=>{Hk(n,!0)},!1)),e}function RK(){Ea(2)}var y0={[Dm]:RK};function M0(e){return e===null||!Uk(e)?!0:Co.isFrozen(e)}var A0="MapSet",zk="Patches",eD="ArrayMethods",sD={};function vu(e){let t=sD[e];return t||Ea(0,e),t}var tD=e=>!!sD[e];var Im,uD=()=>Im,eq=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:tD(A0)?vu(A0):void 0,arrayMethodsPlugin_:tD(eD)?vu(eD):void 0});function rD(e,t){t&&(e.patchPlugin_=vu(zk),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Lk(e){Bk(e),e.drafts_.forEach(tq),e.drafts_=null}function Bk(e){e===Im&&(Im=e.parent_)}var nD=e=>Im=eq(Im,e);function tq(e){let t=e[On];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function oD(e,t){t.unfinalizedDrafts_=t.drafts_.length;let r=t.drafts_[0];if(e!==void 0&&e!==r){r[On].modified_&&(Lk(t),Ea(4)),No(e)&&(e=aD(t,e));let{patchPlugin_:o}=t;o&&o.generateReplacementPatches_(r[On].base_,e,t)}else e=aD(t,r);return rq(t,e,!0),Lk(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==iD?e:void 0}function aD(e,t){if(M0(t))return t;let r=t[On];if(!r)return k0(t,e.handledSet_,e);if(!P0(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){let{callbacks_:n}=r;if(n)for(;n.length>0;)n.pop()(e);fD(r,e)}return r.copy_}function rq(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Hk(t,r)}function cD(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var P0=(e,t)=>e.scope_===t,nq=[];function dD(e,t,r,n){let o=Ui(e),a=e.type_;if(n!==void 0&&Ik(o,n,a)===t){S0(o,n,r,a);return}if(!e.draftLocations_){let l=e.draftLocations_=new Map;_0(o,(s,u)=>{if(Qa(u)){let c=l.get(u)||[];c.push(s),l.set(u,c)}})}let i=e.draftLocations_.get(t)??nq;for(let l of i)S0(o,l,r,a)}function oq(e,t,r){e.callbacks_.push(function(o){let a=t;if(!a||!P0(a,o))return;o.mapSetPlugin_?.fixSetContents(a);let i=Wk(a);dD(e,a.draft_??a,i,r),fD(a,o)})}function fD(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let o=n.getPath(e);o&&n.generatePatches_(e,o,t)}cD(e)}}function aq(e,t,r){let{scope_:n}=e;if(Qa(r)){let o=r[On];P0(o,n)&&o.callbacks_.push(function(){x0(e);let i=Wk(o);dD(e,r,i,t)})}else No(r)&&e.callbacks_.push(function(){let a=Ui(e);e.type_===3?a.has(r)&&k0(r,n.handledSet_,n):Ik(a,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&k0(Ik(e.copy_,t,e.type_),n.handledSet_,n)})}function k0(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||Qa(e)||t.has(e)||!No(e)||M0(e)||(t.add(e),_0(e,(n,o)=>{if(Qa(o)){let a=o[On];if(P0(a,r)){let i=Wk(a);S0(e,n,i,e.type_),cD(a)}}else No(o)&&k0(o,t,r)})),e}function iq(e,t){let r=E0(e),n={type_:r?1:0,scope_:t?t.scope_:uD(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},o=n,a=C0;r&&(o=[n],a=jm);let{revoke:i,proxy:l}=Proxy.revocable(o,a);return n.draft_=l,n.revoke_=i,[l,n]}var C0={get(e,t){if(t===On)return e;let r=e.scope_.arrayMethodsPlugin_,n=e.type_===1&&typeof t=="string";if(n&&r?.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);let o=Ui(e);if(!Tk(o,t,e.type_))return sq(e,o,t);let a=o[t];if(e.finalized_||!No(a)||n&&e.operationMethod&&r?.isMutatingArrayMethod(e.operationMethod)&&JK(t))return a;if(a===Pk(e.base_,t)||lq(e,t,a)){x0(e);let i=e.type_===1?+t:t,l=Fk(e.scope_,a,e,i);return e.copy_[i]=l}return a},has(e,t){return t in Ui(e)},ownKeys(e){return Reflect.ownKeys(Ui(e))},set(e,t,r){let n=pD(Ui(e),t);if(n?.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){let o=Pk(Ui(e),t),a=o?.[On];if(a&&a.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(QK(r,o)&&(r!==void 0||Tk(e.base_,t,e.type_)))return!0;x0(e),$k(e)}return e.copy_[t]===r&&(r!==void 0||Tk(e.copy_,t,e.type_))||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),aq(e,t,r)),!0},deleteProperty(e,t){return x0(e),Pk(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),$k(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let r=Ui(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[h0]:!0,[Dk]:e.type_!==1||t!=="length",[w0]:n[w0],[Dm]:r[t]}},defineProperty(){Ea(11)},getPrototypeOf(e){return Ld(e.base_)},setPrototypeOf(){Ea(12)}},jm={};for(let e in C0){let t=C0[e];jm[e]=function(){let r=arguments;return r[0]=r[0][0],t.apply(this,r)}}jm.deleteProperty=function(e,t){return jm.set.call(this,e,t,void 0)};jm.set=function(e,t,r){return C0.set.call(this,e[0],t,r,e[0])};function Pk(e,t){let r=e[On];return(r?Ui(r):e)[t]}function lq(e,t,r){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!No(r)||r[On]?!1:e.baseRefs_.has(r)}function sq(e,t,r){let n=pD(t,r);return n?Dm in n?n[Dm]:n.get?.call(e.draft_):void 0}function pD(e,t){if(!(t in e))return;let r=Ld(e);for(;r;){let n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Ld(r)}}function $k(e){e.modified_||(e.modified_=!0,e.parent_&&$k(e.parent_))}function x0(e){e.copy_||(e.assigned_=new Map,e.copy_=jk(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var uq=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(t,r,n)=>{if(zd(t)&&!zd(r)){let a=r;r=t;let i=this;return function(s=a,...u){return i.produce(s,c=>r.call(this,c,...u))}}zd(r)||Ea(6),n!==void 0&&!zd(n)&&Ea(7);let o;if(No(t)){let a=nD(this),i=Fk(a,t,void 0),l=!0;try{o=r(i),l=!1}finally{l?Lk(a):Bk(a)}return rD(a,n),oD(o,a)}else if(!t||!Uk(t)){if(o=r(t),o===void 0&&(o=t),o===iD&&(o=void 0),this.autoFreeze_&&Hk(o,!0),n){let a=[],i=[];vu(zk).generateReplacementPatches_(t,o,{patches_:a,inversePatches_:i}),n(a,i)}return o}else Ea(1,t)},this.produceWithPatches=(t,r)=>{if(zd(t))return(i,...l)=>this.produceWithPatches(i,s=>t(s,...l));let n,o;return[this.produce(t,r,(i,l)=>{n=i,o=l}),n,o]},Mk(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Mk(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Mk(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){No(e)||Ea(8),Qa(e)&&(e=Sn(e));let t=nD(this),r=Fk(t,e,void 0);return r[On].isManual_=!0,Bk(t),r}finishDraft(e,t){let r=e&&e[On];(!r||!r.isManual_)&&Ea(9);let{scope_:n}=r;return rD(n,t),oD(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){let o=t[r];if(o.path.length===0&&o.op==="replace"){e=o.value;break}}r>-1&&(t=t.slice(r+1));let n=vu(zk).applyPatches_;return Qa(e)?n(e,t):this.produce(e,o=>n(o,t))}};function Fk(e,t,r,n){let[o,a]=O0(t)?vu(A0).proxyMap_(t,r):T0(t)?vu(A0).proxySet_(t,r):iq(t,r);return(r?.scope_??uD()).drafts_.push(o),a.callbacks_=r?.callbacks_??[],a.key_=n,r&&n!==void 0?oq(r,a,n):a.callbacks_.push(function(s){s.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:u}=s;a.modified_&&u&&u.generatePatches_(a,[],s)}),o}function Sn(e){return Qa(e)||Ea(10,e),mD(e)}function mD(e){if(!No(e)||M0(e))return e;let t=e[On],r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=jk(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=jk(e,!0);return _0(r,(o,a)=>{S0(r,o,mD(a))},n),t&&(t.finalized_=!1),r}var cq=new uq,Vk=cq.produce;var st=e=>e;function vD(e){return({dispatch:r,getState:n})=>o=>a=>typeof a=="function"?a(r,n,e):o(a)}var gD=vD(),yD=vD;var dq=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?Pm:Pm.apply(null,arguments)},Zge=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__?window.__REDUX_DEVTOOLS_EXTENSION__:function(){return function(e){return e}},fq=e=>e&&typeof e.match=="function";function Gr(e,t){function r(...n){if(t){let o=t(...n);if(!o)throw new Error(_o(0));return{type:e,payload:o.payload,..."meta"in o&&{meta:o.meta},..."error"in o&&{error:o.error}}}return{type:e,payload:n[0]}}return r.toString=()=>`${e}`,r.type=e,r.match=n=>Ok(n)&&n.type===e,r}var CD=class Lm extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,Lm.prototype)}static get[Symbol.species](){return Lm}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new Lm(...t[0].concat(this)):new Lm(...t.concat(this))}};function hD(e){return No(e)?Vk(e,()=>{}):e}function D0(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function pq(e){return typeof e=="boolean"}var mq=()=>function(t){let{thunk:r=!0,immutableCheck:n=!0,serializableCheck:o=!0,actionCreatorCheck:a=!0}=t??{},i=new CD;return r&&(pq(r)?i.push(gD):i.push(yD(r.extraArgument))),i},ND="RTK_autoBatch",Ft=()=>e=>({payload:e,meta:{[ND]:!0}}),xD=e=>t=>{setTimeout(t,e)},vq=(e,t)=>r=>{let n=!1,o=()=>{n||(n=!0,cancelAnimationFrame(a),clearTimeout(i),r())},a=e(o),i=setTimeout(o,t)},Yk=(e={type:"raf"})=>t=>(...r)=>{let n=t(...r),o=!0,a=!1,i=!1,l=new Set,s=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?vq(window.requestAnimationFrame,100):xD(10):e.type==="callback"?e.queueNotification:xD(e.timeout),u=()=>{i=!1,a&&(a=!1,l.forEach(c=>c()))};return Object.assign({},n,{subscribe(c){let d=()=>o&&c(),f=n.subscribe(d);return l.add(c),()=>{f(),l.delete(c)}},dispatch(c){try{return o=!c?.meta?.[ND],a=!o,a&&(i||(i=!0,s(u))),n.dispatch(c)}finally{o=!0}}})},gq=e=>function(r){let{autoBatch:n=!0}=r??{},o=new CD(e);return n&&o.push(Yk(typeof n=="object"?n:void 0)),o};function _D(e){let t=mq(),{reducer:r=void 0,middleware:n,devTools:o=!0,duplicateMiddlewareCheck:a=!0,preloadedState:i=void 0,enhancers:l=void 0}=e||{},s;if(typeof r=="function")s=r;else if(v0(r))s=g0(r);else throw new Error(_o(1));let u;typeof n=="function"?u=n(t):u=t();let c=Pm;o&&(c=dq({trace:!1,...typeof o=="object"&&o}));let d=QP(...u),f=gq(d),p=typeof l=="function"?l(f):f(),m=c(...p);return Ek(s,i,m)}function ED(e){let t={},r=[],n,o={addCase(a,i){let l=typeof a=="string"?a:a.type;if(!l)throw new Error(_o(28));if(l in t)throw new Error(_o(29));return t[l]=i,o},addAsyncThunk(a,i){return i.pending&&(t[a.pending.type]=i.pending),i.rejected&&(t[a.rejected.type]=i.rejected),i.fulfilled&&(t[a.fulfilled.type]=i.fulfilled),i.settled&&r.push({matcher:a.settled,reducer:i.settled}),o},addMatcher(a,i){return r.push({matcher:a,reducer:i}),o},addDefaultCase(a){return n=a,o}};return e(o),[t,r,n]}function yq(e){return typeof e=="function"}function hq(e,t){let[r,n,o]=ED(t),a;if(yq(e))a=()=>hD(e());else{let l=hD(e);a=()=>l}function i(l=a(),s){let u=[r[s.type],...n.filter(({matcher:c})=>c(s)).map(({reducer:c})=>c)];return u.filter(c=>!!c).length===0&&(u=[o]),u.reduce((c,d)=>{if(d)if(Qa(c)){let p=d(c,s);return p===void 0?c:p}else{if(No(c))return Vk(c,f=>d(f,s));{let f=d(c,s);if(f===void 0){if(c===null)return c;throw Error("A case reducer on a non-draftable value must not return undefined")}return f}}return c},l)}return i.getInitialState=a,i}var xq=(e,t)=>fq(e)?e.match(t):e(t);function bq(...e){return t=>e.some(r=>xq(r,t))}var wq="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",OD=(e=21)=>{let t="",r=e;for(;r--;)t+=wq[Math.random()*64|0];return t},Sq=["name","message","stack","code"],Kk=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},bD=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},Aq=e=>{if(typeof e=="object"&&e!==null){let t={};for(let r of Sq)typeof e[r]=="string"&&(t[r]=e[r]);return t}return{message:String(e)}},wD="External signal was aborted",kq=(()=>{function e(t,r,n){let o=Gr(t+"/fulfilled",(s,u,c,d)=>({payload:s,meta:{...d||{},arg:c,requestId:u,requestStatus:"fulfilled"}})),a=Gr(t+"/pending",(s,u,c)=>({payload:void 0,meta:{...c||{},arg:u,requestId:s,requestStatus:"pending"}})),i=Gr(t+"/rejected",(s,u,c,d,f)=>({payload:d,error:(n&&n.serializeError||Aq)(s||"Rejected"),meta:{...f||{},arg:c,requestId:u,rejectedWithValue:!!d,requestStatus:"rejected",aborted:s?.name==="AbortError",condition:s?.name==="ConditionError"}}));function l(s,{signal:u}={}){return(c,d,f)=>{let p=n?.idGenerator?n.idGenerator(s):OD(),m=new AbortController,g,h;function v(b){h=b,m.abort()}u&&(u.aborted?v(wD):u.addEventListener("abort",()=>v(wD),{once:!0}));let y=(async function(){let b;try{let S=n?.condition?.(s,{getState:d,extra:f});if(Nq(S)&&(S=await S),S===!1||m.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};let w=new Promise((T,k)=>{g=()=>{k({name:"AbortError",message:h||"Aborted"})},m.signal.addEventListener("abort",g,{once:!0})});c(a(p,s,n?.getPendingMeta?.({requestId:p,arg:s},{getState:d,extra:f}))),b=await Promise.race([w,Promise.resolve(r(s,{dispatch:c,getState:d,extra:f,requestId:p,signal:m.signal,abort:v,rejectWithValue:((T,k)=>new Kk(T,k)),fulfillWithValue:((T,k)=>new bD(T,k))})).then(T=>{if(T instanceof Kk)throw T;return T instanceof bD?o(T.payload,p,s,T.meta):o(T,p,s)})])}catch(S){b=S instanceof Kk?i(null,p,s,S.payload,S.meta):i(S,p,s)}finally{g&&m.signal.removeEventListener("abort",g)}return n&&!n.dispatchConditionRejection&&i.match(b)&&b.meta.condition||c(b),b})();return Object.assign(y,{abort:v,requestId:p,arg:s,unwrap(){return y.then(Cq)}})}}return Object.assign(l,{pending:a,rejected:i,fulfilled:o,settled:bq(i,o),typePrefix:t})}return e.withTypes=()=>e,e})();function Cq(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}function Nq(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}var TD=Symbol.for("rtk-slice-createasyncthunk"),Jge={[TD]:kq};function _q(e,t){return`${e}/${t}`}function Eq({creators:e}={}){let t=e?.asyncThunk?.[TD];return function(n){let{name:o,reducerPath:a=o}=n;if(!o)throw new Error(_o(11));typeof process<"u";let i=(typeof n.reducers=="function"?n.reducers(Tq()):n.reducers)||{},l=Object.keys(i),s={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},u={addCase(b,x){let S=typeof b=="string"?b:b.type;if(!S)throw new Error(_o(12));if(S in s.sliceCaseReducersByType)throw new Error(_o(13));return s.sliceCaseReducersByType[S]=x,u},addMatcher(b,x){return s.sliceMatchers.push({matcher:b,reducer:x}),u},exposeAction(b,x){return s.actionCreators[b]=x,u},exposeCaseReducer(b,x){return s.sliceCaseReducersByName[b]=x,u}};l.forEach(b=>{let x=i[b],S={reducerName:b,type:_q(o,b),createNotation:typeof n.reducers=="function"};Pq(x)?Iq(S,x,u,t):Mq(S,x,u)});function c(){let[b={},x=[],S=void 0]=typeof n.extraReducers=="function"?ED(n.extraReducers):[n.extraReducers],w={...b,...s.sliceCaseReducersByType};return hq(n.initialState,T=>{for(let k in w)T.addCase(k,w[k]);for(let k of s.sliceMatchers)T.addMatcher(k.matcher,k.reducer);for(let k of x)T.addMatcher(k.matcher,k.reducer);S&&T.addDefaultCase(S)})}let d=b=>b,f=new Map,p=new WeakMap,m;function g(b,x){return m||(m=c()),m(b,x)}function h(){return m||(m=c()),m.getInitialState()}function v(b,x=!1){function S(T){let k=T[b];return typeof k>"u"&&x&&(k=D0(p,S,h)),k}function w(T=d){let k=D0(f,x,()=>new WeakMap);return D0(k,T,()=>{let A={};for(let[M,H]of Object.entries(n.selectors??{}))A[M]=Oq(H,T,()=>D0(p,T,h),x);return A})}return{reducerPath:b,getSelectors:w,get selectors(){return w(S)},selectSlice:S}}let y={name:o,reducer:g,actions:s.actionCreators,caseReducers:s.sliceCaseReducersByName,getInitialState:h,...v(a),injectInto(b,{reducerPath:x,...S}={}){let w=x??a;return b.inject({reducerPath:w,reducer:g},S),{...y,...v(w,!0)}}};return y}}function Oq(e,t,r,n){function o(a,...i){let l=t(a);return typeof l>"u"&&n&&(l=r()),e(l,...i)}return o.unwrapped=e,o}var Dt=Eq();function Tq(){function e(t,r){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...r}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...r){return t(...r)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,r){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:r}},asyncThunk:e}}function Mq({type:e,reducerName:t,createNotation:r},n,o){let a,i;if("reducer"in n){if(r&&!Dq(n))throw new Error(_o(17));a=n.reducer,i=n.prepare}else a=n;o.addCase(e,a).exposeCaseReducer(t,a).exposeAction(t,i?Gr(e,i):Gr(e))}function Pq(e){return e._reducerDefinitionType==="asyncThunk"}function Dq(e){return e._reducerDefinitionType==="reducerWithPrepare"}function Iq({type:e,reducerName:t},r,n,o){if(!o)throw new Error(_o(18));let{payloadCreator:a,fulfilled:i,pending:l,rejected:s,settled:u,options:c}=r,d=o(e,a,c);n.exposeAction(t,d),i&&n.addCase(d.fulfilled,i),l&&n.addCase(d.pending,l),s&&n.addCase(d.rejected,s),u&&n.addMatcher(d.settled,u),n.exposeCaseReducer(t,{fulfilled:i||I0,pending:l||I0,rejected:s||I0,settled:u||I0})}function I0(){}var jq="task",MD="listener",PD="completed",Xk="cancelled",zq=`task-${Xk}`,Lq=`task-${PD}`,qk=`${MD}-${Xk}`,Bq=`${MD}-${PD}`,L0=class{constructor(e){this.code=e,this.message=`${jq} ${Xk} (reason: ${e})`}code;name="TaskAbortError";message},Zk=(e,t)=>{if(typeof e!="function")throw new TypeError(_o(32))},j0=()=>{},DD=(e,t=j0)=>(e.catch(t),e),ID=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),gu=e=>{if(e.aborted)throw new L0(e.reason)};function jD(e,t){let r=j0;return new Promise((n,o)=>{let a=()=>o(new L0(e.reason));if(e.aborted){a();return}r=ID(e,a),t.finally(()=>r()).then(n,o)}).finally(()=>{r=j0})}var $q=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof L0?"cancelled":"rejected",error:r}}finally{t?.()}},z0=e=>t=>DD(jD(e,t).then(r=>(gu(e),r))),zD=e=>{let t=z0(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:Bd}=Object,SD={},B0="listenerMiddleware",Fq=(e,t)=>{let r=n=>ID(e,()=>n.abort(e.reason));return(n,o)=>{Zk(n,"taskExecutor");let a=new AbortController;r(a);let i=$q(async()=>{gu(e),gu(a.signal);let l=await n({pause:z0(a.signal),delay:zD(a.signal),signal:a.signal});return gu(a.signal),l},()=>a.abort(Lq));return o?.autoJoin&&t.push(i.catch(j0)),{result:z0(e)(i),cancel(){a.abort(zq)}}}},Uq=(e,t)=>{let r=async(n,o)=>{gu(t);let a=()=>{},l=[new Promise((s,u)=>{let c=e({predicate:n,effect:(d,f)=>{f.unsubscribe(),s([d,f.getState(),f.getOriginalState()])}});a=()=>{c(),u()}})];o!=null&&l.push(new Promise(s=>setTimeout(s,o,null)));try{let s=await jD(t,Promise.race(l));return gu(t),s}finally{a()}};return((n,o)=>DD(r(n,o)))},LD=e=>{let{type:t,actionCreator:r,matcher:n,predicate:o,effect:a}=e;if(t)o=Gr(t).match;else if(r)t=r.type,o=r.match;else if(n)o=n;else if(!o)throw new Error(_o(21));return Zk(a,"options.listener"),{predicate:o,type:t,effect:a}},BD=Bd(e=>{let{type:t,predicate:r,effect:n}=LD(e);return{id:OD(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(_o(22))}}},{withTypes:()=>BD}),AD=(e,t)=>{let{type:r,effect:n,predicate:o}=LD(t);return Array.from(e.values()).find(a=>(typeof r=="string"?a.type===r:a.predicate===o)&&a.effect===n)},Gk=e=>{e.pending.forEach(t=>{t.abort(qk)})},Wq=(e,t)=>()=>{for(let r of t.keys())Gk(r);e.clear()},kD=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},$D=Bd(Gr(`${B0}/add`),{withTypes:()=>$D}),Hq=Gr(`${B0}/removeAll`),FD=Bd(Gr(`${B0}/remove`),{withTypes:()=>FD}),Vq=(...e)=>{console.error(`${B0}/error`,...e)},Wi=(e={})=>{let t=new Map,r=new Map,n=p=>{let m=r.get(p)??0;r.set(p,m+1)},o=p=>{let m=r.get(p)??1;m===1?r.delete(p):r.set(p,m-1)},{extra:a,onError:i=Vq}=e;Zk(i,"onError");let l=p=>(p.unsubscribe=()=>t.delete(p.id),t.set(p.id,p),m=>{p.unsubscribe(),m?.cancelActive&&Gk(p)}),s=(p=>{let m=AD(t,p)??BD(p);return l(m)});Bd(s,{withTypes:()=>s});let u=p=>{let m=AD(t,p);return m&&(m.unsubscribe(),p.cancelActive&&Gk(m)),!!m};Bd(u,{withTypes:()=>u});let c=async(p,m,g,h)=>{let v=new AbortController,y=Uq(s,v.signal),b=[];try{p.pending.add(v),n(p),await Promise.resolve(p.effect(m,Bd({},g,{getOriginalState:h,condition:(x,S)=>y(x,S).then(Boolean),take:y,delay:zD(v.signal),pause:z0(v.signal),extra:a,signal:v.signal,fork:Fq(v.signal,b),unsubscribe:p.unsubscribe,subscribe:()=>{t.set(p.id,p)},cancelActiveListeners:()=>{p.pending.forEach((x,S,w)=>{x!==v&&(x.abort(qk),w.delete(x))})},cancel:()=>{v.abort(qk),p.pending.delete(v)},throwIfCancelled:()=>{gu(v.signal)}})))}catch(x){x instanceof L0||kD(i,x,{raisedBy:"effect"})}finally{await Promise.all(b),v.abort(Bq),o(p),p.pending.delete(v)}},d=Wq(t,r);return{middleware:p=>m=>g=>{if(!Ok(g))return m(g);if($D.match(g))return s(g.payload);if(Hq.match(g)){d();return}if(FD.match(g))return u(g.payload);let h=p.getState(),v=()=>{if(h===SD)throw new Error(_o(23));return h},y;try{if(y=m(g),t.size>0){let b=p.getState(),x=Array.from(t.values());for(let S of x){let w=!1;try{w=S.predicate(g,b,h)}catch(T){w=!1,kD(i,T,{raisedBy:"predicate"})}w&&c(S,g,p,v)}}}finally{h=SD}return y},startListening:s,stopListening:u,clearListeners:d}};function _o(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var Kq={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},UD=Dt({name:"chartLayout",initialState:Kq,reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){var r,n,o,a;e.margin.top=(r=t.payload.top)!==null&&r!==void 0?r:0,e.margin.right=(n=t.payload.right)!==null&&n!==void 0?n:0,e.margin.bottom=(o=t.payload.bottom)!==null&&o!==void 0?o:0,e.margin.left=(a=t.payload.left)!==null&&a!==void 0?a:0},setScale(e,t){e.scale=t.payload}}}),$0=UD.actions,Qk=$0.setMargin,WD=$0.setLayout,HD=$0.setChartSize,VD=$0.setScale;var KD=UD.reducer;function F0(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function qe(e){return Number.isFinite(e)}function ro(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function qD(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function no(e){for(var t=1;t{if(t&&r){var n=r.width,o=r.height,a=t.align,i=t.verticalAlign,l=t.layout,s=t.position,u=t.offset,c=u===void 0?0:u;if(s!=null){if(Am(s)){if(s==="top"&&Se(e.top))return no(no({},e),{},{top:e.top+(o||0)+c});if(s==="bottom"&&Se(e.bottom))return no(no({},e),{},{bottom:e.bottom+(o||0)+c});if(s==="left"&&Se(e.left))return no(no({},e),{},{left:e.left+(n||0)+c});if(s==="right"&&Se(e.right))return no(no({},e),{},{right:e.right+(n||0)+c})}return e}if((l==="vertical"||l==="horizontal"&&i==="middle")&&a!=="center"&&Se(e[a]))return no(no({},e),{},{[a]:e[a]+(n||0)});if((l==="horizontal"||l==="vertical"&&a==="center")&&i!=="middle"&&Se(e[i]))return no(no({},e),{},{[i]:e[i]+(o||0)})}return e},Tn=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",Jk=(e,t,r,n)=>{if(n)return e.map(l=>l.coordinate);var o,a,i=e.map(l=>(l.coordinate===t&&(o=!0),l.coordinate===r&&(a=!0),l.coordinate));return o||i.push(t),a||i.push(r),i},Rk=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,o=e.type,a=e.range,i=e.scale,l=e.realScaleType,s=e.isCategorical,u=e.categoricalDomain,c=e.tickCount,d=e.ticks,f=e.niceTicks,p=e.axisType;if(!i)return null;var m=l==="scaleBand"&&i.bandwidth?i.bandwidth()/2:2,g=(t||r)&&o==="category"&&i.bandwidth?i.bandwidth()/m:0;if(g=p==="angleAxis"&&a&&a.length>=2?Xt(a[0]-a[1])*2*g:g,t&&(d||f)){var h=(d||f||[]).map((v,y)=>{var b=n?n.indexOf(v):v,x=i.map(b);return qe(x)?{coordinate:x+g,value:v,offset:g,index:y}:null}).filter(en);return h}return s&&u?u.map((v,y)=>{var b=i.map(v);return qe(b)?{coordinate:b+g,value:v,index:y,offset:g}:null}).filter(en):i.ticks&&!r&&c!=null?i.ticks(c).map((v,y)=>{var b=i.map(v);return qe(b)?{coordinate:b+g,value:v,index:y,offset:g}:null}).filter(en):i.domain().map((v,y)=>{var b=i.map(v);return qe(b)?{coordinate:b+g,value:n?n[v]:v,index:y,offset:g}:null}).filter(en)},YD=(e,t)=>{if(!t||t.length!==2||!Se(t[0])||!Se(t[1]))return e;var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]),o=[e[0],e[1]];return(!Se(e[0])||e[0]n)&&(o[1]=n),o[0]>n&&(o[0]=n),o[1]{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var o=0;o=0?(u[0]=a,a+=f,u[1]=a):(u[0]=i,i+=f,u[1]=i)}}}},Zq=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var o=0;o=0?(s[0]=a,a+=u,s[1]=a):(s[0]=0,s[1]=0)}}}},Qq={sign:Xq,expand:yk,none:ko,silhouette:hk,wiggle:xk,positive:Zq},XD=(e,t,r)=>{var n,o=(n=Qq[r])!==null&&n!==void 0?n:ko,a=gk().keys(t).value((l,s)=>Number(nt(l,s,0))).order(Od).offset(o),i=a(e);return i.forEach((l,s)=>{l.forEach((u,c)=>{var d=nt(e[c],t[s],0);Array.isArray(d)&&d.length===2&&Se(d[0])&&Se(d[1])&&(u[0]=d[0],u[1]=d[1])})}),i};function U0(e){return e==null?void 0:String(e)}function $d(e){var t=e.axis,r=e.ticks,n=e.bandSize,o=e.entry,a=e.index,i=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!mt(o[t.dataKey])){var l=Nh(r,"value",o[t.dataKey]);if(l)return l.coordinate+n/2}return r!=null&&r[a]?r[a].coordinate+n/2:null}var s=nt(o,mt(i)?t.dataKey:i),u=t.scale.map(s);return Se(u)?u:null}var eC=e=>{var t=e.axis,r=e.ticks,n=e.offset,o=e.bandSize,a=e.entry,i=e.index;if(t.type==="category")return r[i]?r[i].coordinate+n:null;var l=nt(a,t.dataKey,t.scale.domain()[i]);if(mt(l))return null;var s=t.scale.map(l);return Se(s)?s-o/2+n:null},ZD=e=>{var t=e.numericAxis,r=t.scale.domain();if(t.type==="number"){var n=Math.min(r[0],r[1]),o=Math.max(r[0],r[1]);return n<=0&&o>=0?0:o<0?o:n}return r[0]},Jq=e=>{var t=e.flat(2).filter(Se);return[Math.min(...t),Math.max(...t)]},Rq=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],QD=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return Rq(Object.keys(e).reduce((n,o)=>{var a=e[o];if(!a)return n;var i=a.stackedData,l=i.reduce((s,u)=>{var c=F0(u,t,r),d=Jq(c);return!qe(d[0])||!qe(d[1])?s:[Math.min(s[0],d[0]),Math.max(s[1],d[1])]},[1/0,-1/0]);return[Math.min(l[0],n[0]),Math.max(l[1],n[1])]},[1/0,-1/0]))},tC=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,rC=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,aa=(e,t,r)=>{if(e&&e.scale&&e.scale.bandwidth){var n=e.scale.bandwidth();if(!r||n>0)return n}if(e&&t&&t.length>=2){for(var o=$i(t,g=>g.coordinate),a=[],i=0,l=1,s=o.length;lf&&(p=Math.min(m,p));return p===1/0?0:p}return r?void 0:0};function nC(e){var t=e.tooltipEntrySettings,r=e.dataKey,n=e.payload,o=e.value,a=e.name;return no(no({},t),{},{dataKey:r,payload:n,value:o,name:a})}function Eo(e,t){if(e!=null)return String(e);if(typeof t=="string")return t}var JD=(e,t)=>{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},RD=(e,t)=>t==="centric"?e.angle:e.radius;var fn=e=>e.layout.width,pn=e=>e.layout.height,e8=e=>e.layout.scale,Fd=e=>e.layout.margin;var Ud=J(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),Wd=J(e=>e.cartesianAxis.yAxis,e=>Object.values(e));var W0="data-recharts-item-index",H0="data-recharts-item-id",yu=60,Bm=30;function t8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function V0(e){for(var t=1;te.brush.height;function oG(e){var t=Wd(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var o=typeof n.width=="number"?n.width:yu;return r+o}return r},0)}function aG(e){var t=Wd(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var o=typeof n.width=="number"?n.width:yu;return r+o}return r},0)}function iG(e){var t=Ud(e);return t.reduce((r,n)=>{if(n.orientation==="top"&&!n.mirror&&!n.hide){var o=typeof n.height=="number"?n.height:Bm;return r+o}return r},0)}function lG(e){var t=Ud(e);return t.reduce((r,n)=>{if(n.orientation==="bottom"&&!n.mirror&&!n.hide){var o=typeof n.height=="number"?n.height:Bm;return r+o}return r},0)}var Ht=J([fn,pn,Fd,nG,oG,aG,iG,lG,Nk,VP],(e,t,r,n,o,a,i,l,s,u)=>{var c={left:(r.left||0)+o,right:(r.right||0)+a},d={top:(r.top||0)+i,bottom:(r.bottom||0)+l},f=V0(V0({},d),c),p=f.bottom;f.bottom+=n,f=GD(f,s,u);var m=e-f.left-f.right,g=t-f.top-f.bottom;return V0(V0({brushBottom:p},f),{},{width:Math.max(m,0),height:Math.max(g,0)})}),K0=J(Ht,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),Hd=J(fn,pn,(e,t)=>({x:0,y:0,width:e,height:t}));var sG=te(re()),q0=te(re()),uG=(0,q0.createContext)(null),It=()=>(0,q0.useContext)(uG)!=null;var Vd=e=>e.brush,hu=J([Vd,Ht,Fd],(e,t,r)=>({height:e.height,x:Se(e.x)?e.x:t.left,y:Se(e.y)?e.y:t.top+t.height+t.brushBottom-(r?.bottom||0),width:Se(e.width)?e.width:t.width}));var xu=te(re()),Yr=te(re());function r8(e,t,{signal:r,edges:n}={}){let o,a=null,i=n!=null&&n.includes("leading"),l=n==null||n.includes("trailing"),s=()=>{a!==null&&(e.apply(o,a),o=void 0,a=null)},u=()=>{l&&s(),p()},c=null,d=()=>{c!=null&&clearTimeout(c),c=setTimeout(()=>{c=null,u()},t)},f=()=>{c!==null&&(clearTimeout(c),c=null)},p=()=>{f(),o=void 0,a=null},m=()=>{s()},g=function(...h){if(r?.aborted)return;o=this,a=h;let v=c==null;d(),i&&v&&s()};return g.schedule=d,g.cancel=p,g.flush=m,r?.addEventListener("abort",p,{once:!0}),g}function n8(e,t=0,r={}){typeof r!="object"&&(r={});let{leading:n=!1,trailing:o=!0,maxWait:a}=r,i=Array(2);n&&(i[0]="leading"),o&&(i[1]="trailing");let l,s=null,u=r8(function(...f){l=e.apply(this,f),s=null},t,{edges:i}),c=function(...f){return a!=null&&(s===null&&(s=Date.now()),Date.now()-s>=a)?(l=e.apply(this,f),s=Date.now(),u.cancel(),u.schedule(),l):(u.apply(this,f),l)},d=()=>(u.flush(),l);return c.cancel=u.cancel,c.flush=d,c}function oC(e,t=0,r={}){let{leading:n=!0,trailing:o=!0}=r;return n8(e,t,{leading:n,maxWait:t,trailing:o})}var cG=!0,Kd=function(t,r){for(var n=arguments.length,o=new Array(n>2?n-2:0),a=2;ao[i++]))}};var Oa={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},aC=(e,t,r)=>{var n=r.width,o=n===void 0?Oa.width:n,a=r.height,i=a===void 0?Oa.height:a,l=r.aspect,s=r.maxHeight,u=Ii(o)?e:Number(o),c=Ii(i)?t:Number(i);return l&&l>0&&(u?c=u/l:c&&(u=c*l),s&&c!=null&&c>s&&(c=s)),{calculatedWidth:u,calculatedHeight:c}},dG={width:0,height:0,overflow:"visible"},fG={width:0,overflowX:"visible"},pG={height:0,overflowY:"visible"},mG={},o8=e=>{var t=e.width,r=e.height,n=Ii(t),o=Ii(r);return n&&o?dG:n?fG:o?pG:mG};function a8(e){var t=e.width,r=e.height,n=e.aspect,o=t,a=r;return o===void 0&&a===void 0?(o=Oa.width,a=Oa.height):o===void 0?o=n&&n>0?void 0:Oa.width:a===void 0&&(a=n&&n>0?void 0:Oa.height),{width:o,height:a}}var vG=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function G0(){return G0=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({width:r,height:n}),[r,n]);return NG(o)?xu.createElement(u8.Provider,{value:o},t):null}var $m=()=>(0,Yr.useContext)(u8),_G=(0,Yr.forwardRef)((e,t)=>{var r=e.aspect,n=e.initialDimension,o=n===void 0?Oa.initialDimension:n,a=e.width,i=e.height,l=e.minWidth,s=l===void 0?Oa.minWidth:l,u=e.minHeight,c=e.maxHeight,d=e.children,f=e.debounce,p=f===void 0?Oa.debounce:f,m=e.id,g=e.className,h=e.onResize,v=e.style,y=v===void 0?{}:v,b=kG(e,vG),x=(0,Yr.useRef)(null),S=(0,Yr.useRef)();S.current=h,(0,Yr.useImperativeHandle)(t,()=>x.current);var w=(0,Yr.useState)({containerWidth:o.width,containerHeight:o.height}),T=xG(w,2),k=T[0],A=T[1],M=(0,Yr.useCallback)((C,_)=>{A(z=>{var D=Math.round(C),E=Math.round(_);return z.containerWidth===D&&z.containerHeight===E?z:{containerWidth:D,containerHeight:E}})},[]);(0,Yr.useEffect)(()=>{if(x.current==null||typeof ResizeObserver>"u")return Un;var C=j=>{var R,U=j[0];if(U!=null){var L=U.contentRect,q=L.width,ae=L.height;M(q,ae),(R=S.current)===null||R===void 0||R.call(S,q,ae)}};p>0&&(C=oC(C,p,{trailing:!0,leading:!1}));var _=new ResizeObserver(C),z=x.current.getBoundingClientRect(),D=z.width,E=z.height;return M(D,E),_.observe(x.current),()=>{_.disconnect()}},[M,p]);var H=k.containerWidth,F=k.containerHeight;Kd(!r||r>0,"The aspect(%s) must be greater than zero.",r);var X=aC(H,F,{width:a,height:i,aspect:r,maxHeight:c}),P=X.calculatedWidth,Y=X.calculatedHeight;return Kd(H<0||F<0||P!=null&&P>0||Y!=null&&Y>0,`The width(%s) and height(%s) of chart should be greater than 0, please check the style of container, or the props width(%s) and height(%s), or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,P,Y,a,i,s,u,r),hu.createElement("div",V0({id:m?"".concat(m):void 0,className:He("recharts-responsive-container",g),style:a8(a8({},y),{},{width:a,height:i,minWidth:s,minHeight:u,maxHeight:c}),ref:x},b),hu.createElement("div",{style:r8({width:a,height:i})},hu.createElement(s8,{width:P,height:Y},d)))}),Jl=(0,Yr.forwardRef)((e,t)=>{var r=Lm();if(ro(r.width)&&ro(r.height))return e.children;var n=n8({width:e.width,height:e.height,aspect:e.aspect}),o=n.width,a=n.height,i=rC(void 0,void 0,{width:o,height:a,aspect:e.aspect,maxHeight:e.maxHeight}),l=i.calculatedWidth,s=i.calculatedHeight;return Se(l)&&Se(s)?hu.createElement(s8,{width:l,height:s},e.children):hu.createElement(kG,V0({},e,{width:o,height:a,ref:t}))});var xu=()=>{var e,t=It(),r=Ae(W0),n=Ae(yu),o=(e=Ae(Hd))===null||e===void 0?void 0:e.padding;return!t||!n||!o?r:{width:n.width-o.left-o.right,height:n.height-o.top-o.bottom,x:o.left,y:o.top}},CG={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},K0=()=>{var e;return(e=Ae(Ht))!==null&&e!==void 0?e:CG},Kd=()=>Ae(fn),qd=()=>Ae(pn),c8=()=>Ae(e=>e.layout.margin),Qe=e=>e.layout.layoutType,oo=()=>Ae(Qe),Gd=()=>{var e=oo();if(e==="horizontal"||e==="vertical")return e},q0=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},d8=()=>Ae(q0),f8=()=>{var e=oo();return e!==void 0},bu=e=>{var t=Xe(),r=It(),n=e.width,o=e.height,a=Lm(),i=n,l=o;return a&&(i=a.width>0?a.width:n,l=a.height>0?a.height:o),(0,u8.useEffect)(()=>{!r&&ro(i)&&ro(l)&&t(UD({width:i,height:l}))},[t,r,i,l]),null};var NG={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value",position:void 0,offset:0},size:{width:0,height:0},payload:[]},p8=Dt({name:"legend",initialState:NG,reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter,e.settings.position=t.payload.position,e.settings.offset=t.payload.offset},addLegendPayload:{reducer(e,t){e.payload.push(st(t.payload))},prepare:Ft()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,o=r.next,a=Sn(e).payload.indexOf(st(n));a>-1&&(e.payload[a]=st(o))},prepare:Ft()},removeLegendPayload:{reducer(e,t){var r=Sn(e).payload.indexOf(st(t.payload));r>-1&&e.payload.splice(r,1)},prepare:Ft()}}}),Bm=p8.actions,nC=Bm.setLegendSize,m8=Bm.setLegendSettings,oC=Bm.addLegendPayload,aC=Bm.replaceLegendPayload,iC=Bm.removeLegendPayload;var v8=p8.reducer;var Er=te(re(),1),eY=te(x8(),1);var IG=Symbol.for("react.forward_ref");var jG=Symbol.for("react.memo");var zG=IG,LG=jG;function BG(e){e()}function $G(){let e=null,t=null;return{clear(){e=null,t=null},notify(){BG(()=>{let r=e;for(;r;)r.callback(),r=r.next})},get(){let r=[],n=e;for(;n;)r.push(n),n=n.next;return r},subscribe(r){let n=!0,o=t={callback:r,next:null,prev:t};return o.prev?o.prev.next=o:e=o,function(){!n||e===null||(n=!1,o.next?o.next.prev=o.prev:t=o.prev,o.prev?o.prev.next=o.next:e=o.next)}}}}var b8={notify(){},get:()=>[]};function FG(e,t){let r,n=b8,o=0,a=!1;function i(g){c();let h=n.subscribe(g),v=!1;return()=>{v||(v=!0,h(),d())}}function l(){n.notify()}function s(){m.onStateChange&&m.onStateChange()}function u(){return a}function c(){o++,r||(r=t?t.addNestedSub(s):e.subscribe(s),n=$G())}function d(){o--,r&&o===0&&(r(),r=void 0,n.clear(),n=b8)}function f(){a||(a=!0,c())}function p(){a&&(a=!1,d())}let m={addNestedSub:i,notifyNestedSubs:l,handleChangeWrapper:s,isSubscribed:u,trySubscribe:f,tryUnsubscribe:p,getListeners:()=>n};return m}var UG=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",WG=UG(),HG=()=>typeof navigator<"u"&&navigator.product==="ReactNative",VG=HG(),KG=()=>WG||VG?Er.useLayoutEffect:Er.useEffect,qG=KG();function w8(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function S8(e,t){if(w8(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let o=0;o{let s=FG(o);return{store:o,subscription:s,getServerState:n?()=>n:void 0}},[o,n]),i=Er.useMemo(()=>o.getState(),[o]);return qG(()=>{let{subscription:s}=a;return s.onStateChange=s.notifyNestedSubs,s.trySubscribe(),i!==o.getState()&&s.notifyNestedSubs(),()=>{s.tryUnsubscribe(),s.onStateChange=void 0}},[a,i]),Er.createElement((r||JG).Provider,{value:a},t)}var A8=RG;var tY=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function rY(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function ao(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(tY.has(n)){if(e[n]==null&&t[n]==null)continue;if(!S8(e[n],t[n]))return!1}else if(!rY(e[n],t[n]))return!1;return!0}var k8=J([fn,pn,$d],(e,t,r)=>({x:r.left||0,y:r.top||0,width:Math.max(e-(r.left||0)-(r.right||0),0),height:Math.max(t-(r.top||0)-(r.bottom||0),0)}));function C8(e,t){var r;if(e==="start"&&t==="start")return"";var n={start:"0",middle:"-50%",end:"-100%"},o={start:"0",middle:"-50%",end:"-100%"},a=e==="inherit"?"0":n[e],i=(r=o[t])!==null&&r!==void 0?r:"0";return"translate(".concat(a,", ").concat(i,")")}var nY=["contextPayload"];function lC(){return lC=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{l(m8({align:t,layout:r,verticalAlign:n,itemSorter:o,position:a,offset:i}))},[l,t,r,n,o,a,i]),null}function wY(e){var t=e.width,r=e.height,n=Xe();return(0,G0.useLayoutEffect)(()=>{n(nC({width:t,height:r}))},[n,t,r]),(0,G0.useLayoutEffect)(()=>()=>{n(nC({width:0,height:0}))},[n]),null}function SY(e,t,r,n){return e==="vertical"&&t!=null?{height:t}:e==="horizontal"?{width:r||n}:null}var AY={align:"center",iconSize:14,inactiveColor:"#ccc",itemSorter:"value",labelStyle:{},layout:"auto",verticalAlign:"bottom",offset:0};function kY(e){var t,r,n,o,a,i,l,s,u=ft(e,AY),c=e.layout&&e.layout!=="auto"?e.layout:gY(u.position),d=VP(),f=TM(),p=c8(),m=Ae(E=>yY(E,u.position)),g=u.width,h=u.height,v=u.wrapperStyle,y=u.portal,b=y==null&&(u.position==null||wm(u.position)),x=c0([d]),S=oY(x,2),w=S[0],T=S[1],k=Kd(),A=qd();if(k==null||A==null||u.position!=null&&m==null)return null;var M=k-(p?.left||0)-(p?.right||0),H=SY(c,h,g,M),F=u.position==null?null:kh({viewBox:m??{x:0,y:0,width:k,height:A},position:u.position,offset:(t=u.offset)!==null&&t!==void 0?t:0}),X=hY(u.position,(r=u.offset)!==null&&r!==void 0?r:0,w),P=c==="vertical"?((n=m?.width)!==null&&n!==void 0?n:0)/2:(o=m?.width)!==null&&o!==void 0?o:0,Y=c==="horizontal"?((a=m?.height)!==null&&a!==void 0?a:0)/2:(i=m?.height)!==null&&i!==void 0?i:0,C=F?{width:"max-content",height:"max-content",maxWidth:P,maxHeight:Y,overflowY:"auto",top:F.y+((l=X.top)!==null&&l!==void 0?l:0),left:F.x+((s=X.left)!==null&&s!==void 0?s:0),transform:C8(F.horizontalAnchor,F.verticalAnchor)}:xY(v,u,p,k,A,w),_=y?v:Yd(Yd({position:"absolute",width:H?.width||g||"auto",height:H?.height||h||"auto"},C),v),z=y??f;if(z==null||d==null)return null;var D=Oo.createElement("div",{className:"recharts-legend-wrapper",style:_,ref:T},Oo.createElement(bY,{layout:c,align:u.align,verticalAlign:u.verticalAlign,itemSorter:u.itemSorter,position:u.position,offset:u.offset}),b&&Oo.createElement(wY,w),Oo.createElement(vY,lC({},u,{layout:c},H,{margin:p,chartWidth:k,chartHeight:A,contextPayload:d})));return(0,E8.createPortal)(D,z)}var Y0=Oo.memo(kY,ao);Y0.displayName="Legend";var fa=te(re()),rL=te(re()),nL=te(bp());var Ta=te(re());function sC(){return sC=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.separator,r=t===void 0?Xd.separator:t,n=e.contentStyle,o=e.itemStyle,a=e.labelStyle,i=a===void 0?Xd.labelStyle:a,l=e.payload,s=e.formatter,u=e.itemSorter,c=e.wrapperClassName,d=e.labelClassName,f=e.label,p=e.labelFormatter,m=e.accessibilityLayer,g=m===void 0?Xd.accessibilityLayer:m,h=()=>{if(l&&l.length){var k={padding:0,margin:0},A=IY(l,u),M=A.map((H,F)=>{if(!H||H.type==="none")return null;var X=H.formatter||s||DY,P=H.value,Y=H.name,C=P,_=Y;if(X){var z=X(P,Y,H,F,l);if(Array.isArray(z)){var D=EY(z,2);C=D[0],_=D[1]}else if(z!=null)C=z;else return null}var E=Fm(Fm({},Xd.itemStyle),{},{color:H.color||Xd.itemStyle.color},o);return Ta.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(F),style:E},Fn(_)?Ta.createElement("span",{className:"recharts-tooltip-item-name"},_):null,Fn(_)?Ta.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,Ta.createElement("span",{className:"recharts-tooltip-item-value"},C),Ta.createElement("span",{className:"recharts-tooltip-item-unit"},H.unit||""))});return Ta.createElement("ul",{className:"recharts-tooltip-item-list",style:k},M)}return null},v=Fm(Fm({},Xd.contentStyle),n),y=Fm({margin:0},i),b=!mt(f),x=b?f:"",S=He("recharts-default-tooltip",c),w=He("recharts-tooltip-label",d);b&&p&&l!==void 0&&l!==null&&(x=p(f,l));var T=g?{role:"status","aria-live":"assertive"}:{};return Ta.createElement("div",sC({className:S,style:v},T),Ta.createElement("p",{className:w,style:y},Ta.isValidElement(x)?x:"".concat(x)),h())};var Rl=te(re());var Um="recharts-tooltip-wrapper",jY={visibility:"hidden"};function zY(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return He(Um,{["".concat(Um,"-right")]:Se(r)&&t&&Se(t.x)&&r>=t.x,["".concat(Um,"-left")]:Se(r)&&t&&Se(t.x)&&r=t.y,["".concat(Um,"-top")]:Se(n)&&t&&Se(t.y)&&n0?o:0),d=r[n]+o;if(t[n])return i[n]?c:d;var f=s[n];if(f==null)return 0;if(i[n]){var p=c,m=f;return ph?Math.max(c,f):Math.max(d,f)}function LY(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function D8(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,o=e.offsetLeft,a=e.position,i=e.reverseDirection,l=e.tooltipBox,s=e.useTranslate3d,u=e.viewBox,c,d,f;return l&&l.height>0&&l.width>0&&r?(d=P8({allowEscapeViewBox:t,coordinate:r,key:"x",offset:o,position:a,reverseDirection:i,tooltipDimension:l.width,viewBox:u,viewBoxDimension:u.width}),f=P8({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:a,reverseDirection:i,tooltipDimension:l.height,viewBox:u,viewBoxDimension:u.height}),c=LY({translateX:d,translateY:f,useTranslate3d:s})):c=jY,{cssProperties:c,cssClasses:zY({translateX:d,translateY:f,coordinate:r})}}var X0=te(re());var BY=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),ia={devToolsEnabled:!0,isSsr:BY()};function $Y(e,t){return HY(e)||WY(e,t)||UY(e,t)||FY()}function FY(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function UY(e,t){if(e){if(typeof e=="string")return I8(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?I8(e,t):void 0}}function I8(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);ria.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=$Y(e,2),r=t[0],n=t[1];return(0,X0.useEffect)(()=>{if(window.matchMedia){var o=window.matchMedia("(prefers-reduced-motion: reduce)"),a=()=>{n(o.matches)};return o.addEventListener("change",a),()=>{o.removeEventListener("change",a)}}},[]),r}function j8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Zd(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),u=GY(s,2),c=u[0],d=u[1];Rl.useEffect(()=>{var v=y=>{if(y.key==="Escape"){var b,x,S,w;d({dismissed:!0,dismissedAtCoordinate:{x:(b=(x=e.coordinate)===null||x===void 0?void 0:x.x)!==null&&b!==void 0?b:0,y:(S=(w=e.coordinate)===null||w===void 0?void 0:w.y)!==null&&S!==void 0?S:0}})}};return document.addEventListener("keydown",v),()=>{document.removeEventListener("keydown",v)}},[(t=e.coordinate)===null||t===void 0?void 0:t.x,(r=e.coordinate)===null||r===void 0?void 0:r.y]),c.dismissed&&(((n=(o=e.coordinate)===null||o===void 0?void 0:o.x)!==null&&n!==void 0?n:0)!==c.dismissedAtCoordinate.x||((a=(i=e.coordinate)===null||i===void 0?void 0:i.y)!==null&&a!==void 0?a:0)!==c.dismissedAtCoordinate.y)&&d(Zd(Zd({},c),{},{dismissed:!1}));var f=D8({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset=="number"?e.offset:e.offset.x,offsetTop:typeof e.offset=="number"?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:e.lastBoundingBox,useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),p=f.cssClasses,m=f.cssProperties,g=e.hasPortalFromProps?{}:Zd(Zd({transition:JY({prefersReducedMotion:l,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},m),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),h=Zd(Zd({},g),{},{visibility:!c.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return Rl.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:p,style:h,ref:e.innerRef},e.children)}var L8=Rl.memo(RY);var Q0=()=>{var e;return(e=Ae(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};var Lb=te(re()),Cf=te(re());var H8=te(re());function uC(){return uC=Object.assign?Object.assign.bind():function(e){for(var t=1;tqe(e.x)&&qe(e.y),U8=e=>e.base!=null&&J0(e.base)&&J0(e),Wm=e=>e.x,Hm=e=>e.y,nX=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(zi(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=F8["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return F8[r]||Xl},W8={connectNulls:!1,type:"linear"},oX=e=>{var t=e.type,r=t===void 0?W8.type:t,n=e.points,o=n===void 0?[]:n,a=e.baseLine,i=e.layout,l=e.connectNulls,s=l===void 0?W8.connectNulls:l,u=nX(r,i),c=s?o.filter(J0):o;if(Array.isArray(a)){var d,f=o.map((v,y)=>$8($8({},v),{},{base:a[y]}));i==="vertical"?d=kd().y(Hm).x1(Wm).x0(v=>v.base.x):d=kd().x(Wm).y1(Hm).y0(v=>v.base.y);var p=d.defined(U8).curve(u),m=s?f.filter(U8):f;return p(m)}var g;i==="vertical"&&Se(a)?g=kd().y(Hm).x1(Wm).x0(a):Se(a)?g=kd().x(Wm).y1(Hm).y0(a):g=Am().x(Wm).y(Hm);var h=g.defined(J0).curve(u);return h(c)},Ja=e=>{var t=e.className,r=e.points,n=e.path,o=e.pathRef,a=oo();if((!r||!r.length)&&!n)return null;var i={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||a,connectNulls:e.connectNulls},l=r&&r.length?oX(i):n;return H8.createElement("path",uC({},cr(e),Od(e),{className:He("recharts-curve",t),d:l===null?void 0:l,ref:o}))};var K8=te(re());var aX=["x","y","top","left","width","height","className"];function cC(){return cC=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(o,"v").concat(n,"M").concat(a,",").concat(t,"h").concat(r),q8=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,o=n===void 0?0:n,a=e.top,i=a===void 0?0:a,l=e.left,s=l===void 0?0:l,u=e.width,c=u===void 0?0:u,d=e.height,f=d===void 0?0:d,p=e.className,m=cX(e,aX),g=iX({x:r,y:o,top:i,left:s,width:c,height:f},m);return!Se(r)||!Se(o)||!Se(c)||!Se(f)||!Se(i)||!Se(s)?null:K8.createElement("path",cC({},dr(g),{className:He("recharts-cross",p),d:fX(r,o,c,f,i,s)}))};function G8(e,t,r,n){var o=n/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-o:r.left+.5,y:e==="horizontal"?r.top+.5:t.y-o,width:e==="horizontal"?n:r.width-1,height:e==="horizontal"?r.height-1:n}}var ox=te(re()),la=te(re());var Vm=te(re());var R0=1e-4,Z8=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],Q8=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),Y8=(e,t)=>r=>{var n=Z8(e,t);return Q8(n,r)},pX=(e,t)=>r=>{var n=Z8(e,t),o=[...n.map((a,i)=>a*i).slice(1),0];return Q8(o,r)},mX=e=>{var t,r=e.split("(");if(r.length!==2||r[0]!=="cubic-bezier")return null;var n=(t=r[1])===null||t===void 0||(t=t.split(")")[0])===null||t===void 0?void 0:t.split(",");if(n==null||n.length!==4)return null;var o=n.map(a=>parseFloat(a));return[o[0],o[1],o[2],o[3]]},vX=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var o=Y8(e,r),a=Y8(t,n),i=pX(e,r),l=u=>u>1?1:u<0?0:u,s=u=>{for(var c=u>1?1:u,d=c,f=0;f<8;++f){var p=o(d)-c,m=i(d);if(Math.abs(p-c)0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,o=t.damping,a=o===void 0?8:o,i=t.dt,l=i===void 0?16.67:i,s=1,u=[0],c=0,d=0,f=1e4,p=0;p{var y,b,x;if(v<=0)return 0;if(v>=1)return s;var S=v*h,w=Math.floor(S),T=S-w;return((y=u[w])!==null&&y!==void 0?y:0)+(((b=u[w+1])!==null&&b!==void 0?b:0)-((x=u[w])!==null&&x!==void 0?x:0))*T}},J8=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return X8(e);case"spring":return yX();default:if(e.split("(")[0]==="cubic-bezier")return X8(e)}return typeof e=="function"?e:null};var Qd=te(re());var R8=(e,t,r)=>{var n,o=a=>{var i=t.tick(a);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(o,i);return}n=e.setTimeout(o,i)};return n=e.setTimeout(o,0),()=>{var a;return(a=n)===null||a===void 0?void 0:a()}};var eI=(0,Qd.createContext)(R8),a0e=eI.Provider;function tI(e){var t=(0,Qd.useContext)(eI);return(0,Qd.useMemo)(()=>e??t,[e,t])}function hX(e,t,r){return(t=xX(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function xX(e){var t=bX(e,"string");return typeof t=="symbol"?t:t+""}function bX(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var rI="init",nI="pending",oI="active",wX="completed";function dC(e){return Math.max(0,e)}var fC=class{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;hX(this,"state",rI),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=dC(t.animationDuration),this.animationBegin=dC(t.animationBegin),this.progress=0,this.from=t.from,this.to=t.to,this.easing=t.easing,(r=t.onAnimationStart)===null||r===void 0||r.call(t)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(t){if(this.getState()===rI)return this.state=nI,this.beginStartedTime=t,this.animationBegin;if(this.getState()===nI){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=oI,this.animationStartedTime=t,this.nextAnimationUpdate(0)):dC(this.animationBegin-r)}if(this.getState()===oI){if(this.animationStartedTime==null)throw new Error;var n=t-this.animationStartedTime;return this.setProgress(n/this.animationDuration),this.nextAnimationUpdate(n)}return 0}setProgress(t){this.progress=Math.min(1,Math.max(0,t))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state==="active"){var t;(t=this.onAnimationEnd)===null||t===void 0||t.call(this)}this.state=wX}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}},ex=class extends fC{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(Pt(this.getFrom(),this.getTo(),this.getProgress()))}};var tx=class{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),o=null,a=i=>{i-n>=r?t(i):o=requestAnimationFrame(a)};return o=requestAnimationFrame(a),()=>{o!=null&&cancelAnimationFrame(o)}}};function SX(e,t){return NX(e)||CX(e,t)||kX(e,t)||AX()}function AX(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function kX(e,t){if(e){if(typeof e=="string")return aI(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?aI(e,t):void 0}}function aI(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},iI=0,pC=1;function rx(e){var t=ft(e,_X),r=t.animationId,n=t.isActive,o=t.canBegin,a=t.duration,i=t.easing,l=t.begin,s=t.onAnimationEnd,u=t.onAnimationStart,c=t.children,d=Z0(),f=n==="auto"?!ia.isSsr&&!d:n,p=tI(t.animationController),m=(0,Vm.useState)(f?iI:pC),g=SX(m,2),h=g[0],v=g[1];return(0,Vm.useEffect)(()=>{f||v(pC)},[f]),(0,Vm.useEffect)(()=>{var y=J8(i);if(!f||!o||y==null)return Un;var b=new tx,x=new ex({animationId:r,easing:y,animationDuration:a,animationBegin:l,onAnimationStart:u,onAnimationEnd:s,from:iI,to:pC});return p(b,x,v)},[p,r,f,o,a,i,l,u,s]),c(Number(h))}var mC=te(re());function nx(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=(0,mC.useRef)(ji(t)),n=(0,mC.useRef)(e);return n.current!==e&&(r.current=ji(t),n.current=e),r.current}var EX=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),lI=(e,t,r)=>e.map(n=>"".concat(EX(n)," ").concat(t,"ms ").concat(r)).join(",");var OX=["radius"],TX=["radius"],sI,uI,cI,dI,fI,pI,mI,vI,gI,yI;function hI(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function xI(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var a=ea(r),i=ea(n),l=Math.min(Math.abs(a)/2,Math.abs(i)/2),s=i>=0?1:-1,u=a>=0?1:-1,c=i>=0&&a>=0||i<0&&a<0?1:0,d;if(l>0&&Array.isArray(o)){for(var f=[0,0,0,0],p=0,m=4;pl?l:h}d=Rr(sI||(sI=Ra(["M",",",""])),e,t+s*f[0]),f[0]>0&&(d+=Rr(uI||(uI=Ra(["A ",",",",0,0,",",",",",""])),f[0],f[0],c,e+u*f[0],t)),d+=Rr(cI||(cI=Ra(["L ",",",""])),e+r-u*f[1],t),f[1]>0&&(d+=Rr(dI||(dI=Ra(["A ",",",",0,0,",`, - `,",",""])),f[1],f[1],c,e+r,t+s*f[1])),d+=Rr(fI||(fI=Ra(["L ",",",""])),e+r,t+n-s*f[2]),f[2]>0&&(d+=Rr(pI||(pI=Ra(["A ",",",",0,0,",`, - `,",",""])),f[2],f[2],c,e+r-u*f[2],t+n)),d+=Rr(mI||(mI=Ra(["L ",",",""])),e+u*f[3],t+n),f[3]>0&&(d+=Rr(vI||(vI=Ra(["A ",",",",0,0,",`, - `,",",""])),f[3],f[3],c,e,t+n-s*f[3])),d+="Z"}else if(l>0&&o===+o&&o>0){var v=Math.min(l,o);d=Rr(gI||(gI=Ra(["M ",",",` + height and width.`,P,Y,a,i,s,u,r),xu.createElement("div",G0({id:m?"".concat(m):void 0,className:He("recharts-responsive-container",g),style:l8(l8({},y),{},{width:a,height:i,minWidth:s,minHeight:u,maxHeight:c}),ref:x},b),xu.createElement("div",{style:o8({width:a,height:i})},xu.createElement(c8,{width:P,height:Y},d)))}),Rl=(0,Yr.forwardRef)((e,t)=>{var r=$m();if(ro(r.width)&&ro(r.height))return e.children;var n=a8({width:e.width,height:e.height,aspect:e.aspect}),o=n.width,a=n.height,i=aC(void 0,void 0,{width:o,height:a,aspect:e.aspect,maxHeight:e.maxHeight}),l=i.calculatedWidth,s=i.calculatedHeight;return Se(l)&&Se(s)?xu.createElement(c8,{width:l,height:s},e.children):xu.createElement(_G,G0({},e,{width:o,height:a,ref:t}))});var bu=()=>{var e,t=It(),r=Ae(K0),n=Ae(hu),o=(e=Ae(Vd))===null||e===void 0?void 0:e.padding;return!t||!n||!o?r:{width:n.width-o.left-o.right,height:n.height-o.top-o.bottom,x:o.left,y:o.top}},EG={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},Y0=()=>{var e;return(e=Ae(Ht))!==null&&e!==void 0?e:EG},qd=()=>Ae(fn),Gd=()=>Ae(pn),f8=()=>Ae(e=>e.layout.margin),Qe=e=>e.layout.layoutType,oo=()=>Ae(Qe),Yd=()=>{var e=oo();if(e==="horizontal"||e==="vertical")return e},X0=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},p8=()=>Ae(X0),m8=()=>{var e=oo();return e!==void 0},wu=e=>{var t=Xe(),r=It(),n=e.width,o=e.height,a=$m(),i=n,l=o;return a&&(i=a.width>0?a.width:n,l=a.height>0?a.height:o),(0,d8.useEffect)(()=>{!r&&ro(i)&&ro(l)&&t(HD({width:i,height:l}))},[t,r,i,l]),null};var OG={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value",position:void 0,offset:0},size:{width:0,height:0},payload:[]},v8=Dt({name:"legend",initialState:OG,reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter,e.settings.position=t.payload.position,e.settings.offset=t.payload.offset},addLegendPayload:{reducer(e,t){e.payload.push(st(t.payload))},prepare:Ft()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,o=r.next,a=Sn(e).payload.indexOf(st(n));a>-1&&(e.payload[a]=st(o))},prepare:Ft()},removeLegendPayload:{reducer(e,t){var r=Sn(e).payload.indexOf(st(t.payload));r>-1&&e.payload.splice(r,1)},prepare:Ft()}}}),Fm=v8.actions,iC=Fm.setLegendSize,g8=Fm.setLegendSettings,lC=Fm.addLegendPayload,sC=Fm.replaceLegendPayload,uC=Fm.removeLegendPayload;var y8=v8.reducer;var Er=te(re(),1),nY=te(w8(),1);var LG=Symbol.for("react.forward_ref");var BG=Symbol.for("react.memo");var $G=LG,FG=BG;function UG(e){e()}function WG(){let e=null,t=null;return{clear(){e=null,t=null},notify(){UG(()=>{let r=e;for(;r;)r.callback(),r=r.next})},get(){let r=[],n=e;for(;n;)r.push(n),n=n.next;return r},subscribe(r){let n=!0,o=t={callback:r,next:null,prev:t};return o.prev?o.prev.next=o:e=o,function(){!n||e===null||(n=!1,o.next?o.next.prev=o.prev:t=o.prev,o.prev?o.prev.next=o.next:e=o.next)}}}}var S8={notify(){},get:()=>[]};function HG(e,t){let r,n=S8,o=0,a=!1;function i(g){c();let h=n.subscribe(g),v=!1;return()=>{v||(v=!0,h(),d())}}function l(){n.notify()}function s(){m.onStateChange&&m.onStateChange()}function u(){return a}function c(){o++,r||(r=t?t.addNestedSub(s):e.subscribe(s),n=WG())}function d(){o--,r&&o===0&&(r(),r=void 0,n.clear(),n=S8)}function f(){a||(a=!0,c())}function p(){a&&(a=!1,d())}let m={addNestedSub:i,notifyNestedSubs:l,handleChangeWrapper:s,isSubscribed:u,trySubscribe:f,tryUnsubscribe:p,getListeners:()=>n};return m}var VG=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",KG=VG(),qG=()=>typeof navigator<"u"&&navigator.product==="ReactNative",GG=qG(),YG=()=>KG||GG?Er.useLayoutEffect:Er.useEffect,XG=YG();function A8(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function k8(e,t){if(A8(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let o=0;o{let s=HG(o);return{store:o,subscription:s,getServerState:n?()=>n:void 0}},[o,n]),i=Er.useMemo(()=>o.getState(),[o]);return XG(()=>{let{subscription:s}=a;return s.onStateChange=s.notifyNestedSubs,s.trySubscribe(),i!==o.getState()&&s.notifyNestedSubs(),()=>{s.tryUnsubscribe(),s.onStateChange=void 0}},[a,i]),Er.createElement((r||tY).Provider,{value:a},t)}var C8=rY;var oY=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function aY(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function ao(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(oY.has(n)){if(e[n]==null&&t[n]==null)continue;if(!k8(e[n],t[n]))return!1}else if(!aY(e[n],t[n]))return!1;return!0}var N8=J([fn,pn,Fd],(e,t,r)=>({x:r.left||0,y:r.top||0,width:Math.max(e-(r.left||0)-(r.right||0),0),height:Math.max(t-(r.top||0)-(r.bottom||0),0)}));function _8(e,t){var r;if(e==="start"&&t==="start")return"";var n={start:"0",middle:"-50%",end:"-100%"},o={start:"0",middle:"-50%",end:"-100%"},a=e==="inherit"?"0":n[e],i=(r=o[t])!==null&&r!==void 0?r:"0";return"translate(".concat(a,", ").concat(i,")")}var iY=["contextPayload"];function cC(){return cC=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{l(g8({align:t,layout:r,verticalAlign:n,itemSorter:o,position:a,offset:i}))},[l,t,r,n,o,a,i]),null}function kY(e){var t=e.width,r=e.height,n=Xe();return(0,Z0.useLayoutEffect)(()=>{n(iC({width:t,height:r}))},[n,t,r]),(0,Z0.useLayoutEffect)(()=>()=>{n(iC({width:0,height:0}))},[n]),null}function CY(e,t,r,n){return e==="vertical"&&t!=null?{height:t}:e==="horizontal"?{width:r||n}:null}var NY={align:"center",iconSize:14,inactiveColor:"#ccc",itemSorter:"value",labelStyle:{},layout:"auto",verticalAlign:"bottom",offset:0};function _Y(e){var t,r,n,o,a,i,l,s,u=ft(e,NY),c=e.layout&&e.layout!=="auto"?e.layout:xY(u.position),d=qP(),f=PM(),p=f8(),m=Ae(E=>bY(E,u.position)),g=u.width,h=u.height,v=u.wrapperStyle,y=u.portal,b=y==null&&(u.position==null||Am(u.position)),x=p0([d]),S=lY(x,2),w=S[0],T=S[1],k=qd(),A=Gd();if(k==null||A==null||u.position!=null&&m==null)return null;var M=k-(p?.left||0)-(p?.right||0),H=CY(c,h,g,M),F=u.position==null?null:_h({viewBox:m??{x:0,y:0,width:k,height:A},position:u.position,offset:(t=u.offset)!==null&&t!==void 0?t:0}),X=wY(u.position,(r=u.offset)!==null&&r!==void 0?r:0,w),P=c==="vertical"?((n=m?.width)!==null&&n!==void 0?n:0)/2:(o=m?.width)!==null&&o!==void 0?o:0,Y=c==="horizontal"?((a=m?.height)!==null&&a!==void 0?a:0)/2:(i=m?.height)!==null&&i!==void 0?i:0,C=F?{width:"max-content",height:"max-content",maxWidth:P,maxHeight:Y,overflowY:"auto",top:F.y+((l=X.top)!==null&&l!==void 0?l:0),left:F.x+((s=X.left)!==null&&s!==void 0?s:0),transform:_8(F.horizontalAnchor,F.verticalAnchor)}:SY(v,u,p,k,A,w),_=y?v:Xd(Xd({position:"absolute",width:H?.width||g||"auto",height:H?.height||h||"auto"},C),v),z=y??f;if(z==null||d==null)return null;var D=Oo.createElement("div",{className:"recharts-legend-wrapper",style:_,ref:T},Oo.createElement(AY,{layout:c,align:u.align,verticalAlign:u.verticalAlign,itemSorter:u.itemSorter,position:u.position,offset:u.offset}),b&&Oo.createElement(kY,w),Oo.createElement(hY,cC({},u,{layout:c},H,{margin:p,chartWidth:k,chartHeight:A,contextPayload:d})));return(0,T8.createPortal)(D,z)}var Q0=Oo.memo(_Y,ao);Q0.displayName="Legend";var fa=te(re()),oL=te(re()),aL=te(wp());var Ta=te(re());function dC(){return dC=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.separator,r=t===void 0?Zd.separator:t,n=e.contentStyle,o=e.itemStyle,a=e.labelStyle,i=a===void 0?Zd.labelStyle:a,l=e.payload,s=e.formatter,u=e.itemSorter,c=e.wrapperClassName,d=e.labelClassName,f=e.label,p=e.labelFormatter,m=e.accessibilityLayer,g=m===void 0?Zd.accessibilityLayer:m,h=()=>{if(l&&l.length){var k={padding:0,margin:0},A=LY(l,u),M=A.map((H,F)=>{if(!H||H.type==="none")return null;var X=H.formatter||s||zY,P=H.value,Y=H.name,C=P,_=Y;if(X){var z=X(P,Y,H,F,l);if(Array.isArray(z)){var D=MY(z,2);C=D[0],_=D[1]}else if(z!=null)C=z;else return null}var E=Wm(Wm({},Zd.itemStyle),{},{color:H.color||Zd.itemStyle.color},o);return Ta.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(F),style:E},Fn(_)?Ta.createElement("span",{className:"recharts-tooltip-item-name"},_):null,Fn(_)?Ta.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,Ta.createElement("span",{className:"recharts-tooltip-item-value"},C),Ta.createElement("span",{className:"recharts-tooltip-item-unit"},H.unit||""))});return Ta.createElement("ul",{className:"recharts-tooltip-item-list",style:k},M)}return null},v=Wm(Wm({},Zd.contentStyle),n),y=Wm({margin:0},i),b=!mt(f),x=b?f:"",S=He("recharts-default-tooltip",c),w=He("recharts-tooltip-label",d);b&&p&&l!==void 0&&l!==null&&(x=p(f,l));var T=g?{role:"status","aria-live":"assertive"}:{};return Ta.createElement("div",dC({className:S,style:v},T),Ta.createElement("p",{className:w,style:y},Ta.isValidElement(x)?x:"".concat(x)),h())};var es=te(re());var Hm="recharts-tooltip-wrapper",BY={visibility:"hidden"};function $Y(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return He(Hm,{["".concat(Hm,"-right")]:Se(r)&&t&&Se(t.x)&&r>=t.x,["".concat(Hm,"-left")]:Se(r)&&t&&Se(t.x)&&r=t.y,["".concat(Hm,"-top")]:Se(n)&&t&&Se(t.y)&&n0?o:0),d=r[n]+o;if(t[n])return i[n]?c:d;var f=s[n];if(f==null)return 0;if(i[n]){var p=c,m=f;return ph?Math.max(c,f):Math.max(d,f)}function FY(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function j8(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,o=e.offsetLeft,a=e.position,i=e.reverseDirection,l=e.tooltipBox,s=e.useTranslate3d,u=e.viewBox,c,d,f;return l&&l.height>0&&l.width>0&&r?(d=I8({allowEscapeViewBox:t,coordinate:r,key:"x",offset:o,position:a,reverseDirection:i,tooltipDimension:l.width,viewBox:u,viewBoxDimension:u.width}),f=I8({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:a,reverseDirection:i,tooltipDimension:l.height,viewBox:u,viewBoxDimension:u.height}),c=FY({translateX:d,translateY:f,useTranslate3d:s})):c=BY,{cssProperties:c,cssClasses:$Y({translateX:d,translateY:f,coordinate:r})}}var J0=te(re());var UY=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),ia={devToolsEnabled:!0,isSsr:UY()};function WY(e,t){return qY(e)||KY(e,t)||VY(e,t)||HY()}function HY(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function VY(e,t){if(e){if(typeof e=="string")return z8(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?z8(e,t):void 0}}function z8(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);ria.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=WY(e,2),r=t[0],n=t[1];return(0,J0.useEffect)(()=>{if(window.matchMedia){var o=window.matchMedia("(prefers-reduced-motion: reduce)"),a=()=>{n(o.matches)};return o.addEventListener("change",a),()=>{o.removeEventListener("change",a)}}},[]),r}function L8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Qd(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),u=ZY(s,2),c=u[0],d=u[1];es.useEffect(()=>{var v=y=>{if(y.key==="Escape"){var b,x,S,w;d({dismissed:!0,dismissedAtCoordinate:{x:(b=(x=e.coordinate)===null||x===void 0?void 0:x.x)!==null&&b!==void 0?b:0,y:(S=(w=e.coordinate)===null||w===void 0?void 0:w.y)!==null&&S!==void 0?S:0}})}};return document.addEventListener("keydown",v),()=>{document.removeEventListener("keydown",v)}},[(t=e.coordinate)===null||t===void 0?void 0:t.x,(r=e.coordinate)===null||r===void 0?void 0:r.y]),c.dismissed&&(((n=(o=e.coordinate)===null||o===void 0?void 0:o.x)!==null&&n!==void 0?n:0)!==c.dismissedAtCoordinate.x||((a=(i=e.coordinate)===null||i===void 0?void 0:i.y)!==null&&a!==void 0?a:0)!==c.dismissedAtCoordinate.y)&&d(Qd(Qd({},c),{},{dismissed:!1}));var f=j8({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset=="number"?e.offset:e.offset.x,offsetTop:typeof e.offset=="number"?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:e.lastBoundingBox,useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),p=f.cssClasses,m=f.cssProperties,g=e.hasPortalFromProps?{}:Qd(Qd({transition:tX({prefersReducedMotion:l,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},m),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),h=Qd(Qd({},g),{},{visibility:!c.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return es.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:p,style:h,ref:e.innerRef},e.children)}var $8=es.memo(rX);var ex=()=>{var e;return(e=Ae(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};var Fb=te(re()),Nf=te(re());var K8=te(re());function fC(){return fC=Object.assign?Object.assign.bind():function(e){for(var t=1;tqe(e.x)&&qe(e.y),H8=e=>e.base!=null&&tx(e.base)&&tx(e),Vm=e=>e.x,Km=e=>e.y,iX=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(zi(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=W8["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return W8[r]||Zl},V8={connectNulls:!1,type:"linear"},lX=e=>{var t=e.type,r=t===void 0?V8.type:t,n=e.points,o=n===void 0?[]:n,a=e.baseLine,i=e.layout,l=e.connectNulls,s=l===void 0?V8.connectNulls:l,u=iX(r,i),c=s?o.filter(tx):o;if(Array.isArray(a)){var d,f=o.map((v,y)=>U8(U8({},v),{},{base:a[y]}));i==="vertical"?d=Cd().y(Km).x1(Vm).x0(v=>v.base.x):d=Cd().x(Vm).y1(Km).y0(v=>v.base.y);var p=d.defined(H8).curve(u),m=s?f.filter(H8):f;return p(m)}var g;i==="vertical"&&Se(a)?g=Cd().y(Km).x1(Vm).x0(a):Se(a)?g=Cd().x(Vm).y1(Km).y0(a):g=Cm().x(Vm).y(Km);var h=g.defined(tx).curve(u);return h(c)},Ja=e=>{var t=e.className,r=e.points,n=e.path,o=e.pathRef,a=oo();if((!r||!r.length)&&!n)return null;var i={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||a,connectNulls:e.connectNulls},l=r&&r.length?lX(i):n;return K8.createElement("path",fC({},cr(e),Td(e),{className:He("recharts-curve",t),d:l===null?void 0:l,ref:o}))};var G8=te(re());var sX=["x","y","top","left","width","height","className"];function pC(){return pC=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(o,"v").concat(n,"M").concat(a,",").concat(t,"h").concat(r),Y8=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,o=n===void 0?0:n,a=e.top,i=a===void 0?0:a,l=e.left,s=l===void 0?0:l,u=e.width,c=u===void 0?0:u,d=e.height,f=d===void 0?0:d,p=e.className,m=pX(e,sX),g=uX({x:r,y:o,top:i,left:s,width:c,height:f},m);return!Se(r)||!Se(o)||!Se(c)||!Se(f)||!Se(i)||!Se(s)?null:G8.createElement("path",pC({},dr(g),{className:He("recharts-cross",p),d:vX(r,o,c,f,i,s)}))};function X8(e,t,r,n){var o=n/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-o:r.left+.5,y:e==="horizontal"?r.top+.5:t.y-o,width:e==="horizontal"?n:r.width-1,height:e==="horizontal"?r.height-1:n}}var lx=te(re()),la=te(re());var qm=te(re());var rx=1e-4,J8=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],R8=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),Z8=(e,t)=>r=>{var n=J8(e,t);return R8(n,r)},gX=(e,t)=>r=>{var n=J8(e,t),o=[...n.map((a,i)=>a*i).slice(1),0];return R8(o,r)},yX=e=>{var t,r=e.split("(");if(r.length!==2||r[0]!=="cubic-bezier")return null;var n=(t=r[1])===null||t===void 0||(t=t.split(")")[0])===null||t===void 0?void 0:t.split(",");if(n==null||n.length!==4)return null;var o=n.map(a=>parseFloat(a));return[o[0],o[1],o[2],o[3]]},hX=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var o=Z8(e,r),a=Z8(t,n),i=gX(e,r),l=u=>u>1?1:u<0?0:u,s=u=>{for(var c=u>1?1:u,d=c,f=0;f<8;++f){var p=o(d)-c,m=i(d);if(Math.abs(p-c)0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,o=t.damping,a=o===void 0?8:o,i=t.dt,l=i===void 0?16.67:i,s=1,u=[0],c=0,d=0,f=1e4,p=0;p{var y,b,x;if(v<=0)return 0;if(v>=1)return s;var S=v*h,w=Math.floor(S),T=S-w;return((y=u[w])!==null&&y!==void 0?y:0)+(((b=u[w+1])!==null&&b!==void 0?b:0)-((x=u[w])!==null&&x!==void 0?x:0))*T}},eI=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return Q8(e);case"spring":return bX();default:if(e.split("(")[0]==="cubic-bezier")return Q8(e)}return typeof e=="function"?e:null};var Jd=te(re());var tI=(e,t,r)=>{var n,o=a=>{var i=t.tick(a);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(o,i);return}n=e.setTimeout(o,i)};return n=e.setTimeout(o,0),()=>{var a;return(a=n)===null||a===void 0?void 0:a()}};var rI=(0,Jd.createContext)(tI),d0e=rI.Provider;function nI(e){var t=(0,Jd.useContext)(rI);return(0,Jd.useMemo)(()=>e??t,[e,t])}function wX(e,t,r){return(t=SX(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function SX(e){var t=AX(e,"string");return typeof t=="symbol"?t:t+""}function AX(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var oI="init",aI="pending",iI="active",kX="completed";function mC(e){return Math.max(0,e)}var vC=class{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;wX(this,"state",oI),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=mC(t.animationDuration),this.animationBegin=mC(t.animationBegin),this.progress=0,this.from=t.from,this.to=t.to,this.easing=t.easing,(r=t.onAnimationStart)===null||r===void 0||r.call(t)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(t){if(this.getState()===oI)return this.state=aI,this.beginStartedTime=t,this.animationBegin;if(this.getState()===aI){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=iI,this.animationStartedTime=t,this.nextAnimationUpdate(0)):mC(this.animationBegin-r)}if(this.getState()===iI){if(this.animationStartedTime==null)throw new Error;var n=t-this.animationStartedTime;return this.setProgress(n/this.animationDuration),this.nextAnimationUpdate(n)}return 0}setProgress(t){this.progress=Math.min(1,Math.max(0,t))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state==="active"){var t;(t=this.onAnimationEnd)===null||t===void 0||t.call(this)}this.state=kX}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}},nx=class extends vC{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(Pt(this.getFrom(),this.getTo(),this.getProgress()))}};var ox=class{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),o=null,a=i=>{i-n>=r?t(i):o=requestAnimationFrame(a)};return o=requestAnimationFrame(a),()=>{o!=null&&cancelAnimationFrame(o)}}};function CX(e,t){return OX(e)||EX(e,t)||_X(e,t)||NX()}function NX(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _X(e,t){if(e){if(typeof e=="string")return lI(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?lI(e,t):void 0}}function lI(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},sI=0,gC=1;function ax(e){var t=ft(e,TX),r=t.animationId,n=t.isActive,o=t.canBegin,a=t.duration,i=t.easing,l=t.begin,s=t.onAnimationEnd,u=t.onAnimationStart,c=t.children,d=R0(),f=n==="auto"?!ia.isSsr&&!d:n,p=nI(t.animationController),m=(0,qm.useState)(f?sI:gC),g=CX(m,2),h=g[0],v=g[1];return(0,qm.useEffect)(()=>{f||v(gC)},[f]),(0,qm.useEffect)(()=>{var y=eI(i);if(!f||!o||y==null)return Un;var b=new ox,x=new nx({animationId:r,easing:y,animationDuration:a,animationBegin:l,onAnimationStart:u,onAnimationEnd:s,from:sI,to:gC});return p(b,x,v)},[p,r,f,o,a,i,l,u,s]),c(Number(h))}var yC=te(re());function ix(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=(0,yC.useRef)(ji(t)),n=(0,yC.useRef)(e);return n.current!==e&&(r.current=ji(t),n.current=e),r.current}var MX=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),uI=(e,t,r)=>e.map(n=>"".concat(MX(n)," ").concat(t,"ms ").concat(r)).join(",");var PX=["radius"],DX=["radius"],cI,dI,fI,pI,mI,vI,gI,yI,hI,xI;function bI(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function wI(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var a=ea(r),i=ea(n),l=Math.min(Math.abs(a)/2,Math.abs(i)/2),s=i>=0?1:-1,u=a>=0?1:-1,c=i>=0&&a>=0||i<0&&a<0?1:0,d;if(l>0&&Array.isArray(o)){for(var f=[0,0,0,0],p=0,m=4;pl?l:h}d=Rr(cI||(cI=Ra(["M",",",""])),e,t+s*f[0]),f[0]>0&&(d+=Rr(dI||(dI=Ra(["A ",",",",0,0,",",",",",""])),f[0],f[0],c,e+u*f[0],t)),d+=Rr(fI||(fI=Ra(["L ",",",""])),e+r-u*f[1],t),f[1]>0&&(d+=Rr(pI||(pI=Ra(["A ",",",",0,0,",`, + `,",",""])),f[1],f[1],c,e+r,t+s*f[1])),d+=Rr(mI||(mI=Ra(["L ",",",""])),e+r,t+n-s*f[2]),f[2]>0&&(d+=Rr(vI||(vI=Ra(["A ",",",",0,0,",`, + `,",",""])),f[2],f[2],c,e+r-u*f[2],t+n)),d+=Rr(gI||(gI=Ra(["L ",",",""])),e+u*f[3],t+n),f[3]>0&&(d+=Rr(yI||(yI=Ra(["A ",",",",0,0,",`, + `,",",""])),f[3],f[3],c,e,t+n-s*f[3])),d+="Z"}else if(l>0&&o===+o&&o>0){var v=Math.min(l,o);d=Rr(hI||(hI=Ra(["M ",",",` A `,",",",0,0,",",",",",` L `,",",` A `,",",",0,0,",",",",",` L `,",",` A `,",",",0,0,",",",",",` L `,",",` - A `,",",",0,0,",",",","," Z"])),e,t+s*v,v,v,c,e+u*v,t,e+r-u*v,t,v,v,c,e+r,t+s*v,e+r,t+n-s*v,v,v,c,e+r-u*v,t+n,e+u*v,t+n,v,v,c,e,t+n-s*v)}else d=Rr(yI||(yI=Ra(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return d},AI={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},ix=e=>{var t=ft(e,AI),r=(0,la.useRef)(null),n=(0,la.useState)(-1),o=jX(n,2),a=o[0],i=o[1];(0,la.useEffect)(()=>{if(r.current&&r.current.getTotalLength)try{var D=r.current.getTotalLength();D&&i(D)}catch{}},[]);var l=t.x,s=t.y,u=t.width,c=t.height,d=t.radius,f=t.className,p=t.animationEasing,m=t.animationDuration,g=t.animationBegin,h=t.isAnimationActive,v=t.isUpdateAnimationActive,y=(0,la.useRef)(u),b=(0,la.useRef)(c),x=(0,la.useRef)(l),S=(0,la.useRef)(s),w=(0,la.useMemo)(()=>({x:l,y:s,width:u,height:c,radius:d}),[l,s,u,c,d]),T=nx(w,"rectangle-");if(l!==+l||s!==+s||u!==+u||c!==+c||u===0||c===0)return null;var k=He("recharts-rectangle",f);if(!v){var A=dr(t),M=A.radius,H=bI(A,OX);return ox.createElement("path",ax({},H,{x:ea(l),y:ea(s),width:ea(u),height:ea(c),radius:typeof d=="number"?d:void 0,className:k,d:SI(l,s,u,c,d)}))}var F=y.current,X=b.current,P=x.current,Y=S.current,C="0px ".concat(a===-1?1:a,"px"),_="".concat(a,"px ").concat(a,"px"),z=lI(["strokeDasharray"],m,typeof p=="string"?p:AI.animationEasing);return ox.createElement(rx,{animationId:T,key:T,canBegin:a>0,duration:m,easing:p,isActive:v,begin:g},D=>{var E=Pt(F,u,D),j=Pt(X,c,D),R=Pt(P,l,D),U=Pt(Y,s,D);r.current&&(y.current=E,b.current=j,x.current=R,S.current=U);var L;h?D>0?L={transition:z,strokeDasharray:_}:L={strokeDasharray:C}:L={strokeDasharray:_};var K=dr(t),ae=K.radius,de=bI(K,TX);return ox.createElement("path",ax({},de,{radius:typeof d=="number"?d:void 0,className:k,d:SI(R,U,E,j,d),ref:r,style:xI(xI({},L),t.style)}))})};function kI(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function CI(e){for(var t=1;te*180/Math.PI,tr=(e,t,r,n)=>({x:e+Math.cos(-Km*n)*r,y:t+Math.sin(-Km*n)*r}),lx=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0,width:0,height:0,brushBottom:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},VX=(e,t)=>{var r=e.x,n=e.y,o=t.x,a=t.y;return Math.sqrt((r-o)**2+(n-a)**2)},KX=(e,t)=>{var r=e.x,n=e.y,o=t.cx,a=t.cy,i=VX({x:r,y:n},{x:o,y:a});if(i<=0)return{radius:i,angle:0};var l=(r-o)/i,s=Math.acos(l);return n>a&&(s=2*Math.PI-s),{radius:i,angle:HX(s),angleInRadian:s}},qX=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),o=Math.floor(r/360),a=Math.min(n,o);return{startAngle:t-a*360,endAngle:r-a*360}},GX=(e,t)=>{var r=t.startAngle,n=t.endAngle,o=Math.floor(r/360),a=Math.floor(n/360),i=Math.min(o,a);return e+i*360},NI=(e,t)=>{var r=e.relativeX,n=e.relativeY,o=KX({x:r,y:n},t),a=o.radius,i=o.angle,l=t.innerRadius,s=t.outerRadius;if(as||a===0)return null;var u=qX(t),c=u.startAngle,d=u.endAngle,f=i,p;if(c<=d){for(;f>d;)f-=360;for(;f=c&&f<=d}else{for(;f>c;)f-=360;for(;f=d&&f<=c}return p?CI(CI({},t),{},{radius:a,angle:GX(f,t)}):null};function sx(e){var t=e.cx,r=e.cy,n=e.radius,o=e.startAngle,a=e.endAngle,i=tr(t,r,n,o),l=tr(t,r,n,a);return{points:[i,l],cx:t,cy:r,radius:n,startAngle:o,endAngle:a}}var II=te(re());var _I,EI,OI,TI,MI,PI,DI;function vC(){return vC=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=Xt(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},ux=e=>{var t=e.cx,r=e.cy,n=e.radius,o=e.angle,a=e.sign,i=e.isExternal,l=e.cornerRadius,s=e.cornerIsExternal,u=l*(i?1:-1)+n,c=Math.asin(l/u)/Km,d=s?o:o+a*c,f=tr(t,r,u,d),p=tr(t,r,n,d),m=s?o-a*c:o,g=tr(t,r,u*Math.cos(c*Km),m);return{center:f,circleTangency:p,lineTangency:g,theta:c}},jI=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,o=e.outerRadius,a=e.startAngle,i=e.endAngle,l=YX(a,i),s=a+l,u=tr(t,r,o,a),c=tr(t,r,o,s),d=Rr(_I||(_I=wu(["M ",",",` + A `,",",",0,0,",",",","," Z"])),e,t+s*v,v,v,c,e+u*v,t,e+r-u*v,t,v,v,c,e+r,t+s*v,e+r,t+n-s*v,v,v,c,e+r-u*v,t+n,e+u*v,t+n,v,v,c,e,t+n-s*v)}else d=Rr(xI||(xI=Ra(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return d},CI={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},ux=e=>{var t=ft(e,CI),r=(0,la.useRef)(null),n=(0,la.useState)(-1),o=BX(n,2),a=o[0],i=o[1];(0,la.useEffect)(()=>{if(r.current&&r.current.getTotalLength)try{var D=r.current.getTotalLength();D&&i(D)}catch{}},[]);var l=t.x,s=t.y,u=t.width,c=t.height,d=t.radius,f=t.className,p=t.animationEasing,m=t.animationDuration,g=t.animationBegin,h=t.isAnimationActive,v=t.isUpdateAnimationActive,y=(0,la.useRef)(u),b=(0,la.useRef)(c),x=(0,la.useRef)(l),S=(0,la.useRef)(s),w=(0,la.useMemo)(()=>({x:l,y:s,width:u,height:c,radius:d}),[l,s,u,c,d]),T=ix(w,"rectangle-");if(l!==+l||s!==+s||u!==+u||c!==+c||u===0||c===0)return null;var k=He("recharts-rectangle",f);if(!v){var A=dr(t),M=A.radius,H=SI(A,PX);return lx.createElement("path",sx({},H,{x:ea(l),y:ea(s),width:ea(u),height:ea(c),radius:typeof d=="number"?d:void 0,className:k,d:kI(l,s,u,c,d)}))}var F=y.current,X=b.current,P=x.current,Y=S.current,C="0px ".concat(a===-1?1:a,"px"),_="".concat(a,"px ").concat(a,"px"),z=uI(["strokeDasharray"],m,typeof p=="string"?p:CI.animationEasing);return lx.createElement(ax,{animationId:T,key:T,canBegin:a>0,duration:m,easing:p,isActive:v,begin:g},D=>{var E=Pt(F,u,D),j=Pt(X,c,D),R=Pt(P,l,D),U=Pt(Y,s,D);r.current&&(y.current=E,b.current=j,x.current=R,S.current=U);var L;h?D>0?L={transition:z,strokeDasharray:_}:L={strokeDasharray:C}:L={strokeDasharray:_};var q=dr(t),ae=q.radius,ce=SI(q,DX);return lx.createElement("path",sx({},ce,{radius:typeof d=="number"?d:void 0,className:k,d:kI(R,U,E,j,d),ref:r,style:wI(wI({},L),t.style)}))})};function NI(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function _I(e){for(var t=1;te*180/Math.PI,tr=(e,t,r,n)=>({x:e+Math.cos(-Gm*n)*r,y:t+Math.sin(-Gm*n)*r}),cx=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0,width:0,height:0,brushBottom:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},GX=(e,t)=>{var r=e.x,n=e.y,o=t.x,a=t.y;return Math.sqrt((r-o)**2+(n-a)**2)},YX=(e,t)=>{var r=e.x,n=e.y,o=t.cx,a=t.cy,i=GX({x:r,y:n},{x:o,y:a});if(i<=0)return{radius:i,angle:0};var l=(r-o)/i,s=Math.acos(l);return n>a&&(s=2*Math.PI-s),{radius:i,angle:qX(s),angleInRadian:s}},XX=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),o=Math.floor(r/360),a=Math.min(n,o);return{startAngle:t-a*360,endAngle:r-a*360}},ZX=(e,t)=>{var r=t.startAngle,n=t.endAngle,o=Math.floor(r/360),a=Math.floor(n/360),i=Math.min(o,a);return e+i*360},EI=(e,t)=>{var r=e.relativeX,n=e.relativeY,o=YX({x:r,y:n},t),a=o.radius,i=o.angle,l=t.innerRadius,s=t.outerRadius;if(as||a===0)return null;var u=XX(t),c=u.startAngle,d=u.endAngle,f=i,p;if(c<=d){for(;f>d;)f-=360;for(;f=c&&f<=d}else{for(;f>c;)f-=360;for(;f=d&&f<=c}return p?_I(_I({},t),{},{radius:a,angle:ZX(f,t)}):null};function dx(e){var t=e.cx,r=e.cy,n=e.radius,o=e.startAngle,a=e.endAngle,i=tr(t,r,n,o),l=tr(t,r,n,a);return{points:[i,l],cx:t,cy:r,radius:n,startAngle:o,endAngle:a}}var zI=te(re());var OI,TI,MI,PI,DI,II,jI;function hC(){return hC=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=Xt(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},fx=e=>{var t=e.cx,r=e.cy,n=e.radius,o=e.angle,a=e.sign,i=e.isExternal,l=e.cornerRadius,s=e.cornerIsExternal,u=l*(i?1:-1)+n,c=Math.asin(l/u)/Gm,d=s?o:o+a*c,f=tr(t,r,u,d),p=tr(t,r,n,d),m=s?o-a*c:o,g=tr(t,r,u*Math.cos(c*Gm),m);return{center:f,circleTangency:p,lineTangency:g,theta:c}},LI=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,o=e.outerRadius,a=e.startAngle,i=e.endAngle,l=QX(a,i),s=a+l,u=tr(t,r,o,a),c=tr(t,r,o,s),d=Rr(OI||(OI=Su(["M ",",",` A `,",",`,0, `,",",`, `,",",` - `])),u.x,u.y,o,o,+(Math.abs(l)>180),+(a>s),c.x,c.y);if(n>0){var f=tr(t,r,n,a),p=tr(t,r,n,s);d+=Rr(EI||(EI=wu(["L ",",",` + `])),u.x,u.y,o,o,+(Math.abs(l)>180),+(a>s),c.x,c.y);if(n>0){var f=tr(t,r,n,a),p=tr(t,r,n,s);d+=Rr(TI||(TI=Su(["L ",",",` A `,",",`,0, `,",",`, - `,","," Z"])),p.x,p.y,n,n,+(Math.abs(l)>180),+(a<=s),f.x,f.y)}else d+=Rr(OI||(OI=wu(["L ",","," Z"])),t,r);return d},XX=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,o=e.outerRadius,a=e.cornerRadius,i=e.forceCornerRadius,l=e.cornerIsExternal,s=e.startAngle,u=e.endAngle,c=Xt(u-s),d=ux({cx:t,cy:r,radius:o,angle:s,sign:c,cornerRadius:a,cornerIsExternal:l}),f=d.circleTangency,p=d.lineTangency,m=d.theta,g=ux({cx:t,cy:r,radius:o,angle:u,sign:-c,cornerRadius:a,cornerIsExternal:l}),h=g.circleTangency,v=g.lineTangency,y=g.theta,b=l?Math.abs(s-u):Math.abs(s-u)-m-y;if(b<0)return i?Rr(TI||(TI=wu(["M ",",",` + `,","," Z"])),p.x,p.y,n,n,+(Math.abs(l)>180),+(a<=s),f.x,f.y)}else d+=Rr(MI||(MI=Su(["L ",","," Z"])),t,r);return d},JX=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,o=e.outerRadius,a=e.cornerRadius,i=e.forceCornerRadius,l=e.cornerIsExternal,s=e.startAngle,u=e.endAngle,c=Xt(u-s),d=fx({cx:t,cy:r,radius:o,angle:s,sign:c,cornerRadius:a,cornerIsExternal:l}),f=d.circleTangency,p=d.lineTangency,m=d.theta,g=fx({cx:t,cy:r,radius:o,angle:u,sign:-c,cornerRadius:a,cornerIsExternal:l}),h=g.circleTangency,v=g.lineTangency,y=g.theta,b=l?Math.abs(s-u):Math.abs(s-u)-m-y;if(b<0)return i?Rr(PI||(PI=Su(["M ",",",` a`,",",",0,0,1,",`,0 a`,",",",0,0,1,",`,0 - `])),p.x,p.y,a,a,a*2,a,a,-a*2):jI({cx:t,cy:r,innerRadius:n,outerRadius:o,startAngle:s,endAngle:u});var x=Rr(MI||(MI=wu(["M ",",",` + `])),p.x,p.y,a,a,a*2,a,a,-a*2):LI({cx:t,cy:r,innerRadius:n,outerRadius:o,startAngle:s,endAngle:u});var x=Rr(DI||(DI=Su(["M ",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` A`,",",",0,0,",",",",",` - `])),p.x,p.y,a,a,+(c<0),f.x,f.y,o,o,+(b>180),+(c<0),h.x,h.y,a,a,+(c<0),v.x,v.y);if(n>0){var S=ux({cx:t,cy:r,radius:n,angle:s,sign:c,isExternal:!0,cornerRadius:a,cornerIsExternal:l}),w=S.circleTangency,T=S.lineTangency,k=S.theta,A=ux({cx:t,cy:r,radius:n,angle:u,sign:-c,isExternal:!0,cornerRadius:a,cornerIsExternal:l}),M=A.circleTangency,H=A.lineTangency,F=A.theta,X=l?Math.abs(s-u):Math.abs(s-u)-k-F;if(X<0&&a===0)return"".concat(x,"L").concat(t,",").concat(r,"Z");x+=Rr(PI||(PI=wu(["L",",",` + `])),p.x,p.y,a,a,+(c<0),f.x,f.y,o,o,+(b>180),+(c<0),h.x,h.y,a,a,+(c<0),v.x,v.y);if(n>0){var S=fx({cx:t,cy:r,radius:n,angle:s,sign:c,isExternal:!0,cornerRadius:a,cornerIsExternal:l}),w=S.circleTangency,T=S.lineTangency,k=S.theta,A=fx({cx:t,cy:r,radius:n,angle:u,sign:-c,isExternal:!0,cornerRadius:a,cornerIsExternal:l}),M=A.circleTangency,H=A.lineTangency,F=A.theta,X=l?Math.abs(s-u):Math.abs(s-u)-k-F;if(X<0&&a===0)return"".concat(x,"L").concat(t,",").concat(r,"Z");x+=Rr(II||(II=Su(["L",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` - A`,",",",0,0,",",",",","Z"])),H.x,H.y,a,a,+(c<0),M.x,M.y,n,n,+(X>180),+(c>0),w.x,w.y,a,a,+(c<0),T.x,T.y)}else x+=Rr(DI||(DI=wu(["L",",","Z"])),t,r);return x},ZX={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},cx=e=>{var t=ft(e,ZX),r=t.cx,n=t.cy,o=t.innerRadius,a=t.outerRadius,i=t.cornerRadius,l=t.forceCornerRadius,s=t.cornerIsExternal,u=t.startAngle,c=t.endAngle,d=t.className;if(a0&&Math.abs(u-c)<360?g=XX({cx:r,cy:n,innerRadius:o,outerRadius:a,cornerRadius:Math.min(m,p/2),forceCornerRadius:l,cornerIsExternal:s,startAngle:u,endAngle:c}):g=jI({cx:r,cy:n,innerRadius:o,outerRadius:a,startAngle:u,endAngle:c}),II.createElement("path",vC({},dr(t),{className:f,d:g}))};function zI(e,t,r){if(e==="horizontal")return[{x:t.x,y:r.top},{x:t.x,y:r.top+r.height}];if(e==="vertical")return[{x:r.left,y:t.y},{x:r.left+r.width,y:t.y}];if(Ph(t)){if(e==="centric"){var n=t.cx,o=t.cy,a=t.innerRadius,i=t.outerRadius,l=t.angle,s=tr(n,o,a,l),u=tr(n,o,i,l);return[{x:s.x,y:s.y},{x:u.x,y:u.y}]}return sx(t)}}function LI(e){return s0(e)?NaN:Number(e)}function dx(e){return e?(e=LI(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function fx(e,t,r){r&&typeof r!="number"&&Om(e,t,r)&&(t=r=void 0),e=dx(e),t===void 0?(t=e,e=0):t=dx(t),r=r===void 0?ee.chartData,Su=J([io],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),Au=(e,t,r,n)=>n?Su(e):io(e),px=(e,t,r)=>r?Su(e):io(e),BI=J([Au],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),$I=J([Su],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),FI=J([io],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});function gC(e,t){return eZ(e)||RX(e,t)||JX(e,t)||QX()}function QX(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function JX(e,t){if(e){if(typeof e=="string")return UI(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?UI(e,t):void 0}}function UI(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=qm(e,2),r=t[0],n=t[1],o=r,a=n;return r>n&&(o=n,a=r),[o,a]},wC=(e,t,r)=>{if(e.lte(0))return new Et.default(0);var n=xC(e.toNumber()),o=new Et.default(10).pow(n),a=e.div(o),i=n!==1?.05:.1,l=new Et.default(Math.ceil(a.div(i).toNumber())).add(r).mul(i),s=l.mul(o);return t?new Et.default(s.toNumber()):new Et.default(Math.ceil(s.toNumber()))},GI=(e,t,r)=>{var n;if(e.lte(0))return new Et.default(0);var o=[1,2,2.5,5],a=e.toNumber(),i=Math.floor(new Et.default(a).abs().log(10).toNumber()),l=new Et.default(10).pow(i),s=e.div(l).toNumber(),u=o.findIndex(p=>p>=s-1e-10);if(u===-1&&(l=l.mul(10),u=0),u+=r,u>=o.length){var c=Math.floor(u/o.length);u%=o.length,l=l.mul(new Et.default(10).pow(c))}var d=(n=o[u])!==null&&n!==void 0?n:1,f=new Et.default(d).mul(l);return t?f:new Et.default(Math.ceil(f.toNumber()))},aZ=(e,t,r)=>{var n=new Et.default(1),o=new Et.default(e);if(!o.isint()&&r){var a=Math.abs(e);a<1?(n=new Et.default(10).pow(xC(e)-1),o=new Et.default(Math.floor(o.div(n).toNumber())).mul(n)):a>1&&(o=new Et.default(Math.floor(e)))}else e===0?o=new Et.default(Math.floor((t-1)/2)):r||(o=new Et.default(Math.floor(e)));for(var i=Math.floor((t-1)/2),l=[],s=0;s4&&arguments[4]!==void 0?arguments[4]:0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:wC;if(!Number.isFinite((r-t)/(n-1)))return{step:new Et.default(0),tickMin:new Et.default(0),tickMax:new Et.default(0)};var l=i(new Et.default(r).sub(t).div(n-1),o,a),s;t<=0&&r>=0?s=new Et.default(0):(s=new Et.default(t).add(r).div(2),s=s.sub(new Et.default(s).mod(l)));var u=Math.ceil(s.sub(t).div(l).toNumber()),c=Math.ceil(new Et.default(r).sub(s).div(l).toNumber()),d=u+c+1;return d>n?YI(t,r,n,o,a+1,i):(d0?c+(n-d):c,u=r>0?u:u+(n-d)),{step:l,tickMin:s.sub(new Et.default(u).mul(l)),tickMax:s.add(new Et.default(c).mul(l))})};var gx=function(t){var r=qm(t,2),n=r[0],o=r[1],a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=Math.max(a,2),u=qI([n,o]),c=qm(u,2),d=c[0],f=c[1];if(d===-1/0||f===1/0){var p=f===1/0?[d,...Array(a-1).fill(1/0)]:[...Array(a-1).fill(-1/0),f];return n>o?p.reverse():p}if(d===f)return aZ(d,a,i);var m=l==="snap125"?GI:wC,g=YI(d,f,s,i,0,m),h=g.step,v=g.tickMin,y=g.tickMax,b=bC(v,y.add(new Et.default(.1).mul(h)),h);return n>o?b.reverse():b},yx=function(t,r){var n=qm(t,2),o=n[0],a=n[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=qI([o,a]),u=qm(s,2),c=u[0],d=u[1];if(c===-1/0||d===1/0)return[o,a];if(c===d)return[c];var f=l==="snap125"?GI:wC,p=Math.max(r,2),m=f(new Et.default(d).sub(c).div(p-1),i,0),g=[...bC(new Et.default(c),new Et.default(d),m),d];if(i===!1){g=g.map(v=>Math.round(v));var h=g.length-1;h>0&&g[h]===g[h-1]&&(g=g.slice(0,h))}return o>a?g.reverse():g};var SC=e=>e.rootProps.maxBarSize,XI=e=>e.rootProps.barGap,hx=e=>e.rootProps.barCategoryGap,ZI=e=>e.rootProps.barSize,es=e=>e.rootProps.stackOffset,xx=e=>e.rootProps.reverseStackOrder,Jd=e=>e.options.chartName,bx=e=>e.rootProps.syncId,AC=e=>e.rootProps.syncMethod,wx=e=>e.options.eventEmitter,QI=e=>e.rootProps.baseValue;var vt={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3};var ts={allowDecimals:!1,allowDuplicatedCategory:!0,allowDataOverflow:!1,angle:0,angleAxisId:0,axisLine:!0,axisLineType:"polygon",cx:0,cy:0,hide:!1,includeHidden:!1,label:!1,niceTicks:"auto",orientation:"outer",reversed:!1,scale:"auto",tick:!0,tickLine:!0,tickSize:8,type:"auto",zIndex:vt.axis};var Ma={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,angle:0,axisLine:!0,includeHidden:!1,hide:!1,niceTicks:"auto",label:!1,orientation:"right",radiusAxisId:0,reversed:!1,scale:"auto",stroke:"#ccc",tick:!0,tickCount:5,tickLine:!0,type:"auto",zIndex:vt.axis};var ku=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function Cu(e,t,r){if(r!=="auto")return r;if(e!=null)return Tn(e,t)?"category":"number"}function JI(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Sx(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},Ax=J([uZ,q0],(e,t)=>{var r;if(e!=null)return e;var n=(r=Cu(t,"angleAxis",RI.type))!==null&&r!==void 0?r:"category";return Sx(Sx({},RI),{},{type:n})}),cZ=(e,t)=>e.polarAxis.radiusAxis[t],kx=J([cZ,q0],(e,t)=>{var r;if(e!=null)return e;var n=(r=Cu(t,"radiusAxis",e6.type))!==null&&r!==void 0?r:"category";return Sx(Sx({},e6),{},{type:n})}),Cx=e=>e.polarOptions,kC=J([fn,pn,Ht],lx),t6=J([Cx,kC],(e,t)=>{if(e!=null)return Sr(e.innerRadius,t,0)}),r6=J([Cx,kC],(e,t)=>{if(e!=null)return Sr(e.outerRadius,t,t*.8)}),dZ=e=>{if(e==null)return[0,0];var t=e.startAngle,r=e.endAngle;return[t,r]},CC=J([Cx],dZ),Txe=J([Ax,CC],ku),NC=J([kC,t6,r6],(e,t,r)=>{if(!(e==null||t==null||r==null))return[t,r]}),Mxe=J([kx,NC],ku),Nx=J([Qe,Cx,t6,r6,fn,pn],(e,t,r,n,o,a)=>{if(!(e!=="centric"&&e!=="radial"||t==null||r==null||n==null)){var i=t.cx,l=t.cy,s=t.startAngle,u=t.endAngle;return{cx:Sr(i,o,o/2),cy:Sr(l,a,a/2),innerRadius:r,outerRadius:n,startAngle:s,endAngle:u,clockWise:!1}}});var fr=(e,t)=>t;var Nu=(e,t,r)=>r;function rs(e){return e?.id}function _x(e,t,r){var n=t.chartData,o=n===void 0?[]:n,a=r.allowDuplicatedCategory,i=r.dataKey,l=new Map;return e.forEach(s=>{var u,c=(u=s.data)!==null&&u!==void 0?u:o;if(!(c==null||c.length===0)){var d=rs(s);c.forEach((f,p)=>{var m=i==null||a?p:String(nt(f,i,null)),g=nt(f,s.dataKey,0),h;l.has(m)?h=l.get(m):h={},Object.assign(h,{[d]:g}),l.set(m,h)})}}),Array.from(l.values())}function _u(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var Eu=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function Rd(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function n6(e,t){if(e.length===t.length){for(var r=0;r{var t=Qe(e);return t==="horizontal"?"xAxis":t==="vertical"?"yAxis":t==="centric"?"angleAxis":"radiusAxis"};var ns=e=>e.tooltip.settings.axisId;function Gm(e){if(e!=null){var t=e.ticks,r=e.bandwidth,n=e.range(),o=[Math.min(...n),Math.max(...n)];return{domain:()=>e.domain(),range:(function(a){function i(){return a.apply(this,arguments)}return i.toString=function(){return a.toString()},i})(()=>o),rangeMin:()=>o[0],rangeMax:()=>o[1],isInRange(a){var i=o[0],l=o[1];return i<=l?a>=i&&a<=l:a>=l&&a<=i},bandwidth:r?()=>r.call(e):void 0,ticks:t?a=>t.call(e,a):void 0,map:(a,i)=>{var l=e(a);if(l!=null){if(e.bandwidth&&i!==null&&i!==void 0&&i.position){var s=e.bandwidth();switch(i.position){case"middle":l+=s/2;break;case"end":l+=s;break;default:break}}return l}}}}}var Ex=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!To(t)){for(var r,n,o=0;on)&&(n=a))}return r!==void 0&&n!==void 0?[r,n]:void 0}return t}default:return t}};var mv={};uU(mv,{scaleBand:()=>Qm,scaleDiverging:()=>ub,scaleDivergingLog:()=>aN,scaleDivergingPow:()=>cb,scaleDivergingSqrt:()=>Cj,scaleDivergingSymlog:()=>iN,scaleIdentity:()=>Gx,scaleImplicit:()=>jx,scaleLinear:()=>qx,scaleLog:()=>Yx,scaleOrdinal:()=>rf,scalePoint:()=>c6,scalePow:()=>sv,scaleQuantile:()=>Qx,scaleQuantize:()=>Jx,scaleRadial:()=>Zx,scaleSequential:()=>ab,scaleSequentialLog:()=>nN,scaleSequentialPow:()=>ib,scaleSequentialQuantile:()=>lb,scaleSequentialSqrt:()=>kj,scaleSequentialSymlog:()=>oN,scaleSqrt:()=>q6,scaleSymlog:()=>Xx,scaleThreshold:()=>Rx,scaleTime:()=>tN,scaleUtc:()=>rN,tickFormat:()=>nv});function Hn(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function _C(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function Ou(e){let t,r,n;e.length!==2?(t=Hn,r=(l,s)=>Hn(e(l),s),n=(l,s)=>e(l)-s):(t=e===Hn||e===_C?e:fZ,r=e,n=e);function o(l,s,u=0,c=l.length){if(u>>1;r(l[d],s)<0?u=d+1:c=d}while(u>>1;r(l[d],s)<=0?u=d+1:c=d}while(uu&&n(l[d-1],s)>-n(l[d],s)?d-1:d}return{left:o,center:i,right:a}}function fZ(){return 0}function Ym(e){return e===null?NaN:+e}function*o6(e,t){if(t===void 0)for(let r of e)r!=null&&(r=+r)>=r&&(yield r);else{let r=-1;for(let n of e)(n=t(n,++r,e))!=null&&(n=+n)>=n&&(yield n)}}var a6=Ou(Hn),i6=a6.right,pZ=a6.left,mZ=Ou(Ym).center,Pa=i6;var ef=class extends Map{constructor(t,r=yZ){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(let[n,o]of t)this.set(n,o)}get(t){return super.get(l6(this,t))}has(t){return super.has(l6(this,t))}set(t,r){return super.set(vZ(this,t),r)}delete(t){return super.delete(gZ(this,t))}};function l6({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):r}function vZ({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function gZ({_intern:e,_key:t},r){let n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function yZ(e){return e!==null&&typeof e=="object"?e.valueOf():e}function s6(e=Hn){if(e===Hn)return EC;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{let n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function EC(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}var hZ=Math.sqrt(50),xZ=Math.sqrt(10),bZ=Math.sqrt(2);function Ox(e,t,r){let n=(t-e)/Math.max(0,r),o=Math.floor(Math.log10(n)),a=n/Math.pow(10,o),i=a>=hZ?10:a>=xZ?5:a>=bZ?2:1,l,s,u;return o<0?(u=Math.pow(10,-o)/i,l=Math.round(e*u),s=Math.round(t*u),l/ut&&--s,u=-u):(u=Math.pow(10,o)*i,l=Math.round(e/u),s=Math.round(t/u),l*ut&&--s),s0))return[];if(e===t)return[e];let n=t=o))return[];let l=a-o+1,s=new Array(l);if(n)if(i<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let o of e)(o=t(o,++n,e))!=null&&(r=o)&&(r=o)}return r}function Mx(e,t){let r;if(t===void 0)for(let n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let o of e)(o=t(o,++n,e))!=null&&(r>o||r===void 0&&o>=o)&&(r=o)}return r}function Px(e,t,r=0,n=1/0,o){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(e.length-1,n)),!(r<=t&&t<=n))return e;for(o=o===void 0?EC:s6(o);n>r;){if(n-r>600){let s=n-r+1,u=t-r+1,c=Math.log(s),d=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*d*(s-d)/s)*(u-s/2<0?-1:1),p=Math.max(r,Math.floor(t-u*d/s+f)),m=Math.min(n,Math.floor(t+(s-u)*d/s+f));Px(e,t,p,m,o)}let a=e[t],i=r,l=n;for(Zm(e,r,t),o(e[n],a)>0&&Zm(e,r,n);i0;)--l}o(e[r],a)===0?Zm(e,r,l):(++l,Zm(e,l,n)),l<=t&&(r=l+1),t<=l&&(n=l-1)}return e}function Zm(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}function Dx(e,t,r){if(e=Float64Array.from(o6(e,r)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return Mx(e);if(t>=1)return Tx(e);var n,o=(n-1)*t,a=Math.floor(o),i=Tx(Px(e,a).subarray(0,a+1)),l=Mx(e.subarray(a+1));return i+(l-i)*(o-a)}}function OC(e,t,r=Ym){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,o=(n-1)*t,a=Math.floor(o),i=+r(e[a],a,e),l=+r(e[a+1],a+1,e);return i+(l-i)*(o-a)}}function Ix(e,t,r){e=+e,t=+t,r=(o=arguments.length)<2?(t=e,e=0,1):o<3?1:+r;for(var n=-1,o=Math.max(0,Math.ceil((t-e)/r))|0,a=new Array(o);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?Lx(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?Lx(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=SZ.exec(e))?new lo(t[1],t[2],t[3],1):(t=AZ.exec(e))?new lo(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=kZ.exec(e))?Lx(t[1],t[2],t[3],t[4]):(t=CZ.exec(e))?Lx(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=NZ.exec(e))?y6(t[1],t[2]/100,t[3]/100,1):(t=_Z.exec(e))?y6(t[1],t[2]/100,t[3]/100,t[4]):d6.hasOwnProperty(e)?m6(d6[e]):e==="transparent"?new lo(NaN,NaN,NaN,0):null}function m6(e){return new lo(e>>16&255,e>>8&255,e&255,1)}function Lx(e,t,r,n){return n<=0&&(e=t=r=NaN),new lo(e,t,r,n)}function TZ(e){return e instanceof ev||(e=os(e)),e?(e=e.rgb(),new lo(e.r,e.g,e.b,e.opacity)):new lo}function of(e,t,r,n){return arguments.length===1?TZ(e):new lo(e,t,r,n??1)}function lo(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}zx(lo,of,TC(ev,{brighter(e){return e=e==null?$x:Math.pow($x,e),new lo(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Jm:Math.pow(Jm,e),new lo(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new lo(Pu(this.r),Pu(this.g),Pu(this.b),Fx(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:v6,formatHex:v6,formatHex8:MZ,formatRgb:g6,toString:g6}));function v6(){return`#${Mu(this.r)}${Mu(this.g)}${Mu(this.b)}`}function MZ(){return`#${Mu(this.r)}${Mu(this.g)}${Mu(this.b)}${Mu((isNaN(this.opacity)?1:this.opacity)*255)}`}function g6(){let e=Fx(this.opacity);return`${e===1?"rgb(":"rgba("}${Pu(this.r)}, ${Pu(this.g)}, ${Pu(this.b)}${e===1?")":`, ${e})`}`}function Fx(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Pu(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Mu(e){return e=Pu(e),(e<16?"0":"")+e.toString(16)}function y6(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Da(e,t,r,n)}function x6(e){if(e instanceof Da)return new Da(e.h,e.s,e.l,e.opacity);if(e instanceof ev||(e=os(e)),!e)return new Da;if(e instanceof Da)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,o=Math.min(t,r,n),a=Math.max(t,r,n),i=NaN,l=a-o,s=(a+o)/2;return l?(t===a?i=(r-n)/l+(r0&&s<1?0:i,new Da(i,l,s,e.opacity)}function b6(e,t,r,n){return arguments.length===1?x6(e):new Da(e,t,r,n??1)}function Da(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}zx(Da,b6,TC(ev,{brighter(e){return e=e==null?$x:Math.pow($x,e),new Da(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Jm:Math.pow(Jm,e),new Da(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,o=2*r-n;return new lo(MC(e>=240?e-240:e+120,o,n),MC(e,o,n),MC(e<120?e+240:e-120,o,n),this.opacity)},clamp(){return new Da(h6(this.h),Bx(this.s),Bx(this.l),Fx(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=Fx(this.opacity);return`${e===1?"hsl(":"hsla("}${h6(this.h)}, ${Bx(this.s)*100}%, ${Bx(this.l)*100}%${e===1?")":`, ${e})`}`}}));function h6(e){return e=(e||0)%360,e<0?e+360:e}function Bx(e){return Math.max(0,Math.min(1,e||0))}function MC(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}function PC(e,t,r,n,o){var a=e*e,i=a*e;return((1-3*e+3*a-i)*t+(4-6*a+3*i)*r+(1+3*e+3*a-3*i)*n+i*o)/6}function w6(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),o=e[n],a=e[n+1],i=n>0?e[n-1]:2*o-a,l=n()=>e;function PZ(e,t){return function(r){return e+r*t}}function DZ(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function A6(e){return(e=+e)==1?Ux:function(t,r){return r-t?DZ(t,r,e):tv(isNaN(t)?r:t)}}function Ux(e,t){var r=t-e;return r?PZ(e,r):tv(isNaN(e)?t:e)}var DC=(function e(t){var r=A6(t);function n(o,a){var i=r((o=of(o)).r,(a=of(a)).r),l=r(o.g,a.g),s=r(o.b,a.b),u=Ux(o.opacity,a.opacity);return function(c){return o.r=i(c),o.g=l(c),o.b=s(c),o.opacity=u(c),o+""}}return n.gamma=e,n})(1);function k6(e){return function(t){var r=t.length,n=new Array(r),o=new Array(r),a=new Array(r),i,l;for(i=0;ir&&(a=t.slice(r,a),l[i]?l[i]+=a:l[++i]=a),(n=n[0])===(o=o[0])?l[i]?l[i]+=o:l[++i]=o:(l[++i]=null,s.push({i,x:as(n,o)})),r=IC.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function LZ(e,t,r){var n=e[0],o=e[1],a=t[0],i=t[1];return o2?BZ:LZ,s=u=null,d}function d(f){return f==null||isNaN(f=+f)?a:(s||(s=l(e.map(n),t,r)))(n(i(f)))}return d.invert=function(f){return i(o((u||(u=l(t,e.map(n),as)))(f)))},d.domain=function(f){return arguments.length?(e=Array.from(f,is),c()):e.slice()},d.range=function(f){return arguments.length?(t=Array.from(f),c()):t.slice()},d.rangeRound=function(f){return t=Array.from(f),r=Du,c()},d.clamp=function(f){return arguments.length?(i=f?!0:tn,c()):i!==tn},d.interpolate=function(f){return arguments.length?(r=f,c()):r},d.unknown=function(f){return arguments.length?(a=f,d):a},function(f,p){return n=f,o=p,c()}}function ju(){return Iu()(tn,tn)}function P6(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function zu(e,t){if(!isFinite(e)||e===0)return null;var r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function ri(e){return e=zu(Math.abs(e)),e?e[1]:NaN}function D6(e,t){return function(r,n){for(var o=r.length,a=[],i=0,l=e[0],s=0;o>0&&l>0&&(s+l+1>n&&(l=Math.max(1,n-s)),a.push(r.substring(o-=l,o+l)),!((s+=l+1)>n));)l=e[i=(i+1)%e.length];return a.reverse().join(t)}}function I6(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var $Z=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ni(e){if(!(t=$Z.exec(e)))throw new Error("invalid format: "+e);var t;return new Hx({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}ni.prototype=Hx.prototype;function Hx(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Hx.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function j6(e){e:for(var t=e.length,r=1,n=-1,o;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(o+1):e}var rv;function z6(e,t){var r=zu(e,t);if(!r)return rv=void 0,e.toPrecision(t);var n=r[0],o=r[1],a=o-(rv=Math.max(-8,Math.min(8,Math.floor(o/3)))*3)+1,i=n.length;return a===i?n:a>i?n+new Array(a-i+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+zu(e,Math.max(0,t+a-1))[0]}function BC(e,t){var r=zu(e,t);if(!r)return e+"";var n=r[0],o=r[1];return o<0?"0."+new Array(-o).join("0")+n:n.length>o+1?n.slice(0,o+1)+"."+n.slice(o+1):n+new Array(o-n.length+2).join("0")}var $C={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:P6,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>BC(e*100,t),r:BC,s:z6,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function FC(e){return e}var L6=Array.prototype.map,B6=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function $6(e){var t=e.grouping===void 0||e.thousands===void 0?FC:D6(L6.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",o=e.decimal===void 0?".":e.decimal+"",a=e.numerals===void 0?FC:I6(L6.call(e.numerals,String)),i=e.percent===void 0?"%":e.percent+"",l=e.minus===void 0?"\u2212":e.minus+"",s=e.nan===void 0?"NaN":e.nan+"";function u(d,f){d=ni(d);var p=d.fill,m=d.align,g=d.sign,h=d.symbol,v=d.zero,y=d.width,b=d.comma,x=d.precision,S=d.trim,w=d.type;w==="n"?(b=!0,w="g"):$C[w]||(x===void 0&&(x=12),S=!0,w="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var T=(f&&f.prefix!==void 0?f.prefix:"")+(h==="$"?r:h==="#"&&/[boxX]/.test(w)?"0"+w.toLowerCase():""),k=(h==="$"?n:/[%p]/.test(w)?i:"")+(f&&f.suffix!==void 0?f.suffix:""),A=$C[w],M=/[defgprs%]/.test(w);x=x===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function H(F){var X=T,P=k,Y,C,_;if(w==="c")P=A(F)+P,F="";else{F=+F;var z=F<0||1/F<0;if(F=isNaN(F)?s:A(Math.abs(F),x),S&&(F=j6(F)),z&&+F==0&&g!=="+"&&(z=!1),X=(z?g==="("?g:l:g==="-"||g==="("?"":g)+X,P=(w==="s"&&!isNaN(F)&&rv!==void 0?B6[8+rv/3]:"")+P+(z&&g==="("?")":""),M){for(Y=-1,C=F.length;++Y_||_>57){P=(_===46?o+F.slice(Y+1):F.slice(Y))+P,F=F.slice(0,Y);break}}}b&&!v&&(F=t(F,1/0));var D=X.length+F.length+P.length,E=D>1)+X+F+P+E.slice(D);break;default:F=E+X+F+P;break}return a(F)}return H.toString=function(){return d+""},H}function c(d,f){var p=Math.max(-8,Math.min(8,Math.floor(ri(f)/3)))*3,m=Math.pow(10,-p),g=u((d=ni(d),d.type="f",d),{suffix:B6[8+p/3]});return function(h){return g(m*h)}}return{format:u,formatPrefix:c}}var Vx,af,Kx;UC({thousands:",",grouping:[3],currency:["$",""]});function UC(e){return Vx=$6(e),af=Vx.format,Kx=Vx.formatPrefix,Vx}function WC(e){return Math.max(0,-ri(Math.abs(e)))}function HC(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(ri(t)/3)))*3-ri(Math.abs(e)))}function VC(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,ri(t)-ri(e))+1}function nv(e,t,r,n){var o=tf(e,t,r),a;switch(n=ni(n??",f"),n.type){case"s":{var i=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(a=HC(o,i))&&(n.precision=a),Kx(n,i)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=VC(o,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=WC(o))&&(n.precision=a-(n.type==="%")*2);break}}return af(n)}function Vn(e){var t=e.domain;return e.ticks=function(r){var n=t();return Tu(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var o=t();return nv(o[0],o[o.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),o=0,a=n.length-1,i=n[o],l=n[a],s,u,c=10;for(l0;){if(u=Xm(i,l,r),u===s)return n[o]=i,n[a]=l,t(n);if(u>0)i=Math.floor(i/u)*u,l=Math.ceil(l/u)*u;else if(u<0)i=Math.ceil(i*u)/u,l=Math.floor(l*u)/u;else break;s=u}return e},e}function qx(){var e=ju();return e.copy=function(){return ti(e,qx())},yr.apply(e,arguments),Vn(e)}function Gx(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,is),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return Gx(e).unknown(t)},e=arguments.length?Array.from(e,is):[0,1],Vn(r)}function ov(e,t){e=e.slice();var r=0,n=e.length-1,o=e[r],a=e[n],i;return aMath.pow(e,t)}function VZ(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function W6(e){return(t,r)=>-e(-t,r)}function av(e){let t=e(F6,U6),r=t.domain,n=10,o,a;function i(){return o=VZ(n),a=HZ(n),r()[0]<0?(o=W6(o),a=W6(a),e(FZ,UZ)):e(F6,U6),t}return t.base=function(l){return arguments.length?(n=+l,i()):n},t.domain=function(l){return arguments.length?(r(l),i()):r()},t.ticks=l=>{let s=r(),u=s[0],c=s[s.length-1],d=c0){for(;f<=p;++f)for(m=1;mc)break;v.push(g)}}else for(;f<=p;++f)for(m=n-1;m>=1;--m)if(g=f>0?m/a(-f):m*a(f),!(gc)break;v.push(g)}v.length*2{if(l==null&&(l=10),s==null&&(s=n===10?"s":","),typeof s!="function"&&(!(n%1)&&(s=ni(s)).precision==null&&(s.trim=!0),s=af(s)),l===1/0)return s;let u=Math.max(1,n*l/t.ticks().length);return c=>{let d=c/a(Math.round(o(c)));return d*nr(ov(r(),{floor:l=>a(Math.floor(o(l))),ceil:l=>a(Math.ceil(o(l)))})),t}function Yx(){let e=av(Iu()).domain([1,10]);return e.copy=()=>ti(e,Yx()).base(e.base()),yr.apply(e,arguments),e}function H6(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function V6(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function iv(e){var t=1,r=e(H6(t),V6(t));return r.constant=function(n){return arguments.length?e(H6(t=+n),V6(t)):t},Vn(r)}function Xx(){var e=iv(Iu());return e.copy=function(){return ti(e,Xx()).constant(e.constant())},yr.apply(e,arguments)}function K6(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function KZ(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function qZ(e){return e<0?-e*e:e*e}function lv(e){var t=e(tn,tn),r=1;function n(){return r===1?e(tn,tn):r===.5?e(KZ,qZ):e(K6(r),K6(1/r))}return t.exponent=function(o){return arguments.length?(r=+o,n()):r},Vn(t)}function sv(){var e=lv(Iu());return e.copy=function(){return ti(e,sv()).exponent(e.exponent())},yr.apply(e,arguments),e}function q6(){return sv.apply(null,arguments).exponent(.5)}function G6(e){return Math.sign(e)*e*e}function GZ(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function Zx(){var e=ju(),t=[0,1],r=!1,n;function o(a){var i=GZ(e(a));return isNaN(i)?n:r?Math.round(i):i}return o.invert=function(a){return e.invert(G6(a))},o.domain=function(a){return arguments.length?(e.domain(a),o):e.domain()},o.range=function(a){return arguments.length?(e.range((t=Array.from(a,is)).map(G6)),o):t.slice()},o.rangeRound=function(a){return o.range(a).round(!0)},o.round=function(a){return arguments.length?(r=!!a,o):r},o.clamp=function(a){return arguments.length?(e.clamp(a),o):e.clamp()},o.unknown=function(a){return arguments.length?(n=a,o):n},o.copy=function(){return Zx(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},yr.apply(o,arguments),Vn(o)}function Qx(){var e=[],t=[],r=[],n;function o(){var i=0,l=Math.max(1,t.length);for(r=new Array(l-1);++i0?r[l-1]:e[0],l=r?[n[r-1],t]:[n[u-1],n[u]]},i.unknown=function(s){return arguments.length&&(a=s),i},i.thresholds=function(){return n.slice()},i.copy=function(){return Jx().domain([e,t]).range(o).unknown(a)},yr.apply(Vn(i),arguments)}function Rx(){var e=[.5],t=[0,1],r,n=1;function o(a){return a!=null&&a<=a?t[Pa(e,a,0,n)]:r}return o.domain=function(a){return arguments.length?(e=Array.from(a),n=Math.min(e.length,t.length-1),o):e.slice()},o.range=function(a){return arguments.length?(t=Array.from(a),n=Math.min(e.length,t.length-1),o):t.slice()},o.invertExtent=function(a){var i=t.indexOf(a);return[e[i-1],e[i]]},o.unknown=function(a){return arguments.length?(r=a,o):r},o.copy=function(){return Rx().domain(e).range(t).unknown(r)},yr.apply(o,arguments)}var KC=new Date,qC=new Date;function Zt(e,t,r,n){function o(a){return e(a=arguments.length===0?new Date:new Date(+a)),a}return o.floor=a=>(e(a=new Date(+a)),a),o.ceil=a=>(e(a=new Date(a-1)),t(a,1),e(a),a),o.round=a=>{let i=o(a),l=o.ceil(a);return a-i(t(a=new Date(+a),i==null?1:Math.floor(i)),a),o.range=(a,i,l)=>{let s=[];if(a=o.ceil(a),l=l==null?1:Math.floor(l),!(a0))return s;let u;do s.push(u=new Date(+a)),t(a,l),e(a);while(uZt(i=>{if(i>=i)for(;e(i),!a(i);)i.setTime(i-1)},(i,l)=>{if(i>=i)if(l<0)for(;++l<=0;)for(;t(i,-1),!a(i););else for(;--l>=0;)for(;t(i,1),!a(i););}),r&&(o.count=(a,i)=>(KC.setTime(+a),qC.setTime(+i),e(KC),e(qC),Math.floor(r(KC,qC))),o.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?o.filter(n?i=>n(i)%a===0:i=>o.count(0,i)%a===0):o)),o}var uv=Zt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);uv.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Zt(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):uv);var uSe=uv.range;var ua=Zt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*1e3)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds()),Y6=ua.range;var lf=Zt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getMinutes()),YZ=lf.range,sf=Zt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes()),XZ=sf.range;var uf=Zt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3-e.getMinutes()*6e4)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getHours()),ZZ=uf.range,cf=Zt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours()),QZ=cf.range;var Hi=Zt(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/864e5,e=>e.getDate()-1),JZ=Hi.range,$u=Zt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1),RZ=$u.range,eb=Zt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5)),eQ=eb.range;function Fu(e){return Zt(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/6048e5)}var Vi=Fu(0),df=Fu(1),Z6=Fu(2),Q6=Fu(3),ls=Fu(4),J6=Fu(5),R6=Fu(6),ej=Vi.range,tQ=df.range,rQ=Z6.range,nQ=Q6.range,oQ=ls.range,aQ=J6.range,iQ=R6.range;function Uu(e){return Zt(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/6048e5)}var Ki=Uu(0),ff=Uu(1),tj=Uu(2),rj=Uu(3),ss=Uu(4),nj=Uu(5),oj=Uu(6),aj=Ki.range,lQ=ff.range,sQ=tj.range,uQ=rj.range,cQ=ss.range,dQ=nj.range,fQ=oj.range;var pf=Zt(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth()),pQ=pf.range,mf=Zt(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth()),mQ=mf.range;var Po=Zt(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());Po.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Zt(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});var vQ=Po.range,Do=Zt(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());Do.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Zt(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});var gQ=Do.range;function lj(e,t,r,n,o,a){let i=[[ua,1,1e3],[ua,5,5*1e3],[ua,15,15*1e3],[ua,30,30*1e3],[a,1,6e4],[a,5,5*6e4],[a,15,15*6e4],[a,30,30*6e4],[o,1,36e5],[o,3,3*36e5],[o,6,6*36e5],[o,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[t,1,2592e6],[t,3,3*2592e6],[e,1,31536e6]];function l(u,c,d){let f=ch).right(i,f);if(p===i.length)return e.every(tf(u/31536e6,c/31536e6,d));if(p===0)return uv.every(Math.max(tf(u,c,d),1));let[m,g]=i[f/i[p-1][2]53)return null;"w"in I||(I.w=1),"Z"in I?(O=JC(dv(I.y,0,1)),Z=O.getUTCDay(),O=Z>4||Z===0?ff.ceil(O):ff(O),O=$u.offset(O,(I.V-1)*7),I.y=O.getUTCFullYear(),I.m=O.getUTCMonth(),I.d=O.getUTCDate()+(I.w+6)%7):(O=QC(dv(I.y,0,1)),Z=O.getDay(),O=Z>4||Z===0?df.ceil(O):df(O),O=Hi.offset(O,(I.V-1)*7),I.y=O.getFullYear(),I.m=O.getMonth(),I.d=O.getDate()+(I.w+6)%7)}else("W"in I||"U"in I)&&("w"in I||(I.w="u"in I?I.u%7:"W"in I?1:0),Z="Z"in I?JC(dv(I.y,0,1)).getUTCDay():QC(dv(I.y,0,1)).getDay(),I.m=0,I.d="W"in I?(I.w+6)%7+I.W*7-(Z+5)%7:I.w+I.U*7-(Z+6)%7);return"Z"in I?(I.H+=I.Z/100|0,I.M+=I.Z%100,JC(I)):QC(I)}}function k(oe,Ee,V,I){for(var N=0,O=Ee.length,Z=V.length,B,we;N=Z)return-1;if(B=Ee.charCodeAt(N++),B===37){if(B=Ee.charAt(N++),we=S[B in sj?Ee.charAt(N++):B],!we||(I=we(oe,V,I))<0)return-1}else if(B!=V.charCodeAt(I++))return-1}return I}function A(oe,Ee,V){var I=u.exec(Ee.slice(V));return I?(oe.p=c.get(I[0].toLowerCase()),V+I[0].length):-1}function M(oe,Ee,V){var I=p.exec(Ee.slice(V));return I?(oe.w=m.get(I[0].toLowerCase()),V+I[0].length):-1}function H(oe,Ee,V){var I=d.exec(Ee.slice(V));return I?(oe.w=f.get(I[0].toLowerCase()),V+I[0].length):-1}function F(oe,Ee,V){var I=v.exec(Ee.slice(V));return I?(oe.m=y.get(I[0].toLowerCase()),V+I[0].length):-1}function X(oe,Ee,V){var I=g.exec(Ee.slice(V));return I?(oe.m=h.get(I[0].toLowerCase()),V+I[0].length):-1}function P(oe,Ee,V){return k(oe,t,Ee,V)}function Y(oe,Ee,V){return k(oe,r,Ee,V)}function C(oe,Ee,V){return k(oe,n,Ee,V)}function _(oe){return i[oe.getDay()]}function z(oe){return a[oe.getDay()]}function D(oe){return s[oe.getMonth()]}function E(oe){return l[oe.getMonth()]}function j(oe){return o[+(oe.getHours()>=12)]}function R(oe){return 1+~~(oe.getMonth()/3)}function U(oe){return i[oe.getUTCDay()]}function L(oe){return a[oe.getUTCDay()]}function K(oe){return s[oe.getUTCMonth()]}function ae(oe){return l[oe.getUTCMonth()]}function de(oe){return o[+(oe.getUTCHours()>=12)]}function ze(oe){return 1+~~(oe.getUTCMonth()/3)}return{format:function(oe){var Ee=w(oe+="",b);return Ee.toString=function(){return oe},Ee},parse:function(oe){var Ee=T(oe+="",!1);return Ee.toString=function(){return oe},Ee},utcFormat:function(oe){var Ee=w(oe+="",x);return Ee.toString=function(){return oe},Ee},utcParse:function(oe){var Ee=T(oe+="",!0);return Ee.toString=function(){return oe},Ee}}}var sj={"-":"",_:" ",0:"0"},mn=/^\s*\d+/,hQ=/^%/,xQ=/[\\^$*+?|[\]().{}]/g;function jt(e,t,r){var n=e<0?"-":"",o=(n?-e:e)+"",a=o.length;return n+(a[t.toLowerCase(),r]))}function wQ(e,t,r){var n=mn.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function SQ(e,t,r){var n=mn.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function AQ(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function kQ(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function CQ(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function uj(e,t,r){var n=mn.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function cj(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function NQ(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function _Q(e,t,r){var n=mn.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function EQ(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function dj(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function OQ(e,t,r){var n=mn.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function fj(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function TQ(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function MQ(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function PQ(e,t,r){var n=mn.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function DQ(e,t,r){var n=mn.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function IQ(e,t,r){var n=hQ.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function jQ(e,t,r){var n=mn.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function zQ(e,t,r){var n=mn.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function pj(e,t){return jt(e.getDate(),t,2)}function LQ(e,t){return jt(e.getHours(),t,2)}function BQ(e,t){return jt(e.getHours()%12||12,t,2)}function $Q(e,t){return jt(1+Hi.count(Po(e),e),t,3)}function hj(e,t){return jt(e.getMilliseconds(),t,3)}function FQ(e,t){return hj(e,t)+"000"}function UQ(e,t){return jt(e.getMonth()+1,t,2)}function WQ(e,t){return jt(e.getMinutes(),t,2)}function HQ(e,t){return jt(e.getSeconds(),t,2)}function VQ(e){var t=e.getDay();return t===0?7:t}function KQ(e,t){return jt(Vi.count(Po(e)-1,e),t,2)}function xj(e){var t=e.getDay();return t>=4||t===0?ls(e):ls.ceil(e)}function qQ(e,t){return e=xj(e),jt(ls.count(Po(e),e)+(Po(e).getDay()===4),t,2)}function GQ(e){return e.getDay()}function YQ(e,t){return jt(df.count(Po(e)-1,e),t,2)}function XQ(e,t){return jt(e.getFullYear()%100,t,2)}function ZQ(e,t){return e=xj(e),jt(e.getFullYear()%100,t,2)}function QQ(e,t){return jt(e.getFullYear()%1e4,t,4)}function JQ(e,t){var r=e.getDay();return e=r>=4||r===0?ls(e):ls.ceil(e),jt(e.getFullYear()%1e4,t,4)}function RQ(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+jt(t/60|0,"0",2)+jt(t%60,"0",2)}function mj(e,t){return jt(e.getUTCDate(),t,2)}function eJ(e,t){return jt(e.getUTCHours(),t,2)}function tJ(e,t){return jt(e.getUTCHours()%12||12,t,2)}function rJ(e,t){return jt(1+$u.count(Do(e),e),t,3)}function bj(e,t){return jt(e.getUTCMilliseconds(),t,3)}function nJ(e,t){return bj(e,t)+"000"}function oJ(e,t){return jt(e.getUTCMonth()+1,t,2)}function aJ(e,t){return jt(e.getUTCMinutes(),t,2)}function iJ(e,t){return jt(e.getUTCSeconds(),t,2)}function lJ(e){var t=e.getUTCDay();return t===0?7:t}function sJ(e,t){return jt(Ki.count(Do(e)-1,e),t,2)}function wj(e){var t=e.getUTCDay();return t>=4||t===0?ss(e):ss.ceil(e)}function uJ(e,t){return e=wj(e),jt(ss.count(Do(e),e)+(Do(e).getUTCDay()===4),t,2)}function cJ(e){return e.getUTCDay()}function dJ(e,t){return jt(ff.count(Do(e)-1,e),t,2)}function fJ(e,t){return jt(e.getUTCFullYear()%100,t,2)}function pJ(e,t){return e=wj(e),jt(e.getUTCFullYear()%100,t,2)}function mJ(e,t){return jt(e.getUTCFullYear()%1e4,t,4)}function vJ(e,t){var r=e.getUTCDay();return e=r>=4||r===0?ss(e):ss.ceil(e),jt(e.getUTCFullYear()%1e4,t,4)}function gJ(){return"+0000"}function vj(){return"%"}function gj(e){return+e}function yj(e){return Math.floor(+e/1e3)}var vf,tb,Sj,rb,Aj;eN({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function eN(e){return vf=RC(e),tb=vf.format,Sj=vf.parse,rb=vf.utcFormat,Aj=vf.utcParse,vf}function yJ(e){return new Date(e)}function hJ(e){return e instanceof Date?+e:+new Date(+e)}function nb(e,t,r,n,o,a,i,l,s,u){var c=ju(),d=c.invert,f=c.domain,p=u(".%L"),m=u(":%S"),g=u("%I:%M"),h=u("%I %p"),v=u("%a %d"),y=u("%b %d"),b=u("%B"),x=u("%Y");function S(w){return(s(w)t(o/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(o,a)=>Dx(e,a/n))},r.copy=function(){return lb(t).domain(e)},sa.apply(r,arguments)}function sb(){var e=0,t=.5,r=1,n=1,o,a,i,l,s,u=tn,c,d=!1,f;function p(g){return isNaN(g=+g)?f:(g=.5+((g=+c(g))-a)*(n*g{if(e!=null){var n=e.scale,o=e.type;if(n==="auto")return o==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!t)?"point":o==="category"?"band":"linear";if(typeof n=="string")return wJ(n)?n:"point"}};function SJ(e,t){for(var r=0,n=e.length,o=e[0]t)?r=a+1:n=a}return r}function fb(e,t){if(e){var r=t??e.domain(),n=r.map(a=>{var i;return(i=e(a))!==null&&i!==void 0?i:0}),o=e.range();if(!(r.length===0||o.length<2))return a=>{var i,l,s=SJ(n,a);if(s<=0)return r[0];if(s>=r.length)return r[r.length-1];var u=(i=n[s-1])!==null&&i!==void 0?i:0,c=(l=n[s])!==null&&l!==void 0?l:0;return Math.abs(a-u)<=Math.abs(a-c)?r[s-1]:r[s]}}}function _j(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):fb(e,void 0)}function Ej(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function pb(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);re.cartesianAxis.xAxis[t],ai=(e,t)=>{var r=sN(e,t);return r??Fr},Ur={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:lN,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,niceTicks:"auto",width:gu},uN=(e,t)=>e.cartesianAxis.yAxis[t],ii=(e,t)=>{var r=uN(e,t);return r??Ur},TJ={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},cN=(e,t)=>{var r=e.cartesianAxis.zAxis[t];return r??TJ},hr=(e,t,r)=>{switch(t){case"xAxis":return ai(e,r);case"yAxis":return ii(e,r);case"zAxis":return cN(e,r);case"angleAxis":return Ax(e,r);case"radiusAxis":return kx(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},MJ=(e,t,r)=>{switch(t){case"xAxis":return ai(e,r);case"yAxis":return ii(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},Wu=(e,t,r)=>{switch(t){case"xAxis":return ai(e,r);case"yAxis":return ii(e,r);case"angleAxis":return Ax(e,r);case"radiusAxis":return kx(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},dN=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function yv(e,t){return r=>{switch(e){case"xAxis":return"xAxisId"in r&&r.xAxisId===t;case"yAxis":return"yAxisId"in r&&r.yAxisId===t;case"zAxis":return"zAxisId"in r&&r.zAxisId===t;case"angleAxis":return"angleAxisId"in r&&r.angleAxisId===t;case"radiusAxis":return"radiusAxisId"in r&&r.radiusAxisId===t;default:return!1}}}var us=e=>e.graphicalItems.cartesianItems,PJ=J([fr,Nu],yv),hv=(e,t,r)=>e.filter(r).filter(n=>t?.includeHidden===!0?!0:!n.hide),yf=J([us,hr,PJ],hv,{memoizeOptions:{resultEqualityCheck:Rd}}),Pj=J([yf],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(_u)),fN=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),DJ=J([yf],fN),xv=e=>e.map(t=>t.data).filter(Boolean).flat(1),IJ=J([yf],e=>e.some(t=>!t.data)),Dj=J([yf],xv,{memoizeOptions:{resultEqualityCheck:Rd}}),bv=(e,t)=>{var r=t.chartData,n=r===void 0?[]:r,o=t.dataStartIndex,a=t.dataEndIndex;return e.length>0?e:n.slice(o,a+1)},pN=J([Dj,Au],bv),mN=(e,t,r)=>t?.dataKey!=null?e.map(n=>({value:nt(n,t.dataKey)})):r.length>0?r.map(n=>n.dataKey).flatMap(n=>e.map(o=>({value:nt(o,n)}))):e.map(n=>({value:n})),vN=(e,t,r,n,o,a)=>{var i=n.chartData,l=i===void 0?[]:i,s=n.dataStartIndex,u=n.dataEndIndex,c=mN(e,t,r);if(o&&t?.dataKey!=null&&a.length>0){var d=l.slice(s,u+1),f=d.map(p=>({value:nt(p,t.dataKey)})).filter(p=>p.value!=null);return[...f,...c]}return c},wv=J([pN,hr,yf,Au,IJ,Dj],vN);function gf(e){if(Fn(e)||e instanceof Date){var t=Number(e);if(qe(t))return t}}function Tj(e){if(Array.isArray(e)){var t=[gf(e[0]),gf(e[1])];return To(t)?t:void 0}var r=gf(e);if(r!=null)return[r,r]}function Ia(e){return e.map(gf).filter(en)}function jJ(e,t){var r=gf(e),n=gf(t);return r==null&&n==null?0:r==null?-1:n==null?1:r-n}var zJ=J([wv],e=>e?.map(t=>t.value).sort(jJ));function Ij(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function LJ(e,t,r){if(!r)return[];if(!r.length)return[];var n;if(typeof t=="number"&&!cn(t))n=t;else if(Array.isArray(t)){var o=Ia(t);o.length>0&&(n=Math.max(...o))}return n==null?[]:Ia(r.flatMap(a=>{var i=nt(e,a.dataKey),l,s;if(Array.isArray(i)){var u=Mj(i,2);l=u[0],s=u[1]}else l=s=i;if(!(!qe(l)||!qe(s)))return[n-l,n+s]}))}var Wr=e=>{var t=$r(e),r=ns(e);return Wu(e,t,r)},Gi=J([Wr],e=>e?.dataKey),BJ=J([Pj,Au,Wr],_x),gN=(e,t,r,n)=>{var o={},a=t.reduce((i,l)=>{if(l.stackId==null)return i;var s=i[l.stackId];return s==null&&(s=[]),s.push(l),i[l.stackId]=s,i},o);return Object.fromEntries(Object.entries(a).map(i=>{var l=Mj(i,2),s=l[0],u=l[1],c=n?[...u].reverse():u,d=c.map(rs);return[s,{stackedData:GD(e,d,r),graphicalItems:c}]}))},hf=J([BJ,Pj,es,xx],gN),yN=(e,t,r,n)=>{var o=t.dataStartIndex,a=t.dataEndIndex;if(n==null&&r!=="zAxis")return XD(e,o,a)},$J=J([hr],e=>e.allowDataOverflow),mb=e=>{var t;if(e==null||!("domain"in e))return lN;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var r=Ia(e.ticks);return[Math.min(...r),Math.max(...r)]}if(e.type==="category")return e.ticks.map(String)}return(t=e?.domain)!==null&&t!==void 0?t:lN},vb=J([hr],mb),gb=J([vb,$J],mx),FJ=J([hf,io,fr,gb],yN,{memoizeOptions:{resultEqualityCheck:Eu}}),xf=e=>e.errorBars,UJ=(e,t,r)=>e.flatMap(n=>t[n.id]).filter(Boolean).filter(n=>Ij(r,n)),gv=function(){for(var t=arguments.length,r=new Array(t),n=0;n5&&arguments[5]!==void 0?arguments[5]:[],l,s;if(n.length>0&&n.forEach(u=>{var c,d=u.data!=null?[...u.data]:i,f=(c=o[u.id])===null||c===void 0?void 0:c.filter(p=>Ij(a,p));d.forEach(p=>{var m,g=nt(p,(m=r.dataKey)!==null&&m!==void 0?m:u.dataKey),h=LJ(p,g,f);if(h.length>=2){var v=Math.min(...h),y=Math.max(...h);(l==null||vs)&&(s=y)}var b=Tj(g);b!=null&&(l=l==null?b[0]:Math.min(l,b[0]),s=s==null?b[1]:Math.max(s,b[1]))})}),r?.dataKey!=null&&n.length===0&&t.forEach(u=>{var c=Tj(nt(u,r.dataKey));c!=null&&(l=l==null?c[0]:Math.min(l,c[0]),s=s==null?c[1]:Math.max(s,c[1]))}),qe(l)&&qe(s))return[l,s]},WJ=J([pN,hr,DJ,xf,fr,BI],Sv,{memoizeOptions:{resultEqualityCheck:Eu}});function HJ(e){var t=e.value;if(Fn(t)||t instanceof Date)return t}var VJ=(e,t,r)=>{var n=e.map(HJ).filter(o=>o!=null);return r&&(t.dataKey==null||t.allowDuplicatedCategory&&UA(n))?fx(0,e.length):t.allowDuplicatedCategory?n:Array.from(new Set(n))},hN=e=>e.referenceElements.dots,Hu=(e,t,r)=>e.filter(n=>n.ifOverflow==="extendDomain").filter(n=>t==="xAxis"?n.xAxisId===r:n.yAxisId===r),KJ=J([hN,fr,Nu],Hu),xN=e=>e.referenceElements.areas,qJ=J([xN,fr,Nu],Hu),bN=e=>e.referenceElements.lines,GJ=J([bN,fr,Nu],Hu),wN=(e,t)=>{if(e!=null){var r=Ia(e.map(n=>t==="xAxis"?n.x:n.y));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},YJ=J(KJ,fr,wN),SN=(e,t)=>{if(e!=null){var r=Ia(e.flatMap(n=>[t==="xAxis"?n.x1:n.y1,t==="xAxis"?n.x2:n.y2]));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},XJ=J([qJ,fr],SN);function ZJ(e){var t;if(e.x!=null)return Ia([e.x]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.x);return r==null||r.length===0?[]:Ia(r)}function QJ(e){var t;if(e.y!=null)return Ia([e.y]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.y);return r==null||r.length===0?[]:Ia(r)}var AN=(e,t)=>{if(e!=null){var r=e.flatMap(n=>t==="xAxis"?ZJ(n):QJ(n));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},JJ=J([GJ,fr],AN),RJ=J(YJ,JJ,XJ,(e,t,r)=>gv(e,r,t)),Av=(e,t,r,n,o,a,i,l,s)=>{if(r!=null)return r;var u=i==="vertical"&&l==="xAxis"||i==="horizontal"&&l==="yAxis",c=u?gv(n,a,o):gv(a,o),d=HI(t,c,e.allowDataOverflow);return d??(e.allowDataOverflow&&c==null&&s!=null?s:d)},eR=e=>{if(!(e==null||e.type!=="number"||!("ticks"in e)||e.ticks==null)){var t=Ia(e.ticks);if(t.length!==0)return[Math.min(...t),Math.max(...t)]}},tR=J([hr],eR,{memoizeOptions:{resultEqualityCheck:Eu}}),rR=J([hr,vb,gb,FJ,WJ,RJ,Qe,fr,tR],Av,{memoizeOptions:{resultEqualityCheck:Eu}}),nR=[0,1],kv=(e,t,r,n,o,a,i)=>{if(!((e==null||r==null||r.length===0)&&i===void 0)){var l=e.dataKey,s=e.type,u=Tn(t,a);if(u&&l==null){var c;return fx(0,(c=r?.length)!==null&&c!==void 0?c:0)}return s==="category"?VJ(n,e,u):o==="expand"&&!u?nR:i}},kN=J([hr,Qe,pN,wv,es,fr,rR],kv),Yi=J([hr,dN,Jd],db),Cv=(e,t,r)=>{var n=t.niceTicks;if(n!=="none"){var o=mb(t),a=Array.isArray(o)&&(o[0]==="auto"||o[1]==="auto");if((n==="snap125"||n==="adaptive")&&t!=null&&t.tickCount&&To(e)){if(a)return gx(e,t.tickCount,t.allowDecimals,n);if(t.type==="number")return yx(e,t.tickCount,t.allowDecimals,n)}if(n==="auto"&&r==="linear"&&t!=null&&t.tickCount){if(a&&To(e))return gx(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&To(e))return yx(e,t.tickCount,t.allowDecimals,"adaptive")}}},CN=J([kN,Wu,Yi],Cv),Nv=(e,t,r,n)=>{if(n!=="angleAxis"&&e?.type==="number"&&To(t)&&Array.isArray(r)&&r.length>0){var o,a,i=t[0],l=(o=r[0])!==null&&o!==void 0?o:0,s=t[1],u=(a=r[r.length-1])!==null&&a!==void 0?a:0;return[Math.min(i,l),Math.max(s,u)]}return t},oR=J([hr,kN,CN,fr],Nv),aR=J(wv,hr,(e,t)=>{if(!(!t||t.type!=="number")){var r=1/0,n=Array.from(Ia(e.map(d=>d.value))).sort((d,f)=>d-f),o=n[0],a=n[n.length-1];if(o==null||a==null)return 1/0;var i=a-o;if(i===0)return 1/0;for(var l=0;lo,(e,t,r,n,o)=>{if(!qe(e))return 0;var a=t==="vertical"?n.height:n.width;if(o==="gap")return e*a/2;if(o==="no-gap"){var i=Sr(r,e*a),l=e*a/2;return l-i-(l-i)/a*i}return 0}),iR=(e,t,r)=>{var n=ai(e,t);return n==null||typeof n.padding!="string"?0:jj(e,"xAxis",t,r,n.padding)},lR=(e,t,r)=>{var n=ii(e,t);return n==null||typeof n.padding!="string"?0:jj(e,"yAxis",t,r,n.padding)},sR=J(ai,iR,(e,t)=>{var r,n;if(e==null)return{left:0,right:0};var o=e.padding;return typeof o=="string"?{left:t,right:t}:{left:((r=o.left)!==null&&r!==void 0?r:0)+t,right:((n=o.right)!==null&&n!==void 0?n:0)+t}}),uR=J(ii,lR,(e,t)=>{var r,n;if(e==null)return{top:0,bottom:0};var o=e.padding;return typeof o=="string"?{top:t,bottom:t}:{top:((r=o.top)!==null&&r!==void 0?r:0)+t,bottom:((n=o.bottom)!==null&&n!==void 0?n:0)+t}}),NN=J([Ht,sR,yu,Hd,(e,t,r)=>r],(e,t,r,n,o)=>{var a=n.padding;return o?[a.left,r.width-a.right]:[e.left+t.left,e.left+e.width-t.right]}),_N=J([Ht,Qe,uR,yu,Hd,(e,t,r)=>r],(e,t,r,n,o,a)=>{var i=o.padding;return a?[n.height-i.bottom,i.top]:t==="horizontal"?[e.top+e.height-r.bottom,e.top+r.top]:[e.top+r.top,e.top+e.height-r.bottom]}),bf=(e,t,r,n)=>{var o;switch(t){case"xAxis":return NN(e,r,n);case"yAxis":return _N(e,r,n);case"zAxis":return(o=cN(e,r))===null||o===void 0?void 0:o.range;case"angleAxis":return CC(e);case"radiusAxis":return NC(e,r);default:return}},zj=J([hr,bf],ku),cR=J([Yi,oR],Ex),EN=J([hr,Yi,cR,zj],vv),ON=(e,t,r,n)=>{if(!(r==null||r.dataKey==null)){var o=r.type,a=r.scale,i=Tn(e,n);if(i&&(o==="number"||a!=="auto"))return t.map(l=>l.value)}},TN=J([Qe,wv,Wu,fr],ON),yb=J([EN],Gm),PAe=J([EN],_j),DAe=J([EN,zJ],fb),IAe=J([yf,xf,fr],UJ);function Lj(e,t){return e.idt.id?1:0}var hb=(e,t)=>t,xb=(e,t,r)=>r,dR=J(Fd,hb,xb,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(Lj)),fR=J(Ud,hb,xb,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(Lj)),Bj=(e,t)=>{var r=typeof t.height=="number"?t.height:zm;return{width:e.width,height:r}},pR=(e,t)=>{var r=typeof t.width=="number"?t.width:gu;return{width:r,height:e.height}},MN=J(Ht,ai,Bj),mR=(e,t,r)=>{switch(t){case"top":return e.top;case"bottom":return r-e.bottom;default:return 0}},vR=(e,t,r)=>{switch(t){case"left":return e.left;case"right":return r-e.right;default:return 0}},gR=J(pn,Ht,dR,hb,xb,(e,t,r,n,o)=>{var a={},i;return r.forEach(l=>{var s=Bj(t,l);i==null&&(i=mR(t,n,e));var u=n==="top"&&!o||n==="bottom"&&o;a[l.id]=i-Number(u)*s.height,i+=(u?-1:1)*s.height}),a}),yR=J(fn,Ht,fR,hb,xb,(e,t,r,n,o)=>{var a={},i;return r.forEach(l=>{var s=pR(t,l);i==null&&(i=vR(t,n,e));var u=n==="left"&&!o||n==="right"&&o;a[l.id]=i-Number(u)*s.width,i+=(u?-1:1)*s.width}),a}),hR=(e,t)=>{var r=ai(e,t);if(r!=null)return gR(e,r.orientation,r.mirror)},$j=J([Ht,ai,hR,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var o=r?.[n];return o==null?{x:e.left,y:0}:{x:e.left,y:o}}}),xR=(e,t)=>{var r=ii(e,t);if(r!=null)return yR(e,r.orientation,r.mirror)},Fj=J([Ht,ii,xR,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var o=r?.[n];return o==null?{x:0,y:e.top}:{x:o,y:e.top}}}),PN=J(Ht,ii,(e,t)=>{var r=typeof t.width=="number"?t.width:gu;return{width:r,height:e.height}}),DN=(e,t,r)=>{switch(t){case"xAxis":return MN(e,r).width;case"yAxis":return PN(e,r).height;default:return}},IN=(e,t,r,n)=>{if(r!=null){var o=r.allowDuplicatedCategory,a=r.type,i=r.dataKey,l=Tn(e,n),s=t.map(c=>c.value),u=s.filter(c=>c!=null);if(i&&l&&a==="category"&&o&&UA(u))return s}},jN=J([Qe,wv,hr,fr],IN),zN=J([Qe,MJ,Yi,yb,jN,TN,bf,CN,fr],(e,t,r,n,o,a,i,l,s)=>{if(t!=null){var u=Tn(e,s);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:s,categoricalDomain:a,duplicateDomain:o,isCategorical:u,niceTicks:l,range:i,realScaleType:r,scale:n}}}),bR=(e,t,r,n,o,a,i,l,s)=>{if(!(t==null||n==null)){var u=Tn(e,s),c=t.type,d=t.ticks,f=t.tickCount,p=r==="scaleBand"&&typeof n.bandwidth=="function"?n.bandwidth()/2:2,m=c==="category"&&n.bandwidth?n.bandwidth()/p:0;m=s==="angleAxis"&&a!=null&&a.length>=2?Xt(a[0]-a[1])*2*m:m;var g=d||o;return g?g.map((h,v)=>{var y=i?i.indexOf(h):h,b=n.map(y);return qe(b)?{index:v,coordinate:b+m,value:h,offset:m}:null}).filter(en):u&&l?l.map((h,v)=>{var y=n.map(h);return qe(y)?{coordinate:y+m,value:h,index:v,offset:m}:null}).filter(en):n.ticks?n.ticks(f).map((h,v)=>{var y=n.map(h);return qe(y)?{coordinate:y+m,value:h,index:v,offset:m}:null}).filter(en):n.domain().map((h,v)=>{var y=n.map(h);return qe(y)?{coordinate:y+m,value:i?i[h]:h,index:v,offset:m}:null}).filter(en)}},bb=J([Qe,Wu,Yi,yb,CN,bf,jN,TN,fr],bR),wR=(e,t,r,n,o,a,i)=>{if(!(t==null||r==null||n==null||n[0]===n[1])){var l=Tn(e,i),s=t.tickCount,u=0;return u=i==="angleAxis"&&n?.length>=2?Xt(n[0]-n[1])*2*u:u,l&&a?a.map((c,d)=>{var f=r.map(c);return qe(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(en):r.ticks?r.ticks(s).map((c,d)=>{var f=r.map(c);return qe(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(en):r.domain().map((c,d)=>{var f=r.map(c);return qe(f)?{coordinate:f+u,value:o?o[c]:c,index:d,offset:u}:null}).filter(en)}},Io=J([Qe,Wu,yb,bf,jN,TN,fr],wR),jo=J(hr,yb,(e,t)=>{if(!(e==null||t==null))return pb(pb({},e),{},{scale:t})}),SR=J([hr,Yi,kN,zj],vv),AR=J([SR],Gm),jAe=J((e,t,r)=>cN(e,r),AR,(e,t)=>{if(!(e==null||t==null))return pb(pb({},e),{},{scale:t})}),Uj=J([Qe,Fd,Ud],(e,t,r)=>{switch(e){case"horizontal":return t.some(n=>n.reversed)?"right-to-left":"left-to-right";case"vertical":return r.some(n=>n.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),kR=(e,t,r)=>{var n;return(n=e.renderedTicks[t])===null||n===void 0?void 0:n[r]},zAe=J([kR],e=>{if(!(!e||e.length===0))return t=>{var r,n=1/0,o=e[0];for(var a of e){var i=Math.abs(a.coordinate-t);ie.options.defaultTooltipEventType,BN=e=>e.options.validateTooltipEventTypes;function $N(e,t,r){if(e==null)return t;var n=e?"axis":"item";return r==null?t:r.includes(n)?n:t}function cs(e,t){var r=LN(e),n=BN(e);return $N(t,r,n)}function Wj(e){return Ae(t=>cs(t,e))}var wb=(e,t)=>{var r,n=Number(t);if(!(cn(n)||t==null))return n>=0?e==null||(r=e[n])===null||r===void 0?void 0:r.value:void 0};var Hj=e=>e.tooltip.settings;var Xi={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},CR={itemInteraction:{click:Xi,hover:Xi},axisInteraction:{click:Xi,hover:Xi},keyboardInteraction:Xi,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},Vj=Dt({name:"tooltip",initialState:CR,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(st(t.payload))},prepare:Ft()},replaceTooltipEntrySettings:{reducer(e,t){var r=t.payload,n=r.prev,o=r.next,a=Sn(e).tooltipItemPayloads.indexOf(st(n));a>-1&&(e.tooltipItemPayloads[a]=st(o))},prepare:Ft()},removeTooltipEntrySettings:{reducer(e,t){var r=Sn(e).tooltipItemPayloads.indexOf(st(t.payload));r>-1&&e.tooltipItemPayloads.splice(r,1)},prepare:Ft()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),ca=Vj.actions,Kj=ca.addTooltipEntrySettings,qj=ca.replaceTooltipEntrySettings,Gj=ca.removeTooltipEntrySettings,Yj=ca.setTooltipSettingsState,Sb=ca.setActiveMouseOverItemIndex,Xj=ca.mouseLeaveItem,Ab=ca.mouseLeaveChart,Zj=ca.setActiveClickItemIndex,kb=ca.setMouseOverAxisIndex,Qj=ca.setMouseClickAxisIndex,wf=ca.setSyncInteraction,_v=ca.setKeyboardInteraction;var Jj=Vj.reducer;function Rj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Cb(e){for(var t=1;t{if(t==null)return Xi;var o=OR(e,t,r);if(o==null)return Xi;if(o.active)return o;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var a=e.settings.active===!0;if(TR(o)){if(a)return Cb(Cb({},o),{},{active:!0})}else if(n!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:n,graphicalItemId:void 0};return Cb(Cb({},Xi),{},{coordinate:o.coordinate})};function MR(e){if(typeof e=="number")return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var r=Number(e);return Number.isFinite(r)?r:void 0}function PR(e,t){var r=MR(e),n=t[0],o=t[1];if(r===void 0)return!1;var a=Math.min(n,o),i=Math.max(n,o);return r>=a&&r<=i}function DR(e,t,r){if(r==null||t==null)return!0;var n=nt(e,t);return n==null||!To(r)?!0:PR(n,r)}var ds=(e,t,r,n)=>{var o=e?.index;if(o==null)return null;var a=Number(o);if(!qe(a))return o;var i=0,l=1/0;t.length>0&&(l=t.length-1);var s=Math.max(i,Math.min(a,l)),u=t[s];return u==null||DR(u,r,n)?String(s):null};var _b=(e,t,r,n,o,a,i)=>{if(a!=null){var l=i[0],s=l?.getPosition(a);if(s!=null)return s;var u=o?.[Number(a)];if(u)return r==="horizontal"?{x:u.coordinate,y:(n.top+t)/2}:{x:(n.left+e)/2,y:u.coordinate}}};var Eb=(e,t,r,n)=>{if(t==="axis")return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var o;if(r==="hover"?o=e.itemInteraction.hover.graphicalItemId:o=e.itemInteraction.click.graphicalItemId,e.syncInteraction.active&&o==null)return e.tooltipItemPayloads;if(o==null&&(n!=null||e.keyboardInteraction.active)){var a=e.tooltipItemPayloads[0];return a!=null?[a]:[]}return e.tooltipItemPayloads.filter(i=>{var l;return((l=i.settings)===null||l===void 0?void 0:l.graphicalItemId)===o})};var Ob=e=>e.options.tooltipPayloadSearcher;var Zi=e=>e.tooltip;function ez(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function tz(e){for(var t=1;te(t)}function rz(e){if(typeof e=="string")return e}function FR(e){if(!(e==null||typeof e!="object")){var t="name"in e?LR(e.name):void 0,r="unit"in e?BR(e.unit):void 0,n="dataKey"in e?$R(e.dataKey):void 0,o="payload"in e?e.payload:void 0,a="color"in e?rz(e.color):void 0,i="fill"in e?rz(e.fill):void 0;return{name:t,unit:r,dataKey:n,payload:o,color:a,fill:i}}}function UR(e,t){return e??t}var Tb=(e,t,r,n,o,a,i)=>{if(!(t==null||a==null)){var l=r.chartData,s=r.computedData,u=r.dataStartIndex,c=r.dataEndIndex,d=[];return e.reduce((f,p)=>{var m,g=p.dataDefinedOnItem,h=p.settings,v=UR(g,l),y=Array.isArray(v)?L0(v,u,c):v,b=(m=h?.dataKey)!==null&&m!==void 0?m:n,x=h?.nameKey,S;if(n&&Array.isArray(y)&&!Array.isArray(y[0])&&i==="axis"?(S=Ah(y,n,o),S==null&&(S=a(y,t,s,x))):S=a(y,t,s,x),Array.isArray(S))S.forEach(T=>{var k,A,M=FR(T),H=M?.name,F=M?.dataKey,X=M?.payload,P=tz(tz({},h),{},{name:H,unit:M?.unit,color:(k=M?.color)!==null&&k!==void 0?k:h?.color,fill:(A=M?.fill)!==null&&A!==void 0?A:h?.fill});f.push(eC({tooltipEntrySettings:P,dataKey:F,payload:X,value:nt(X,F),name:H==null?void 0:String(H)}))});else{var w;f.push(eC({tooltipEntrySettings:h,dataKey:b,payload:S,value:nt(S,b),name:(w=nt(S,x))!==null&&w!==void 0?w:h?.name}))}return f},d)}};var FN=J([Wr,dN,Jd],db),WR=J([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),HR=J([$r,ns],yv),fs=J([WR,Wr,HR],hv,{memoizeOptions:{resultEqualityCheck:Rd}}),VR=J([fs],e=>e.filter(_u)),nz=J([fs],xv,{memoizeOptions:{resultEqualityCheck:Rd}}),KR=J([fs],e=>e.some(t=>!t.data)),Qi=J([nz,io],bv),qR=J([VR,io,Wr],_x),UN=J([Qi,Wr,fs,io,KR,nz],vN),oz=J([Wr],mb),GR=J([Wr],e=>e.allowDataOverflow),az=J([oz,GR],mx),YR=J([fs],e=>e.filter(_u)),XR=J([qR,YR,es,xx],gN),ZR=J([XR,io,$r,az],yN),QR=J([fs],fN),JR=J([Qi,Wr,QR,xf,$r,FI],Sv,{memoizeOptions:{resultEqualityCheck:Eu}}),RR=J([hN,$r,ns],Hu),eee=J([RR,$r],wN),tee=J([xN,$r,ns],Hu),ree=J([tee,$r],SN),nee=J([bN,$r,ns],Hu),oee=J([nee,$r],AN),aee=J([eee,oee,ree],gv),iee=J([Wr,oz,az,ZR,JR,aee,Qe,$r],Av),ps=J([Wr,Qe,Qi,UN,es,$r,iee],kv),lee=J([ps,Wr,FN],Cv),see=J([Wr,ps,lee,$r],Nv),iz=e=>{var t=$r(e),r=ns(e),n=!1;return bf(e,t,r,n)},WN=J([Wr,iz],ku),uee=J([Wr,FN,see,WN],vv),HN=J([uee],Gm),cee=J([Qe,UN,Wr,$r],IN),dee=J([Qe,UN,Wr,$r],ON),fee=(e,t,r,n,o,a,i,l)=>{if(t){var s=t.type,u=Tn(e,l);if(n){var c=r==="scaleBand"&&n.bandwidth?n.bandwidth()/2:2,d=s==="category"&&n.bandwidth?n.bandwidth()/c:0;return d=l==="angleAxis"&&o!=null&&o?.length>=2?Xt(o[0]-o[1])*2*d:d,u&&i?i.map((f,p)=>{var m=n.map(f);return qe(m)?{coordinate:m+d,value:f,index:p,offset:d}:null}).filter(en):n.domain().map((f,p)=>{var m=n.map(f);return qe(m)?{coordinate:m+d,value:a?a[f]:f,index:p,offset:d}:null}).filter(en)}}},so=J([Qe,Wr,FN,HN,iz,cee,dee,$r],fee),VN=J([LN,BN,Hj],(e,t,r)=>$N(r.shared,e,t)),lz=e=>e.tooltip.settings.trigger,KN=e=>e.tooltip.settings.defaultIndex,Ev=J([Zi,VN,lz,KN],Nb),da=J([Ev,Qi,Gi,ps],ds),Mb=J([so,da],wb),Sf=J([Ev],e=>{if(e)return e.dataKey}),Pb=J([Ev],e=>{if(e)return e.graphicalItemId}),sz=J([Zi,VN,lz,KN],Eb),pee=J([fn,pn,Qe,Ht,so,KN,sz],_b),qN=J([Ev,pee],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),GN=J([Ev],e=>{var t;return(t=e?.active)!==null&&t!==void 0?t:!1}),mee=J([sz,da,io,Gi,Mb,Ob,VN],Tb),uz=J([mee],e=>{if(e!=null){var t=e.map(r=>r.payload).filter(r=>r!=null);return Array.from(new Set(t))}});function cz(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function dz(e){for(var t=1;tAe(Wr),fz=()=>{var e=hee(),t=Ae(so),r=Ae(HN);return!e||!r?aa(void 0,t):aa(dz(dz({},e),{},{scale:r}),t)};function pz(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Af(e){for(var t=1;t{var o=t.find(a=>a&&a.index===r);if(o){if(e==="horizontal")return{x:o.coordinate,y:n.relativeY};if(e==="vertical")return{x:n.relativeX,y:o.coordinate}}return{x:0,y:0}},vz=(e,t,r,n)=>{var o=t.find(u=>u&&u.index===r);if(o){if(e==="centric"){var a=o.coordinate,i=n.radius;return Af(Af(Af({},n),tr(n.cx,n.cy,i,a)),{},{angle:a,radius:i})}var l=o.coordinate,s=n.angle;return Af(Af(Af({},n),tr(n.cx,n.cy,l,s)),{},{angle:s,radius:l})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function gz(e,t){var r=e.relativeX,n=e.relativeY;return r>=t.left&&r<=t.left+t.width&&n>=t.top&&n<=t.top+t.height}var YN=(e,t,r,n,o)=>{var a,i=(a=t?.length)!==null&&a!==void 0?a:0;if(i<=1||e==null)return 0;if(n==="angleAxis"&&o!=null&&Math.abs(Math.abs(o[1]-o[0])-360)<=1e-6)for(var l=o[1]-o[0],s=(Y,C,_)=>[e,e+l,e-l].some(z=>(_?z>=Y:z>Y)&&z<=C),u=0;u0?(c=r[u-1])===null||c===void 0?void 0:c.coordinate:(d=r[i-1])===null||d===void 0?void 0:d.coordinate,h=(f=r[u])===null||f===void 0?void 0:f.coordinate,v=u>=i-1?(p=r[0])===null||p===void 0?void 0:p.coordinate:(m=r[u+1])===null||m===void 0?void 0:m.coordinate,y=void 0;if(!(g==null||h==null||v==null))if(Xt(h-g)!==Xt(v-h)){var b=[];if(Xt(v-h)===Xt(o[1]-o[0])){y=v;var x=h+o[1]-o[0];b[0]=Math.min(x,(x+g)/2),b[1]=Math.max(x,(x+g)/2)}else{y=g;var S=v+o[1]-o[0];b[0]=Math.min(h,(S+h)/2),b[1]=Math.max(h,(S+h)/2)}var w=[Math.min(h,(y+h)/2),Math.max(h,(y+h)/2)];if(s(w[0],w[1],!1)||s(b[0],b[1],!0)){var T;return(T=r[u])===null||T===void 0?void 0:T.index}}else{var k=Math.min(g,v),A=Math.max(g,v);if(s((k+h)/2,(A+h)/2,!1)){var M;return(M=r[u])===null||M===void 0?void 0:M.index}}}else if(t)for(var H=0;H(F.coordinate+P.coordinate)/2||H>0&&H(F.coordinate+P.coordinate)/2&&e<=(F.coordinate+X.coordinate)/2)return F.index}}return-1};var Db=()=>Ae(Jd),XN=(e,t)=>t,yz=(e,t,r)=>r,ZN=(e,t,r,n)=>n,hz=J(so,e=>$i(e,t=>t.coordinate)),QN=J([Zi,XN,yz,ZN],Nb),JN=J([QN,Qi,Gi,ps],ds),xz=(e,t,r)=>{if(t!=null){var n=Zi(e);return t==="axis"?r==="hover"?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:r==="hover"?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}},bz=J([Zi,XN,yz,ZN],Eb),Ov=J([fn,pn,Qe,Ht,so,ZN,bz],_b),wz=J([QN,Ov],(e,t)=>{var r;return(r=e.coordinate)!==null&&r!==void 0?r:t}),RN=J([so,JN],wb),Sz=J([bz,JN,io,Gi,RN,Ob,XN],Tb),Az=J([QN,JN],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),See=(e,t,r,n,o,a,i)=>{if(!(!e||!r||!n||!o)&&gz(e,i)){var l=ZD(e,t),s=YN(l,a,o,r,n),u=mz(t,o,s,e);return{activeIndex:String(s),activeCoordinate:u}}},Aee=(e,t,r,n,o,a,i)=>{if(!(!e||!n||!o||!a||!r)){var l=NI(e,r);if(l){var s=QD(l,t),u=YN(s,i,a,n,o),c=vz(t,a,u,l);return{activeIndex:String(u),activeCoordinate:c}}}},kz=(e,t,r,n,o,a,i,l)=>{if(!(!e||!t||!n||!o||!a))return t==="horizontal"||t==="vertical"?See(e,t,n,o,a,i,l):Aee(e,t,r,n,o,a,i)};var kf=te(re()),Iz=te(bp());var Cz=J(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,r)=>r,(e,t,r)=>{if(t!=null){var n=e[t];if(n!=null)return r?n.panoramaElement:n.element}}),Nz=J(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(n=>parseInt(n,10)).concat(Object.values(vt)),r=Array.from(new Set(t));return r.sort((n,o)=>n-o)},{memoizeOptions:{resultEqualityCheck:n6}});function _z(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Ez(e){for(var t=1;tEz(Ez({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),_ee)},Oee=new Set(Object.values(vt));function Tee(e){return Oee.has(e)}var Oz=Dt({name:"zIndex",initialState:Eee,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]?e.zIndexMap[r].consumers+=1:e.zIndexMap[r]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:Ft()},unregisterZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(e.zIndexMap[r].consumers-=1,e.zIndexMap[r].consumers<=0&&!Tee(r)&&delete e.zIndexMap[r])},prepare:Ft()},registerZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload,n=r.zIndex,o=r.element,a=r.isPanorama;e.zIndexMap[n]?a?e.zIndexMap[n].panoramaElement=st(o):e.zIndexMap[n].element=st(o):e.zIndexMap[n]={consumers:0,element:a?void 0:st(o),panoramaElement:a?st(o):void 0}},prepare:Ft()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(t.payload.isPanorama?e.zIndexMap[r].panoramaElement=void 0:e.zIndexMap[r].element=void 0)},prepare:Ft()}}}),Ib=Oz.actions,Tz=Ib.registerZIndexPortal,jb=Ib.unregisterZIndexPortal,Mz=Ib.registerZIndexPortalElement,Pz=Ib.unregisterZIndexPortalElement;var Dz=Oz.reducer;function rr(e){var t=e.zIndex,r=e.children,n=f8(),o=n&&t!==void 0&&t!==0,a=It(),i=(0,kf.useRef)(void 0),l=(0,kf.useRef)(new Set),s=Xe(),u=Ae(d=>Cz(d,t,a));if((0,kf.useLayoutEffect)(()=>{if(!o){var d=l.current;d.forEach(p=>{s(jb({zIndex:p}))}),d.clear(),i.current=void 0;return}if(l.current.has(t)||(s(Tz({zIndex:t})),l.current.add(t)),u){i.current=u;var f=l.current;f.forEach(p=>{p!==t&&(s(jb({zIndex:p})),f.delete(p))})}},[s,t,o,u]),(0,kf.useLayoutEffect)(()=>{var d=l.current;return()=>{d.forEach(f=>{s(jb({zIndex:f}))}),d.clear()}},[s]),!o)return r;var c=u??i.current;return c?(0,Iz.createPortal)(r,c):null}function e_(){return e_=Object.assign?Object.assign.bind():function(e){for(var t=1;t(0,Bb.useContext)(t_);var Mv=te(re());var Fz=te($z(),1);var Uz=Fz.default;var Nf=new Uz;var Fb="recharts.syncEvent.tooltip",n_="recharts.syncEvent.brush";var ms=(e,t)=>{if(t&&Array.isArray(e)){var r=Number.parseInt(t,10);if(!cn(r))return e[r]}},Bee={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},Wz=Dt({name:"options",initialState:Bee,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),Hz=Wz.reducer,Vz=Wz.actions.createEventEmitter;function Kz(e){return e.tooltip.syncInteraction}var $ee={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},qz=Dt({name:"chartData",initialState:$ee,reducers:{setChartData(e,t){if(e.chartData=st(t.payload),t.payload==null){e.dataStartIndex=0,e.dataEndIndex=0;return}t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var r=t.payload,n=r.startIndex,o=r.endIndex;n!=null&&(e.dataStartIndex=n),o!=null&&(e.dataEndIndex=o)}}}),o_=qz.actions,a_=o_.setChartData,Gz=o_.setDataStartEndIndexes,Fee=o_.setComputedData;var Yz=qz.reducer;var Uee=["x","y"];function Xz(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function _f(e){for(var t=1;ts.rootProps.className);(0,Mv.useEffect)(()=>{if(e==null)return Un;var s=(u,c,d)=>{if(t!==d&&e===u){if(c.payload.active===!1){r(wf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(n==="index"){var f;if(i&&c!==null&&c!==void 0&&(f=c.payload)!==null&&f!==void 0&&f.coordinate&&c.payload.sourceViewBox){var p=c.payload.coordinate,m=p.x,g=p.y,h=Kee(p,Uee),v=c.payload.sourceViewBox,y=v.x,b=v.y,x=v.width,S=v.height,w=_f(_f({},h),{},{x:i.x+(x?(m-y)/x:0)*i.width,y:i.y+(S?(g-b)/S:0)*i.height});r(_f(_f({},c),{},{payload:_f(_f({},c.payload),{},{coordinate:w})}))}else r(c);return}if(o!=null){var T;if(typeof n=="function"){var k={activeTooltipIndex:c.payload.index==null?void 0:Number(c.payload.index),isTooltipActive:c.payload.active,activeIndex:c.payload.index==null?void 0:Number(c.payload.index),activeLabel:c.payload.label,activeDataKey:c.payload.dataKey,activeCoordinate:c.payload.coordinate},A=n(o,k);T=o[A]}else n==="value"&&(T=o.find(_=>String(_.value)===c.payload.label));var M=c.payload.coordinate;if(M==null||i==null){r(wf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(T==null){r(wf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:void 0}));return}var H=M.x,F=M.y,X=Math.min(H,i.x+i.width),P=Math.min(F,i.y+i.height),Y={x:a==="horizontal"?T.coordinate:X,y:a==="horizontal"?P:T.coordinate},C=wf({active:c.payload.active,coordinate:Y,dataKey:c.payload.dataKey,index:String(T.index),label:c.payload.label,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:c.payload.graphicalItemId});r(C)}}};return Nf.on(Fb,s),()=>{Nf.off(Fb,s)}},[l,r,t,e,n,o,a,i])}function Yee(){var e=Ae(bx),t=Ae(wx),r=Xe();(0,Mv.useEffect)(()=>{if(e==null)return Un;var n=(o,a,i)=>{t!==i&&e===o&&r(Gz(a))};return Nf.on(n_,n),()=>{Nf.off(n_,n)}},[r,t,e])}function Zz(){var e=Xe();(0,Mv.useEffect)(()=>{e(Vz())},[e]),Gee(),Yee()}function Qz(e,t,r,n,o,a){var i=Ae(m=>xz(m,e,t)),l=Ae(Pb),s=Ae(wx),u=Ae(bx),c=Ae(AC),d=Ae(Kz),f=d?.sourceViewBox!=null,p=xu();(0,Mv.useEffect)(()=>{if(!f&&u!=null&&s!=null){var m=wf({active:a,coordinate:r,dataKey:i,index:o,label:typeof n=="number"?String(n):n,sourceViewBox:p,graphicalItemId:l});Nf.emit(Fb,u,m,s)}},[f,r,i,l,o,n,s,u,c,a,p])}function Jz(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Rz(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{T(Yj({shared:y,trigger:b,axisId:w,active:o,defaultIndex:k}))},[T,y,b,w,o,k]);var A=xu(),M=Q0(),H=Wj(y),F=(t=Ae(V=>Az(V,H,b,k)))!==null&&t!==void 0?t:{},X=F.activeIndex,P=F.isActive,Y=Ae(V=>Sz(V,H,b,k)),C=Ae(V=>RN(V,H,b,k)),_=Ae(V=>wz(V,H,b,k)),z=Y,D=Lz(),E=(r=o??P)!==null&&r!==void 0?r:!1,j=c0([z,E]),R=Jee(j,2),U=R[0],L=R[1],K=H==="axis"?C:void 0;Qz(H,b,_,K,X,E);var ae=S??D;if(ae==null||A==null||H==null)return null;var de=z??tL;E||(de=tL),u&&de.length&&(de=o0(de.filter(V=>V.value!=null&&(V.hide!==!0||n.includeHidden)),f,nte));var ze=de.length>0,oe=Rz(Rz({},n),{},{payload:de,label:K,active:E,activeIndex:X,coordinate:_,accessibilityLayer:M}),Ee=fa.createElement(L8,{allowEscapeViewBox:a,animationDuration:i,animationEasing:l,isAnimationActive:c,active:E,coordinate:_,hasPayload:ze,offset:d,position:p,reverseDirection:m,useTranslate3d:g,viewBox:A,wrapperStyle:h,lastBoundingBox:U,innerRef:L,hasPortalFromProps:!!S},ote(s,oe));return fa.createElement(fa.Fragment,null,(0,nL.createPortal)(Ee,ae),E&&fa.createElement(zz,{cursor:v,tooltipEventType:H,coordinate:_,payload:de,index:X}))}var Ji=e=>null;Ji.displayName="Cell";var l_=te(re()),Vb=te(re());function ite(e,t,r){return(t=lte(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function lte(e){var t=ste(e,"string");return typeof t=="symbol"?t:t+""}function ste(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Ub=class{constructor(t){ite(this,"cache",new Map),this.maxSize=t}get(t){var r=this.cache.get(t);return r!==void 0&&(this.cache.delete(t),this.cache.set(t,r)),r}set(t,r){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;n!=null&&this.cache.delete(n)}this.cache.set(t,r)}clear(){this.cache.clear()}size(){return this.cache.size}};function oL(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function ute(e){for(var t=1;t{try{var r=document.getElementById(iL);r||(r=document.createElement("span"),r.setAttribute("id",iL),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),Object.assign(r.style,mte,t),r.textContent="".concat(e);var n=r.getBoundingClientRect();return{width:n.width,height:n.height}}catch{return{width:0,height:0}}},Vu=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||ia.isSsr)return{width:0,height:0};if(!sL.enableCache)return lL(t,r);var n=vte(t,r),o=aL.get(n);if(o)return o;var a=lL(t,r);return aL.set(n,a),a};var pL;function Wb(e,t){return xte(e)||hte(e,t)||yte(e,t)||gte()}function gte(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yte(e,t){if(e){if(typeof e=="string")return uL(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?uL(e,t):void 0}}function uL(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=e.breakAll,n=e.style;try{var o=[];mt(t)||(r?o=t.toString().split(""):o=t.toString().split(bL));var a=o.map(l=>({word:l,width:Vu(l,n).width})),i=r?0:Vu("\xA0",n).width;return{wordsWithComputedWidth:a,spaceWidth:i}}catch{return null}};function Kb(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function SL(e){return mt(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var AL=(e,t,r,n)=>e.reduce((o,a)=>{var i=a.word,l=a.width,s=o[o.length-1];if(s&&l!=null&&(t==null||n||s.width+l+re.reduce((t,r)=>t.width>r.width?t:r),$te="\u2026",hL=(e,t,r,n,o,a,i,l)=>{var s=e.slice(0,t),u=wL({breakAll:r,style:n,children:s+$te});if(!u)return[!1,[]];var c=AL(u.wordsWithComputedWidth,a,i,l),d=c.length>o||kL(c).width>Number(a);return[d,c]},Fte=(e,t,r,n,o)=>{var a=e.maxLines,i=e.children,l=e.style,s=e.breakAll,u=Se(a),c=String(i),d=AL(t,n,r,o);if(!u||o)return d;var f=d.length>a||kL(d).width>Number(n);if(!f)return d;for(var p=0,m=c.length-1,g=0,h;p<=m&&g<=c.length-1;){var v=Math.floor((p+m)/2),y=v-1,b=hL(c,y,s,l,a,n,r,o),x=gL(b,2),S=x[0],w=x[1],T=hL(c,v,s,l,a,n,r,o),k=gL(T,1),A=k[0];if(!S&&!A&&(p=v+1),S&&A&&(m=v-1),!S&&A){h=w;break}g++}return h||d},xL=e=>{var t=mt(e)?[]:e.toString().split(bL);return[{words:t,width:void 0}]},Ute=e=>{var t=e.width,r=e.scaleToFit,n=e.children,o=e.style,a=e.breakAll,i=e.maxLines;if((t||r)&&!ia.isSsr){var l,s,u=wL({breakAll:a,children:n,style:o});if(u){var c=u.wordsWithComputedWidth,d=u.spaceWidth;l=c,s=d}else return xL(n);return Fte({breakAll:a,children:n,maxLines:i,style:o},l,s,t,!!r)}return xL(n)},CL="#808080",Wte={angle:0,breakAll:!1,capHeight:"0.71em",fill:CL,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},Ku=(0,Vb.forwardRef)((e,t)=>{var r=ft(e,Wte),n=r.x,o=r.y,a=r.lineHeight,i=r.capHeight,l=r.fill,s=r.scaleToFit,u=r.textAnchor,c=r.verticalAnchor,d=vL(r,Pte),f=(0,Vb.useMemo)(()=>Ute({breakAll:d.breakAll,children:d.children,maxLines:d.maxLines,scaleToFit:s,style:d.style,width:d.width}),[d.breakAll,d.children,d.maxLines,s,d.style,d.width]),p=d.dx,m=d.dy,g=d.angle,h=d.className,v=d.breakAll,y=vL(d,Dte);if(!Fn(n)||!Fn(o)||f.length===0)return null;var b=Number(n)+(Se(p)?p:0),x=Number(o)+(Se(m)?m:0);if(!qe(b)||!qe(x))return null;var S;switch(c){case"start":S=Hb("calc(".concat(i,")"));break;case"middle":S=Hb("calc(".concat((f.length-1)/2," * -").concat(a," + (").concat(i," / 2))"));break;default:S=Hb("calc(".concat(f.length-1," * -").concat(a,")"));break}var w=[],T=f[0];if(s&&T!=null){var k=T.width,A=d.width;w.push("scale(".concat(Se(A)&&Se(k)?A/k:1,")"))}return g&&w.push("rotate(".concat(g,", ").concat(b,", ").concat(x,")")),w.length&&(y.transform=w.join(" ")),l_.createElement("text",i_({},dr(y),{ref:t,x:b,y:x,className:He("recharts-text",h),textAnchor:u,fill:l.includes("url")?CL:l}),f.map((M,H)=>{var F=M.words.join(v?"":" ");return l_.createElement("tspan",{x:b,dy:H===0?S:a,key:"".concat(F,"-").concat(H)},F)}))});Ku.displayName="Text";var uo=te(re()),rn=te(re());var Hte=["labelRef"],Vte=["content"];function NL(e,t){if(e==null)return{};var r,n,o=Kte(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{var t=e.x,r=e.y,n=e.upperWidth,o=e.lowerWidth,a=e.width,i=e.height,l=e.children,s=(0,rn.useMemo)(()=>({x:t,y:r,upperWidth:n,lowerWidth:o,width:a,height:i}),[t,r,n,o,a,i]);return uo.createElement(EL.Provider,{value:s},l)},TL=()=>{var e=(0,rn.useContext)(EL),t=xu();return e||(t?bm(t):void 0)},ML=(0,rn.createContext)(null),PL=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,o=e.outerRadius,a=e.startAngle,i=e.endAngle,l=e.clockWise,s=e.children,u=(0,rn.useMemo)(()=>({cx:t,cy:r,innerRadius:n,outerRadius:o,startAngle:a,endAngle:i,clockWise:l}),[t,r,n,o,a,i,l]);return uo.createElement(ML.Provider,{value:u},s)},Xte=()=>{var e=(0,rn.useContext)(ML),t=Ae(Nx);return e||t},Zte=e=>{var t=e.value,r=e.formatter,n=mt(e.children)?t:e.children;return typeof r=="function"?r(n):n},Gu=e=>e!=null&&typeof e=="function",Qte=(e,t)=>{var r=Xt(t-e),n=Math.min(Math.abs(t-e),360);return r*n},Jte=(e,t,r,n,o)=>{var a=e.offset,i=e.className,l=o.cx,s=o.cy,u=o.innerRadius,c=o.outerRadius,d=o.startAngle,f=o.endAngle,p=o.clockWise,m=(u+c)/2,g=Qte(d,f),h=g>=0?1:-1,v,y;switch(t){case"insideStart":v=d+h*a,y=p;break;case"insideEnd":v=f-h*a,y=!p;break;case"end":v=f+h*a,y=p;break;default:throw new Error("Unsupported position ".concat(t))}y=g<=0?y:!y;var b=tr(l,s,m,v),x=tr(l,s,m,v+(y?1:-1)*359),S="M".concat(b.x,",").concat(b.y,` + A`,",",",0,0,",",",",","Z"])),H.x,H.y,a,a,+(c<0),M.x,M.y,n,n,+(X>180),+(c>0),w.x,w.y,a,a,+(c<0),T.x,T.y)}else x+=Rr(jI||(jI=Su(["L",",","Z"])),t,r);return x},RX={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},px=e=>{var t=ft(e,RX),r=t.cx,n=t.cy,o=t.innerRadius,a=t.outerRadius,i=t.cornerRadius,l=t.forceCornerRadius,s=t.cornerIsExternal,u=t.startAngle,c=t.endAngle,d=t.className;if(a0&&Math.abs(u-c)<360?g=JX({cx:r,cy:n,innerRadius:o,outerRadius:a,cornerRadius:Math.min(m,p/2),forceCornerRadius:l,cornerIsExternal:s,startAngle:u,endAngle:c}):g=LI({cx:r,cy:n,innerRadius:o,outerRadius:a,startAngle:u,endAngle:c}),zI.createElement("path",hC({},dr(t),{className:f,d:g}))};function BI(e,t,r){if(e==="horizontal")return[{x:t.x,y:r.top},{x:t.x,y:r.top+r.height}];if(e==="vertical")return[{x:r.left,y:t.y},{x:r.left+r.width,y:t.y}];if(jh(t)){if(e==="centric"){var n=t.cx,o=t.cy,a=t.innerRadius,i=t.outerRadius,l=t.angle,s=tr(n,o,a,l),u=tr(n,o,i,l);return[{x:s.x,y:s.y},{x:u.x,y:u.y}]}return dx(t)}}function $I(e){return d0(e)?NaN:Number(e)}function mx(e){return e?(e=$I(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function vx(e,t,r){r&&typeof r!="number"&&Mm(e,t,r)&&(t=r=void 0),e=mx(e),t===void 0?(t=e,e=0):t=mx(t),r=r===void 0?ee.chartData,Au=J([io],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),ku=(e,t,r,n)=>n?Au(e):io(e),gx=(e,t,r)=>r?Au(e):io(e),FI=J([ku],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),UI=J([Au],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),WI=J([io],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});function xC(e,t){return nZ(e)||rZ(e,t)||tZ(e,t)||eZ()}function eZ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function tZ(e,t){if(e){if(typeof e=="string")return HI(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?HI(e,t):void 0}}function HI(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=Ym(e,2),r=t[0],n=t[1],o=r,a=n;return r>n&&(o=n,a=r),[o,a]},kC=(e,t,r)=>{if(e.lte(0))return new Et.default(0);var n=SC(e.toNumber()),o=new Et.default(10).pow(n),a=e.div(o),i=n!==1?.05:.1,l=new Et.default(Math.ceil(a.div(i).toNumber())).add(r).mul(i),s=l.mul(o);return t?new Et.default(s.toNumber()):new Et.default(Math.ceil(s.toNumber()))},XI=(e,t,r)=>{var n;if(e.lte(0))return new Et.default(0);var o=[1,2,2.5,5],a=e.toNumber(),i=Math.floor(new Et.default(a).abs().log(10).toNumber()),l=new Et.default(10).pow(i),s=e.div(l).toNumber(),u=o.findIndex(p=>p>=s-1e-10);if(u===-1&&(l=l.mul(10),u=0),u+=r,u>=o.length){var c=Math.floor(u/o.length);u%=o.length,l=l.mul(new Et.default(10).pow(c))}var d=(n=o[u])!==null&&n!==void 0?n:1,f=new Et.default(d).mul(l);return t?f:new Et.default(Math.ceil(f.toNumber()))},sZ=(e,t,r)=>{var n=new Et.default(1),o=new Et.default(e);if(!o.isint()&&r){var a=Math.abs(e);a<1?(n=new Et.default(10).pow(SC(e)-1),o=new Et.default(Math.floor(o.div(n).toNumber())).mul(n)):a>1&&(o=new Et.default(Math.floor(e)))}else e===0?o=new Et.default(Math.floor((t-1)/2)):r||(o=new Et.default(Math.floor(e)));for(var i=Math.floor((t-1)/2),l=[],s=0;s4&&arguments[4]!==void 0?arguments[4]:0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:kC;if(!Number.isFinite((r-t)/(n-1)))return{step:new Et.default(0),tickMin:new Et.default(0),tickMax:new Et.default(0)};var l=i(new Et.default(r).sub(t).div(n-1),o,a),s;t<=0&&r>=0?s=new Et.default(0):(s=new Et.default(t).add(r).div(2),s=s.sub(new Et.default(s).mod(l)));var u=Math.ceil(s.sub(t).div(l).toNumber()),c=Math.ceil(new Et.default(r).sub(s).div(l).toNumber()),d=u+c+1;return d>n?ZI(t,r,n,o,a+1,i):(d0?c+(n-d):c,u=r>0?u:u+(n-d)),{step:l,tickMin:s.sub(new Et.default(u).mul(l)),tickMax:s.add(new Et.default(c).mul(l))})};var xx=function(t){var r=Ym(t,2),n=r[0],o=r[1],a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=Math.max(a,2),u=YI([n,o]),c=Ym(u,2),d=c[0],f=c[1];if(d===-1/0||f===1/0){var p=f===1/0?[d,...Array(a-1).fill(1/0)]:[...Array(a-1).fill(-1/0),f];return n>o?p.reverse():p}if(d===f)return sZ(d,a,i);var m=l==="snap125"?XI:kC,g=ZI(d,f,s,i,0,m),h=g.step,v=g.tickMin,y=g.tickMax,b=AC(v,y.add(new Et.default(.1).mul(h)),h);return n>o?b.reverse():b},bx=function(t,r){var n=Ym(t,2),o=n[0],a=n[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=YI([o,a]),u=Ym(s,2),c=u[0],d=u[1];if(c===-1/0||d===1/0)return[o,a];if(c===d)return[c];var f=l==="snap125"?XI:kC,p=Math.max(r,2),m=f(new Et.default(d).sub(c).div(p-1),i,0),g=[...AC(new Et.default(c),new Et.default(d),m),d];if(i===!1){g=g.map(v=>Math.round(v));var h=g.length-1;h>0&&g[h]===g[h-1]&&(g=g.slice(0,h))}return o>a?g.reverse():g};var CC=e=>e.rootProps.maxBarSize,QI=e=>e.rootProps.barGap,wx=e=>e.rootProps.barCategoryGap,JI=e=>e.rootProps.barSize,ts=e=>e.rootProps.stackOffset,Sx=e=>e.rootProps.reverseStackOrder,Rd=e=>e.options.chartName,Ax=e=>e.rootProps.syncId,NC=e=>e.rootProps.syncMethod,kx=e=>e.options.eventEmitter,RI=e=>e.rootProps.baseValue;var vt={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3};var rs={allowDecimals:!1,allowDuplicatedCategory:!0,allowDataOverflow:!1,angle:0,angleAxisId:0,axisLine:!0,axisLineType:"polygon",cx:0,cy:0,hide:!1,includeHidden:!1,label:!1,niceTicks:"auto",orientation:"outer",reversed:!1,scale:"auto",tick:!0,tickLine:!0,tickSize:8,type:"auto",zIndex:vt.axis};var Ma={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,angle:0,axisLine:!0,includeHidden:!1,hide:!1,niceTicks:"auto",label:!1,orientation:"right",radiusAxisId:0,reversed:!1,scale:"auto",stroke:"#ccc",tick:!0,tickCount:5,tickLine:!0,type:"auto",zIndex:vt.axis};var Cu=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function Nu(e,t,r){if(r!=="auto")return r;if(e!=null)return Tn(e,t)?"category":"number"}function e6(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Cx(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},Nx=J([fZ,X0],(e,t)=>{var r;if(e!=null)return e;var n=(r=Nu(t,"angleAxis",t6.type))!==null&&r!==void 0?r:"category";return Cx(Cx({},t6),{},{type:n})}),pZ=(e,t)=>e.polarAxis.radiusAxis[t],_x=J([pZ,X0],(e,t)=>{var r;if(e!=null)return e;var n=(r=Nu(t,"radiusAxis",r6.type))!==null&&r!==void 0?r:"category";return Cx(Cx({},r6),{},{type:n})}),Ex=e=>e.polarOptions,_C=J([fn,pn,Ht],cx),n6=J([Ex,_C],(e,t)=>{if(e!=null)return Sr(e.innerRadius,t,0)}),o6=J([Ex,_C],(e,t)=>{if(e!=null)return Sr(e.outerRadius,t,t*.8)}),mZ=e=>{if(e==null)return[0,0];var t=e.startAngle,r=e.endAngle;return[t,r]},EC=J([Ex],mZ),zxe=J([Nx,EC],Cu),OC=J([_C,n6,o6],(e,t,r)=>{if(!(e==null||t==null||r==null))return[t,r]}),Lxe=J([_x,OC],Cu),Ox=J([Qe,Ex,n6,o6,fn,pn],(e,t,r,n,o,a)=>{if(!(e!=="centric"&&e!=="radial"||t==null||r==null||n==null)){var i=t.cx,l=t.cy,s=t.startAngle,u=t.endAngle;return{cx:Sr(i,o,o/2),cy:Sr(l,a,a/2),innerRadius:r,outerRadius:n,startAngle:s,endAngle:u,clockWise:!1}}});var fr=(e,t)=>t;var _u=(e,t,r)=>r;function ns(e){return e?.id}function Tx(e,t,r){var n=t.chartData,o=n===void 0?[]:n,a=r.allowDuplicatedCategory,i=r.dataKey,l=new Map;return e.forEach(s=>{var u,c=(u=s.data)!==null&&u!==void 0?u:o;if(!(c==null||c.length===0)){var d=ns(s);c.forEach((f,p)=>{var m=i==null||a?p:String(nt(f,i,null)),g=nt(f,s.dataKey,0),h;l.has(m)?h=l.get(m):h={},Object.assign(h,{[d]:g}),l.set(m,h)})}}),Array.from(l.values())}function Eu(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var Ou=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function ef(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function a6(e,t){if(e.length===t.length){for(var r=0;r{var t=Qe(e);return t==="horizontal"?"xAxis":t==="vertical"?"yAxis":t==="centric"?"angleAxis":"radiusAxis"};var os=e=>e.tooltip.settings.axisId;function Xm(e){if(e!=null){var t=e.ticks,r=e.bandwidth,n=e.range(),o=[Math.min(...n),Math.max(...n)];return{domain:()=>e.domain(),range:(function(a){function i(){return a.apply(this,arguments)}return i.toString=function(){return a.toString()},i})(()=>o),rangeMin:()=>o[0],rangeMax:()=>o[1],isInRange(a){var i=o[0],l=o[1];return i<=l?a>=i&&a<=l:a>=l&&a<=i},bandwidth:r?()=>r.call(e):void 0,ticks:t?a=>t.call(e,a):void 0,map:(a,i)=>{var l=e(a);if(l!=null){if(e.bandwidth&&i!==null&&i!==void 0&&i.position){var s=e.bandwidth();switch(i.position){case"middle":l+=s/2;break;case"end":l+=s;break;default:break}}return l}}}}}var Mx=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!To(t)){for(var r,n,o=0;on)&&(n=a))}return r!==void 0&&n!==void 0?[r,n]:void 0}return t}default:return t}};var gv={};dU(gv,{scaleBand:()=>Rm,scaleDiverging:()=>fb,scaleDivergingLog:()=>sN,scaleDivergingPow:()=>pb,scaleDivergingSqrt:()=>_j,scaleDivergingSymlog:()=>uN,scaleIdentity:()=>Zx,scaleImplicit:()=>Bx,scaleLinear:()=>Xx,scaleLog:()=>Qx,scaleOrdinal:()=>nf,scalePoint:()=>f6,scalePow:()=>cv,scaleQuantile:()=>eb,scaleQuantize:()=>tb,scaleRadial:()=>Rx,scaleSequential:()=>sb,scaleSequentialLog:()=>iN,scaleSequentialPow:()=>ub,scaleSequentialQuantile:()=>cb,scaleSequentialSqrt:()=>Nj,scaleSequentialSymlog:()=>lN,scaleSqrt:()=>Y6,scaleSymlog:()=>Jx,scaleThreshold:()=>rb,scaleTime:()=>oN,scaleUtc:()=>aN,tickFormat:()=>av});function Hn(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function TC(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function Tu(e){let t,r,n;e.length!==2?(t=Hn,r=(l,s)=>Hn(e(l),s),n=(l,s)=>e(l)-s):(t=e===Hn||e===TC?e:vZ,r=e,n=e);function o(l,s,u=0,c=l.length){if(u>>1;r(l[d],s)<0?u=d+1:c=d}while(u>>1;r(l[d],s)<=0?u=d+1:c=d}while(uu&&n(l[d-1],s)>-n(l[d],s)?d-1:d}return{left:o,center:i,right:a}}function vZ(){return 0}function Zm(e){return e===null?NaN:+e}function*i6(e,t){if(t===void 0)for(let r of e)r!=null&&(r=+r)>=r&&(yield r);else{let r=-1;for(let n of e)(n=t(n,++r,e))!=null&&(n=+n)>=n&&(yield n)}}var l6=Tu(Hn),s6=l6.right,gZ=l6.left,yZ=Tu(Zm).center,Pa=s6;var tf=class extends Map{constructor(t,r=bZ){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(let[n,o]of t)this.set(n,o)}get(t){return super.get(u6(this,t))}has(t){return super.has(u6(this,t))}set(t,r){return super.set(hZ(this,t),r)}delete(t){return super.delete(xZ(this,t))}};function u6({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):r}function hZ({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function xZ({_intern:e,_key:t},r){let n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function bZ(e){return e!==null&&typeof e=="object"?e.valueOf():e}function c6(e=Hn){if(e===Hn)return MC;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{let n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function MC(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}var wZ=Math.sqrt(50),SZ=Math.sqrt(10),AZ=Math.sqrt(2);function Px(e,t,r){let n=(t-e)/Math.max(0,r),o=Math.floor(Math.log10(n)),a=n/Math.pow(10,o),i=a>=wZ?10:a>=SZ?5:a>=AZ?2:1,l,s,u;return o<0?(u=Math.pow(10,-o)/i,l=Math.round(e*u),s=Math.round(t*u),l/ut&&--s,u=-u):(u=Math.pow(10,o)*i,l=Math.round(e/u),s=Math.round(t/u),l*ut&&--s),s0))return[];if(e===t)return[e];let n=t=o))return[];let l=a-o+1,s=new Array(l);if(n)if(i<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let o of e)(o=t(o,++n,e))!=null&&(r=o)&&(r=o)}return r}function Ix(e,t){let r;if(t===void 0)for(let n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let o of e)(o=t(o,++n,e))!=null&&(r>o||r===void 0&&o>=o)&&(r=o)}return r}function jx(e,t,r=0,n=1/0,o){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(e.length-1,n)),!(r<=t&&t<=n))return e;for(o=o===void 0?MC:c6(o);n>r;){if(n-r>600){let s=n-r+1,u=t-r+1,c=Math.log(s),d=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*d*(s-d)/s)*(u-s/2<0?-1:1),p=Math.max(r,Math.floor(t-u*d/s+f)),m=Math.min(n,Math.floor(t+(s-u)*d/s+f));jx(e,t,p,m,o)}let a=e[t],i=r,l=n;for(Jm(e,r,t),o(e[n],a)>0&&Jm(e,r,n);i0;)--l}o(e[r],a)===0?Jm(e,r,l):(++l,Jm(e,l,n)),l<=t&&(r=l+1),t<=l&&(n=l-1)}return e}function Jm(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}function zx(e,t,r){if(e=Float64Array.from(i6(e,r)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return Ix(e);if(t>=1)return Dx(e);var n,o=(n-1)*t,a=Math.floor(o),i=Dx(jx(e,a).subarray(0,a+1)),l=Ix(e.subarray(a+1));return i+(l-i)*(o-a)}}function PC(e,t,r=Zm){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,o=(n-1)*t,a=Math.floor(o),i=+r(e[a],a,e),l=+r(e[a+1],a+1,e);return i+(l-i)*(o-a)}}function Lx(e,t,r){e=+e,t=+t,r=(o=arguments.length)<2?(t=e,e=0,1):o<3?1:+r;for(var n=-1,o=Math.max(0,Math.ceil((t-e)/r))|0,a=new Array(o);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?Fx(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?Fx(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=CZ.exec(e))?new lo(t[1],t[2],t[3],1):(t=NZ.exec(e))?new lo(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=_Z.exec(e))?Fx(t[1],t[2],t[3],t[4]):(t=EZ.exec(e))?Fx(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=OZ.exec(e))?x6(t[1],t[2]/100,t[3]/100,1):(t=TZ.exec(e))?x6(t[1],t[2]/100,t[3]/100,t[4]):p6.hasOwnProperty(e)?g6(p6[e]):e==="transparent"?new lo(NaN,NaN,NaN,0):null}function g6(e){return new lo(e>>16&255,e>>8&255,e&255,1)}function Fx(e,t,r,n){return n<=0&&(e=t=r=NaN),new lo(e,t,r,n)}function DZ(e){return e instanceof rv||(e=as(e)),e?(e=e.rgb(),new lo(e.r,e.g,e.b,e.opacity)):new lo}function af(e,t,r,n){return arguments.length===1?DZ(e):new lo(e,t,r,n??1)}function lo(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}$x(lo,af,DC(rv,{brighter(e){return e=e==null?Wx:Math.pow(Wx,e),new lo(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ev:Math.pow(ev,e),new lo(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new lo(Du(this.r),Du(this.g),Du(this.b),Hx(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:y6,formatHex:y6,formatHex8:IZ,formatRgb:h6,toString:h6}));function y6(){return`#${Pu(this.r)}${Pu(this.g)}${Pu(this.b)}`}function IZ(){return`#${Pu(this.r)}${Pu(this.g)}${Pu(this.b)}${Pu((isNaN(this.opacity)?1:this.opacity)*255)}`}function h6(){let e=Hx(this.opacity);return`${e===1?"rgb(":"rgba("}${Du(this.r)}, ${Du(this.g)}, ${Du(this.b)}${e===1?")":`, ${e})`}`}function Hx(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Du(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Pu(e){return e=Du(e),(e<16?"0":"")+e.toString(16)}function x6(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Da(e,t,r,n)}function w6(e){if(e instanceof Da)return new Da(e.h,e.s,e.l,e.opacity);if(e instanceof rv||(e=as(e)),!e)return new Da;if(e instanceof Da)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,o=Math.min(t,r,n),a=Math.max(t,r,n),i=NaN,l=a-o,s=(a+o)/2;return l?(t===a?i=(r-n)/l+(r0&&s<1?0:i,new Da(i,l,s,e.opacity)}function S6(e,t,r,n){return arguments.length===1?w6(e):new Da(e,t,r,n??1)}function Da(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}$x(Da,S6,DC(rv,{brighter(e){return e=e==null?Wx:Math.pow(Wx,e),new Da(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ev:Math.pow(ev,e),new Da(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,o=2*r-n;return new lo(IC(e>=240?e-240:e+120,o,n),IC(e,o,n),IC(e<120?e+240:e-120,o,n),this.opacity)},clamp(){return new Da(b6(this.h),Ux(this.s),Ux(this.l),Hx(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=Hx(this.opacity);return`${e===1?"hsl(":"hsla("}${b6(this.h)}, ${Ux(this.s)*100}%, ${Ux(this.l)*100}%${e===1?")":`, ${e})`}`}}));function b6(e){return e=(e||0)%360,e<0?e+360:e}function Ux(e){return Math.max(0,Math.min(1,e||0))}function IC(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}function jC(e,t,r,n,o){var a=e*e,i=a*e;return((1-3*e+3*a-i)*t+(4-6*a+3*i)*r+(1+3*e+3*a-3*i)*n+i*o)/6}function A6(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),o=e[n],a=e[n+1],i=n>0?e[n-1]:2*o-a,l=n()=>e;function jZ(e,t){return function(r){return e+r*t}}function zZ(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function C6(e){return(e=+e)==1?Vx:function(t,r){return r-t?zZ(t,r,e):nv(isNaN(t)?r:t)}}function Vx(e,t){var r=t-e;return r?jZ(e,r):nv(isNaN(e)?t:e)}var zC=(function e(t){var r=C6(t);function n(o,a){var i=r((o=af(o)).r,(a=af(a)).r),l=r(o.g,a.g),s=r(o.b,a.b),u=Vx(o.opacity,a.opacity);return function(c){return o.r=i(c),o.g=l(c),o.b=s(c),o.opacity=u(c),o+""}}return n.gamma=e,n})(1);function N6(e){return function(t){var r=t.length,n=new Array(r),o=new Array(r),a=new Array(r),i,l;for(i=0;ir&&(a=t.slice(r,a),l[i]?l[i]+=a:l[++i]=a),(n=n[0])===(o=o[0])?l[i]?l[i]+=o:l[++i]=o:(l[++i]=null,s.push({i,x:is(n,o)})),r=LC.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function FZ(e,t,r){var n=e[0],o=e[1],a=t[0],i=t[1];return o2?UZ:FZ,s=u=null,d}function d(f){return f==null||isNaN(f=+f)?a:(s||(s=l(e.map(n),t,r)))(n(i(f)))}return d.invert=function(f){return i(o((u||(u=l(t,e.map(n),is)))(f)))},d.domain=function(f){return arguments.length?(e=Array.from(f,ls),c()):e.slice()},d.range=function(f){return arguments.length?(t=Array.from(f),c()):t.slice()},d.rangeRound=function(f){return t=Array.from(f),r=Iu,c()},d.clamp=function(f){return arguments.length?(i=f?!0:tn,c()):i!==tn},d.interpolate=function(f){return arguments.length?(r=f,c()):r},d.unknown=function(f){return arguments.length?(a=f,d):a},function(f,p){return n=f,o=p,c()}}function zu(){return ju()(tn,tn)}function I6(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Lu(e,t){if(!isFinite(e)||e===0)return null;var r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function ri(e){return e=Lu(Math.abs(e)),e?e[1]:NaN}function j6(e,t){return function(r,n){for(var o=r.length,a=[],i=0,l=e[0],s=0;o>0&&l>0&&(s+l+1>n&&(l=Math.max(1,n-s)),a.push(r.substring(o-=l,o+l)),!((s+=l+1)>n));)l=e[i=(i+1)%e.length];return a.reverse().join(t)}}function z6(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var WZ=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ni(e){if(!(t=WZ.exec(e)))throw new Error("invalid format: "+e);var t;return new qx({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}ni.prototype=qx.prototype;function qx(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}qx.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function L6(e){e:for(var t=e.length,r=1,n=-1,o;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(o+1):e}var ov;function B6(e,t){var r=Lu(e,t);if(!r)return ov=void 0,e.toPrecision(t);var n=r[0],o=r[1],a=o-(ov=Math.max(-8,Math.min(8,Math.floor(o/3)))*3)+1,i=n.length;return a===i?n:a>i?n+new Array(a-i+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+Lu(e,Math.max(0,t+a-1))[0]}function UC(e,t){var r=Lu(e,t);if(!r)return e+"";var n=r[0],o=r[1];return o<0?"0."+new Array(-o).join("0")+n:n.length>o+1?n.slice(0,o+1)+"."+n.slice(o+1):n+new Array(o-n.length+2).join("0")}var WC={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:I6,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>UC(e*100,t),r:UC,s:B6,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function HC(e){return e}var $6=Array.prototype.map,F6=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function U6(e){var t=e.grouping===void 0||e.thousands===void 0?HC:j6($6.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",o=e.decimal===void 0?".":e.decimal+"",a=e.numerals===void 0?HC:z6($6.call(e.numerals,String)),i=e.percent===void 0?"%":e.percent+"",l=e.minus===void 0?"\u2212":e.minus+"",s=e.nan===void 0?"NaN":e.nan+"";function u(d,f){d=ni(d);var p=d.fill,m=d.align,g=d.sign,h=d.symbol,v=d.zero,y=d.width,b=d.comma,x=d.precision,S=d.trim,w=d.type;w==="n"?(b=!0,w="g"):WC[w]||(x===void 0&&(x=12),S=!0,w="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var T=(f&&f.prefix!==void 0?f.prefix:"")+(h==="$"?r:h==="#"&&/[boxX]/.test(w)?"0"+w.toLowerCase():""),k=(h==="$"?n:/[%p]/.test(w)?i:"")+(f&&f.suffix!==void 0?f.suffix:""),A=WC[w],M=/[defgprs%]/.test(w);x=x===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function H(F){var X=T,P=k,Y,C,_;if(w==="c")P=A(F)+P,F="";else{F=+F;var z=F<0||1/F<0;if(F=isNaN(F)?s:A(Math.abs(F),x),S&&(F=L6(F)),z&&+F==0&&g!=="+"&&(z=!1),X=(z?g==="("?g:l:g==="-"||g==="("?"":g)+X,P=(w==="s"&&!isNaN(F)&&ov!==void 0?F6[8+ov/3]:"")+P+(z&&g==="("?")":""),M){for(Y=-1,C=F.length;++Y_||_>57){P=(_===46?o+F.slice(Y+1):F.slice(Y))+P,F=F.slice(0,Y);break}}}b&&!v&&(F=t(F,1/0));var D=X.length+F.length+P.length,E=D>1)+X+F+P+E.slice(D);break;default:F=E+X+F+P;break}return a(F)}return H.toString=function(){return d+""},H}function c(d,f){var p=Math.max(-8,Math.min(8,Math.floor(ri(f)/3)))*3,m=Math.pow(10,-p),g=u((d=ni(d),d.type="f",d),{suffix:F6[8+p/3]});return function(h){return g(m*h)}}return{format:u,formatPrefix:c}}var Gx,lf,Yx;VC({thousands:",",grouping:[3],currency:["$",""]});function VC(e){return Gx=U6(e),lf=Gx.format,Yx=Gx.formatPrefix,Gx}function KC(e){return Math.max(0,-ri(Math.abs(e)))}function qC(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(ri(t)/3)))*3-ri(Math.abs(e)))}function GC(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,ri(t)-ri(e))+1}function av(e,t,r,n){var o=rf(e,t,r),a;switch(n=ni(n??",f"),n.type){case"s":{var i=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(a=qC(o,i))&&(n.precision=a),Yx(n,i)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=GC(o,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=KC(o))&&(n.precision=a-(n.type==="%")*2);break}}return lf(n)}function Vn(e){var t=e.domain;return e.ticks=function(r){var n=t();return Mu(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var o=t();return av(o[0],o[o.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),o=0,a=n.length-1,i=n[o],l=n[a],s,u,c=10;for(l0;){if(u=Qm(i,l,r),u===s)return n[o]=i,n[a]=l,t(n);if(u>0)i=Math.floor(i/u)*u,l=Math.ceil(l/u)*u;else if(u<0)i=Math.ceil(i*u)/u,l=Math.floor(l*u)/u;else break;s=u}return e},e}function Xx(){var e=zu();return e.copy=function(){return ti(e,Xx())},yr.apply(e,arguments),Vn(e)}function Zx(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,ls),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return Zx(e).unknown(t)},e=arguments.length?Array.from(e,ls):[0,1],Vn(r)}function iv(e,t){e=e.slice();var r=0,n=e.length-1,o=e[r],a=e[n],i;return aMath.pow(e,t)}function GZ(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function V6(e){return(t,r)=>-e(-t,r)}function lv(e){let t=e(W6,H6),r=t.domain,n=10,o,a;function i(){return o=GZ(n),a=qZ(n),r()[0]<0?(o=V6(o),a=V6(a),e(HZ,VZ)):e(W6,H6),t}return t.base=function(l){return arguments.length?(n=+l,i()):n},t.domain=function(l){return arguments.length?(r(l),i()):r()},t.ticks=l=>{let s=r(),u=s[0],c=s[s.length-1],d=c0){for(;f<=p;++f)for(m=1;mc)break;v.push(g)}}else for(;f<=p;++f)for(m=n-1;m>=1;--m)if(g=f>0?m/a(-f):m*a(f),!(gc)break;v.push(g)}v.length*2{if(l==null&&(l=10),s==null&&(s=n===10?"s":","),typeof s!="function"&&(!(n%1)&&(s=ni(s)).precision==null&&(s.trim=!0),s=lf(s)),l===1/0)return s;let u=Math.max(1,n*l/t.ticks().length);return c=>{let d=c/a(Math.round(o(c)));return d*nr(iv(r(),{floor:l=>a(Math.floor(o(l))),ceil:l=>a(Math.ceil(o(l)))})),t}function Qx(){let e=lv(ju()).domain([1,10]);return e.copy=()=>ti(e,Qx()).base(e.base()),yr.apply(e,arguments),e}function K6(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function q6(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function sv(e){var t=1,r=e(K6(t),q6(t));return r.constant=function(n){return arguments.length?e(K6(t=+n),q6(t)):t},Vn(r)}function Jx(){var e=sv(ju());return e.copy=function(){return ti(e,Jx()).constant(e.constant())},yr.apply(e,arguments)}function G6(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function YZ(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function XZ(e){return e<0?-e*e:e*e}function uv(e){var t=e(tn,tn),r=1;function n(){return r===1?e(tn,tn):r===.5?e(YZ,XZ):e(G6(r),G6(1/r))}return t.exponent=function(o){return arguments.length?(r=+o,n()):r},Vn(t)}function cv(){var e=uv(ju());return e.copy=function(){return ti(e,cv()).exponent(e.exponent())},yr.apply(e,arguments),e}function Y6(){return cv.apply(null,arguments).exponent(.5)}function X6(e){return Math.sign(e)*e*e}function ZZ(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function Rx(){var e=zu(),t=[0,1],r=!1,n;function o(a){var i=ZZ(e(a));return isNaN(i)?n:r?Math.round(i):i}return o.invert=function(a){return e.invert(X6(a))},o.domain=function(a){return arguments.length?(e.domain(a),o):e.domain()},o.range=function(a){return arguments.length?(e.range((t=Array.from(a,ls)).map(X6)),o):t.slice()},o.rangeRound=function(a){return o.range(a).round(!0)},o.round=function(a){return arguments.length?(r=!!a,o):r},o.clamp=function(a){return arguments.length?(e.clamp(a),o):e.clamp()},o.unknown=function(a){return arguments.length?(n=a,o):n},o.copy=function(){return Rx(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},yr.apply(o,arguments),Vn(o)}function eb(){var e=[],t=[],r=[],n;function o(){var i=0,l=Math.max(1,t.length);for(r=new Array(l-1);++i0?r[l-1]:e[0],l=r?[n[r-1],t]:[n[u-1],n[u]]},i.unknown=function(s){return arguments.length&&(a=s),i},i.thresholds=function(){return n.slice()},i.copy=function(){return tb().domain([e,t]).range(o).unknown(a)},yr.apply(Vn(i),arguments)}function rb(){var e=[.5],t=[0,1],r,n=1;function o(a){return a!=null&&a<=a?t[Pa(e,a,0,n)]:r}return o.domain=function(a){return arguments.length?(e=Array.from(a),n=Math.min(e.length,t.length-1),o):e.slice()},o.range=function(a){return arguments.length?(t=Array.from(a),n=Math.min(e.length,t.length-1),o):t.slice()},o.invertExtent=function(a){var i=t.indexOf(a);return[e[i-1],e[i]]},o.unknown=function(a){return arguments.length?(r=a,o):r},o.copy=function(){return rb().domain(e).range(t).unknown(r)},yr.apply(o,arguments)}var YC=new Date,XC=new Date;function Zt(e,t,r,n){function o(a){return e(a=arguments.length===0?new Date:new Date(+a)),a}return o.floor=a=>(e(a=new Date(+a)),a),o.ceil=a=>(e(a=new Date(a-1)),t(a,1),e(a),a),o.round=a=>{let i=o(a),l=o.ceil(a);return a-i(t(a=new Date(+a),i==null?1:Math.floor(i)),a),o.range=(a,i,l)=>{let s=[];if(a=o.ceil(a),l=l==null?1:Math.floor(l),!(a0))return s;let u;do s.push(u=new Date(+a)),t(a,l),e(a);while(uZt(i=>{if(i>=i)for(;e(i),!a(i);)i.setTime(i-1)},(i,l)=>{if(i>=i)if(l<0)for(;++l<=0;)for(;t(i,-1),!a(i););else for(;--l>=0;)for(;t(i,1),!a(i););}),r&&(o.count=(a,i)=>(YC.setTime(+a),XC.setTime(+i),e(YC),e(XC),Math.floor(r(YC,XC))),o.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?o.filter(n?i=>n(i)%a===0:i=>o.count(0,i)%a===0):o)),o}var dv=Zt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);dv.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Zt(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):dv);var vSe=dv.range;var ua=Zt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*1e3)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds()),Z6=ua.range;var sf=Zt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getMinutes()),QZ=sf.range,uf=Zt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes()),JZ=uf.range;var cf=Zt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3-e.getMinutes()*6e4)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getHours()),RZ=cf.range,df=Zt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours()),eQ=df.range;var Hi=Zt(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/864e5,e=>e.getDate()-1),tQ=Hi.range,Fu=Zt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1),rQ=Fu.range,nb=Zt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5)),nQ=nb.range;function Uu(e){return Zt(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/6048e5)}var Vi=Uu(0),ff=Uu(1),J6=Uu(2),R6=Uu(3),ss=Uu(4),ej=Uu(5),tj=Uu(6),rj=Vi.range,oQ=ff.range,aQ=J6.range,iQ=R6.range,lQ=ss.range,sQ=ej.range,uQ=tj.range;function Wu(e){return Zt(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/6048e5)}var Ki=Wu(0),pf=Wu(1),nj=Wu(2),oj=Wu(3),us=Wu(4),aj=Wu(5),ij=Wu(6),lj=Ki.range,cQ=pf.range,dQ=nj.range,fQ=oj.range,pQ=us.range,mQ=aj.range,vQ=ij.range;var mf=Zt(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth()),gQ=mf.range,vf=Zt(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth()),yQ=vf.range;var Po=Zt(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());Po.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Zt(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});var hQ=Po.range,Do=Zt(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());Do.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Zt(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});var xQ=Do.range;function uj(e,t,r,n,o,a){let i=[[ua,1,1e3],[ua,5,5*1e3],[ua,15,15*1e3],[ua,30,30*1e3],[a,1,6e4],[a,5,5*6e4],[a,15,15*6e4],[a,30,30*6e4],[o,1,36e5],[o,3,3*36e5],[o,6,6*36e5],[o,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[t,1,2592e6],[t,3,3*2592e6],[e,1,31536e6]];function l(u,c,d){let f=ch).right(i,f);if(p===i.length)return e.every(rf(u/31536e6,c/31536e6,d));if(p===0)return dv.every(Math.max(rf(u,c,d),1));let[m,g]=i[f/i[p-1][2]53)return null;"w"in I||(I.w=1),"Z"in I?(O=tN(pv(I.y,0,1)),Z=O.getUTCDay(),O=Z>4||Z===0?pf.ceil(O):pf(O),O=Fu.offset(O,(I.V-1)*7),I.y=O.getUTCFullYear(),I.m=O.getUTCMonth(),I.d=O.getUTCDate()+(I.w+6)%7):(O=eN(pv(I.y,0,1)),Z=O.getDay(),O=Z>4||Z===0?ff.ceil(O):ff(O),O=Hi.offset(O,(I.V-1)*7),I.y=O.getFullYear(),I.m=O.getMonth(),I.d=O.getDate()+(I.w+6)%7)}else("W"in I||"U"in I)&&("w"in I||(I.w="u"in I?I.u%7:"W"in I?1:0),Z="Z"in I?tN(pv(I.y,0,1)).getUTCDay():eN(pv(I.y,0,1)).getDay(),I.m=0,I.d="W"in I?(I.w+6)%7+I.W*7-(Z+5)%7:I.w+I.U*7-(Z+6)%7);return"Z"in I?(I.H+=I.Z/100|0,I.M+=I.Z%100,tN(I)):eN(I)}}function k(oe,Ee,V,I){for(var N=0,O=Ee.length,Z=V.length,B,we;N=Z)return-1;if(B=Ee.charCodeAt(N++),B===37){if(B=Ee.charAt(N++),we=S[B in cj?Ee.charAt(N++):B],!we||(I=we(oe,V,I))<0)return-1}else if(B!=V.charCodeAt(I++))return-1}return I}function A(oe,Ee,V){var I=u.exec(Ee.slice(V));return I?(oe.p=c.get(I[0].toLowerCase()),V+I[0].length):-1}function M(oe,Ee,V){var I=p.exec(Ee.slice(V));return I?(oe.w=m.get(I[0].toLowerCase()),V+I[0].length):-1}function H(oe,Ee,V){var I=d.exec(Ee.slice(V));return I?(oe.w=f.get(I[0].toLowerCase()),V+I[0].length):-1}function F(oe,Ee,V){var I=v.exec(Ee.slice(V));return I?(oe.m=y.get(I[0].toLowerCase()),V+I[0].length):-1}function X(oe,Ee,V){var I=g.exec(Ee.slice(V));return I?(oe.m=h.get(I[0].toLowerCase()),V+I[0].length):-1}function P(oe,Ee,V){return k(oe,t,Ee,V)}function Y(oe,Ee,V){return k(oe,r,Ee,V)}function C(oe,Ee,V){return k(oe,n,Ee,V)}function _(oe){return i[oe.getDay()]}function z(oe){return a[oe.getDay()]}function D(oe){return s[oe.getMonth()]}function E(oe){return l[oe.getMonth()]}function j(oe){return o[+(oe.getHours()>=12)]}function R(oe){return 1+~~(oe.getMonth()/3)}function U(oe){return i[oe.getUTCDay()]}function L(oe){return a[oe.getUTCDay()]}function q(oe){return s[oe.getUTCMonth()]}function ae(oe){return l[oe.getUTCMonth()]}function ce(oe){return o[+(oe.getUTCHours()>=12)]}function ze(oe){return 1+~~(oe.getUTCMonth()/3)}return{format:function(oe){var Ee=w(oe+="",b);return Ee.toString=function(){return oe},Ee},parse:function(oe){var Ee=T(oe+="",!1);return Ee.toString=function(){return oe},Ee},utcFormat:function(oe){var Ee=w(oe+="",x);return Ee.toString=function(){return oe},Ee},utcParse:function(oe){var Ee=T(oe+="",!0);return Ee.toString=function(){return oe},Ee}}}var cj={"-":"",_:" ",0:"0"},mn=/^\s*\d+/,wQ=/^%/,SQ=/[\\^$*+?|[\]().{}]/g;function jt(e,t,r){var n=e<0?"-":"",o=(n?-e:e)+"",a=o.length;return n+(a[t.toLowerCase(),r]))}function kQ(e,t,r){var n=mn.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function CQ(e,t,r){var n=mn.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function NQ(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function _Q(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function EQ(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function dj(e,t,r){var n=mn.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function fj(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function OQ(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function TQ(e,t,r){var n=mn.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function MQ(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function pj(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function PQ(e,t,r){var n=mn.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function mj(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function DQ(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function IQ(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function jQ(e,t,r){var n=mn.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function zQ(e,t,r){var n=mn.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function LQ(e,t,r){var n=wQ.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function BQ(e,t,r){var n=mn.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function $Q(e,t,r){var n=mn.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function vj(e,t){return jt(e.getDate(),t,2)}function FQ(e,t){return jt(e.getHours(),t,2)}function UQ(e,t){return jt(e.getHours()%12||12,t,2)}function WQ(e,t){return jt(1+Hi.count(Po(e),e),t,3)}function bj(e,t){return jt(e.getMilliseconds(),t,3)}function HQ(e,t){return bj(e,t)+"000"}function VQ(e,t){return jt(e.getMonth()+1,t,2)}function KQ(e,t){return jt(e.getMinutes(),t,2)}function qQ(e,t){return jt(e.getSeconds(),t,2)}function GQ(e){var t=e.getDay();return t===0?7:t}function YQ(e,t){return jt(Vi.count(Po(e)-1,e),t,2)}function wj(e){var t=e.getDay();return t>=4||t===0?ss(e):ss.ceil(e)}function XQ(e,t){return e=wj(e),jt(ss.count(Po(e),e)+(Po(e).getDay()===4),t,2)}function ZQ(e){return e.getDay()}function QQ(e,t){return jt(ff.count(Po(e)-1,e),t,2)}function JQ(e,t){return jt(e.getFullYear()%100,t,2)}function RQ(e,t){return e=wj(e),jt(e.getFullYear()%100,t,2)}function eJ(e,t){return jt(e.getFullYear()%1e4,t,4)}function tJ(e,t){var r=e.getDay();return e=r>=4||r===0?ss(e):ss.ceil(e),jt(e.getFullYear()%1e4,t,4)}function rJ(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+jt(t/60|0,"0",2)+jt(t%60,"0",2)}function gj(e,t){return jt(e.getUTCDate(),t,2)}function nJ(e,t){return jt(e.getUTCHours(),t,2)}function oJ(e,t){return jt(e.getUTCHours()%12||12,t,2)}function aJ(e,t){return jt(1+Fu.count(Do(e),e),t,3)}function Sj(e,t){return jt(e.getUTCMilliseconds(),t,3)}function iJ(e,t){return Sj(e,t)+"000"}function lJ(e,t){return jt(e.getUTCMonth()+1,t,2)}function sJ(e,t){return jt(e.getUTCMinutes(),t,2)}function uJ(e,t){return jt(e.getUTCSeconds(),t,2)}function cJ(e){var t=e.getUTCDay();return t===0?7:t}function dJ(e,t){return jt(Ki.count(Do(e)-1,e),t,2)}function Aj(e){var t=e.getUTCDay();return t>=4||t===0?us(e):us.ceil(e)}function fJ(e,t){return e=Aj(e),jt(us.count(Do(e),e)+(Do(e).getUTCDay()===4),t,2)}function pJ(e){return e.getUTCDay()}function mJ(e,t){return jt(pf.count(Do(e)-1,e),t,2)}function vJ(e,t){return jt(e.getUTCFullYear()%100,t,2)}function gJ(e,t){return e=Aj(e),jt(e.getUTCFullYear()%100,t,2)}function yJ(e,t){return jt(e.getUTCFullYear()%1e4,t,4)}function hJ(e,t){var r=e.getUTCDay();return e=r>=4||r===0?us(e):us.ceil(e),jt(e.getUTCFullYear()%1e4,t,4)}function xJ(){return"+0000"}function yj(){return"%"}function hj(e){return+e}function xj(e){return Math.floor(+e/1e3)}var gf,ob,kj,ab,Cj;nN({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function nN(e){return gf=rN(e),ob=gf.format,kj=gf.parse,ab=gf.utcFormat,Cj=gf.utcParse,gf}function bJ(e){return new Date(e)}function wJ(e){return e instanceof Date?+e:+new Date(+e)}function ib(e,t,r,n,o,a,i,l,s,u){var c=zu(),d=c.invert,f=c.domain,p=u(".%L"),m=u(":%S"),g=u("%I:%M"),h=u("%I %p"),v=u("%a %d"),y=u("%b %d"),b=u("%B"),x=u("%Y");function S(w){return(s(w)t(o/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(o,a)=>zx(e,a/n))},r.copy=function(){return cb(t).domain(e)},sa.apply(r,arguments)}function db(){var e=0,t=.5,r=1,n=1,o,a,i,l,s,u=tn,c,d=!1,f;function p(g){return isNaN(g=+g)?f:(g=.5+((g=+c(g))-a)*(n*g{if(e!=null){var n=e.scale,o=e.type;if(n==="auto")return o==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!t)?"point":o==="category"?"band":"linear";if(typeof n=="string")return kJ(n)?n:"point"}};function CJ(e,t){for(var r=0,n=e.length,o=e[0]t)?r=a+1:n=a}return r}function vb(e,t){if(e){var r=t??e.domain(),n=r.map(a=>{var i;return(i=e(a))!==null&&i!==void 0?i:0}),o=e.range();if(!(r.length===0||o.length<2))return a=>{var i,l,s=CJ(n,a);if(s<=0)return r[0];if(s>=r.length)return r[r.length-1];var u=(i=n[s-1])!==null&&i!==void 0?i:0,c=(l=n[s])!==null&&l!==void 0?l:0;return Math.abs(a-u)<=Math.abs(a-c)?r[s-1]:r[s]}}}function Oj(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):vb(e,void 0)}function Tj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function gb(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);re.cartesianAxis.xAxis[t],ai=(e,t)=>{var r=dN(e,t);return r??Fr},Ur={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:cN,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,niceTicks:"auto",width:yu},fN=(e,t)=>e.cartesianAxis.yAxis[t],ii=(e,t)=>{var r=fN(e,t);return r??Ur},DJ={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},pN=(e,t)=>{var r=e.cartesianAxis.zAxis[t];return r??DJ},hr=(e,t,r)=>{switch(t){case"xAxis":return ai(e,r);case"yAxis":return ii(e,r);case"zAxis":return pN(e,r);case"angleAxis":return Nx(e,r);case"radiusAxis":return _x(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},IJ=(e,t,r)=>{switch(t){case"xAxis":return ai(e,r);case"yAxis":return ii(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},Hu=(e,t,r)=>{switch(t){case"xAxis":return ai(e,r);case"yAxis":return ii(e,r);case"angleAxis":return Nx(e,r);case"radiusAxis":return _x(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},mN=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function xv(e,t){return r=>{switch(e){case"xAxis":return"xAxisId"in r&&r.xAxisId===t;case"yAxis":return"yAxisId"in r&&r.yAxisId===t;case"zAxis":return"zAxisId"in r&&r.zAxisId===t;case"angleAxis":return"angleAxisId"in r&&r.angleAxisId===t;case"radiusAxis":return"radiusAxisId"in r&&r.radiusAxisId===t;default:return!1}}}var cs=e=>e.graphicalItems.cartesianItems,jJ=J([fr,_u],xv),bv=(e,t,r)=>e.filter(r).filter(n=>t?.includeHidden===!0?!0:!n.hide),hf=J([cs,hr,jJ],bv,{memoizeOptions:{resultEqualityCheck:ef}}),Ij=J([hf],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(Eu)),vN=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),zJ=J([hf],vN),wv=e=>e.map(t=>t.data).filter(Boolean).flat(1),LJ=J([hf],e=>e.some(t=>!t.data)),jj=J([hf],wv,{memoizeOptions:{resultEqualityCheck:ef}}),Sv=(e,t)=>{var r=t.chartData,n=r===void 0?[]:r,o=t.dataStartIndex,a=t.dataEndIndex;return e.length>0?e:n.slice(o,a+1)},gN=J([jj,ku],Sv),yN=(e,t,r)=>t?.dataKey!=null?e.map(n=>({value:nt(n,t.dataKey)})):r.length>0?r.map(n=>n.dataKey).flatMap(n=>e.map(o=>({value:nt(o,n)}))):e.map(n=>({value:n})),hN=(e,t,r,n,o,a)=>{var i=n.chartData,l=i===void 0?[]:i,s=n.dataStartIndex,u=n.dataEndIndex,c=yN(e,t,r);if(o&&t?.dataKey!=null&&a.length>0){var d=l.slice(s,u+1),f=d.map(p=>({value:nt(p,t.dataKey)})).filter(p=>p.value!=null);return[...f,...c]}return c},Av=J([gN,hr,hf,ku,LJ,jj],hN);function yf(e){if(Fn(e)||e instanceof Date){var t=Number(e);if(qe(t))return t}}function Pj(e){if(Array.isArray(e)){var t=[yf(e[0]),yf(e[1])];return To(t)?t:void 0}var r=yf(e);if(r!=null)return[r,r]}function Ia(e){return e.map(yf).filter(en)}function BJ(e,t){var r=yf(e),n=yf(t);return r==null&&n==null?0:r==null?-1:n==null?1:r-n}var $J=J([Av],e=>e?.map(t=>t.value).sort(BJ));function zj(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function FJ(e,t,r){if(!r)return[];if(!r.length)return[];var n;if(typeof t=="number"&&!cn(t))n=t;else if(Array.isArray(t)){var o=Ia(t);o.length>0&&(n=Math.max(...o))}return n==null?[]:Ia(r.flatMap(a=>{var i=nt(e,a.dataKey),l,s;if(Array.isArray(i)){var u=Dj(i,2);l=u[0],s=u[1]}else l=s=i;if(!(!qe(l)||!qe(s)))return[n-l,n+s]}))}var Wr=e=>{var t=$r(e),r=os(e);return Hu(e,t,r)},Gi=J([Wr],e=>e?.dataKey),UJ=J([Ij,ku,Wr],Tx),xN=(e,t,r,n)=>{var o={},a=t.reduce((i,l)=>{if(l.stackId==null)return i;var s=i[l.stackId];return s==null&&(s=[]),s.push(l),i[l.stackId]=s,i},o);return Object.fromEntries(Object.entries(a).map(i=>{var l=Dj(i,2),s=l[0],u=l[1],c=n?[...u].reverse():u,d=c.map(ns);return[s,{stackedData:XD(e,d,r),graphicalItems:c}]}))},xf=J([UJ,Ij,ts,Sx],xN),bN=(e,t,r,n)=>{var o=t.dataStartIndex,a=t.dataEndIndex;if(n==null&&r!=="zAxis")return QD(e,o,a)},WJ=J([hr],e=>e.allowDataOverflow),yb=e=>{var t;if(e==null||!("domain"in e))return cN;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var r=Ia(e.ticks);return[Math.min(...r),Math.max(...r)]}if(e.type==="category")return e.ticks.map(String)}return(t=e?.domain)!==null&&t!==void 0?t:cN},hb=J([hr],yb),xb=J([hb,WJ],yx),HJ=J([xf,io,fr,xb],bN,{memoizeOptions:{resultEqualityCheck:Ou}}),bf=e=>e.errorBars,VJ=(e,t,r)=>e.flatMap(n=>t[n.id]).filter(Boolean).filter(n=>zj(r,n)),hv=function(){for(var t=arguments.length,r=new Array(t),n=0;n5&&arguments[5]!==void 0?arguments[5]:[],l,s;if(n.length>0&&n.forEach(u=>{var c,d=u.data!=null?[...u.data]:i,f=(c=o[u.id])===null||c===void 0?void 0:c.filter(p=>zj(a,p));d.forEach(p=>{var m,g=nt(p,(m=r.dataKey)!==null&&m!==void 0?m:u.dataKey),h=FJ(p,g,f);if(h.length>=2){var v=Math.min(...h),y=Math.max(...h);(l==null||vs)&&(s=y)}var b=Pj(g);b!=null&&(l=l==null?b[0]:Math.min(l,b[0]),s=s==null?b[1]:Math.max(s,b[1]))})}),r?.dataKey!=null&&n.length===0&&t.forEach(u=>{var c=Pj(nt(u,r.dataKey));c!=null&&(l=l==null?c[0]:Math.min(l,c[0]),s=s==null?c[1]:Math.max(s,c[1]))}),qe(l)&&qe(s))return[l,s]},KJ=J([gN,hr,zJ,bf,fr,FI],kv,{memoizeOptions:{resultEqualityCheck:Ou}});function qJ(e){var t=e.value;if(Fn(t)||t instanceof Date)return t}var GJ=(e,t,r)=>{var n=e.map(qJ).filter(o=>o!=null);return r&&(t.dataKey==null||t.allowDuplicatedCategory&&VA(n))?vx(0,e.length):t.allowDuplicatedCategory?n:Array.from(new Set(n))},wN=e=>e.referenceElements.dots,Vu=(e,t,r)=>e.filter(n=>n.ifOverflow==="extendDomain").filter(n=>t==="xAxis"?n.xAxisId===r:n.yAxisId===r),YJ=J([wN,fr,_u],Vu),SN=e=>e.referenceElements.areas,XJ=J([SN,fr,_u],Vu),AN=e=>e.referenceElements.lines,ZJ=J([AN,fr,_u],Vu),kN=(e,t)=>{if(e!=null){var r=Ia(e.map(n=>t==="xAxis"?n.x:n.y));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},QJ=J(YJ,fr,kN),CN=(e,t)=>{if(e!=null){var r=Ia(e.flatMap(n=>[t==="xAxis"?n.x1:n.y1,t==="xAxis"?n.x2:n.y2]));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},JJ=J([XJ,fr],CN);function RJ(e){var t;if(e.x!=null)return Ia([e.x]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.x);return r==null||r.length===0?[]:Ia(r)}function eR(e){var t;if(e.y!=null)return Ia([e.y]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.y);return r==null||r.length===0?[]:Ia(r)}var NN=(e,t)=>{if(e!=null){var r=e.flatMap(n=>t==="xAxis"?RJ(n):eR(n));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},tR=J([ZJ,fr],NN),rR=J(QJ,tR,JJ,(e,t,r)=>hv(e,r,t)),Cv=(e,t,r,n,o,a,i,l,s)=>{if(r!=null)return r;var u=i==="vertical"&&l==="xAxis"||i==="horizontal"&&l==="yAxis",c=u?hv(n,a,o):hv(a,o),d=KI(t,c,e.allowDataOverflow);return d??(e.allowDataOverflow&&c==null&&s!=null?s:d)},nR=e=>{if(!(e==null||e.type!=="number"||!("ticks"in e)||e.ticks==null)){var t=Ia(e.ticks);if(t.length!==0)return[Math.min(...t),Math.max(...t)]}},oR=J([hr],nR,{memoizeOptions:{resultEqualityCheck:Ou}}),aR=J([hr,hb,xb,HJ,KJ,rR,Qe,fr,oR],Cv,{memoizeOptions:{resultEqualityCheck:Ou}}),iR=[0,1],Nv=(e,t,r,n,o,a,i)=>{if(!((e==null||r==null||r.length===0)&&i===void 0)){var l=e.dataKey,s=e.type,u=Tn(t,a);if(u&&l==null){var c;return vx(0,(c=r?.length)!==null&&c!==void 0?c:0)}return s==="category"?GJ(n,e,u):o==="expand"&&!u?iR:i}},_N=J([hr,Qe,gN,Av,ts,fr,aR],Nv),Yi=J([hr,mN,Rd],mb),_v=(e,t,r)=>{var n=t.niceTicks;if(n!=="none"){var o=yb(t),a=Array.isArray(o)&&(o[0]==="auto"||o[1]==="auto");if((n==="snap125"||n==="adaptive")&&t!=null&&t.tickCount&&To(e)){if(a)return xx(e,t.tickCount,t.allowDecimals,n);if(t.type==="number")return bx(e,t.tickCount,t.allowDecimals,n)}if(n==="auto"&&r==="linear"&&t!=null&&t.tickCount){if(a&&To(e))return xx(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&To(e))return bx(e,t.tickCount,t.allowDecimals,"adaptive")}}},EN=J([_N,Hu,Yi],_v),Ev=(e,t,r,n)=>{if(n!=="angleAxis"&&e?.type==="number"&&To(t)&&Array.isArray(r)&&r.length>0){var o,a,i=t[0],l=(o=r[0])!==null&&o!==void 0?o:0,s=t[1],u=(a=r[r.length-1])!==null&&a!==void 0?a:0;return[Math.min(i,l),Math.max(s,u)]}return t},lR=J([hr,_N,EN,fr],Ev),sR=J(Av,hr,(e,t)=>{if(!(!t||t.type!=="number")){var r=1/0,n=Array.from(Ia(e.map(d=>d.value))).sort((d,f)=>d-f),o=n[0],a=n[n.length-1];if(o==null||a==null)return 1/0;var i=a-o;if(i===0)return 1/0;for(var l=0;lo,(e,t,r,n,o)=>{if(!qe(e))return 0;var a=t==="vertical"?n.height:n.width;if(o==="gap")return e*a/2;if(o==="no-gap"){var i=Sr(r,e*a),l=e*a/2;return l-i-(l-i)/a*i}return 0}),uR=(e,t,r)=>{var n=ai(e,t);return n==null||typeof n.padding!="string"?0:Lj(e,"xAxis",t,r,n.padding)},cR=(e,t,r)=>{var n=ii(e,t);return n==null||typeof n.padding!="string"?0:Lj(e,"yAxis",t,r,n.padding)},dR=J(ai,uR,(e,t)=>{var r,n;if(e==null)return{left:0,right:0};var o=e.padding;return typeof o=="string"?{left:t,right:t}:{left:((r=o.left)!==null&&r!==void 0?r:0)+t,right:((n=o.right)!==null&&n!==void 0?n:0)+t}}),fR=J(ii,cR,(e,t)=>{var r,n;if(e==null)return{top:0,bottom:0};var o=e.padding;return typeof o=="string"?{top:t,bottom:t}:{top:((r=o.top)!==null&&r!==void 0?r:0)+t,bottom:((n=o.bottom)!==null&&n!==void 0?n:0)+t}}),ON=J([Ht,dR,hu,Vd,(e,t,r)=>r],(e,t,r,n,o)=>{var a=n.padding;return o?[a.left,r.width-a.right]:[e.left+t.left,e.left+e.width-t.right]}),TN=J([Ht,Qe,fR,hu,Vd,(e,t,r)=>r],(e,t,r,n,o,a)=>{var i=o.padding;return a?[n.height-i.bottom,i.top]:t==="horizontal"?[e.top+e.height-r.bottom,e.top+r.top]:[e.top+r.top,e.top+e.height-r.bottom]}),wf=(e,t,r,n)=>{var o;switch(t){case"xAxis":return ON(e,r,n);case"yAxis":return TN(e,r,n);case"zAxis":return(o=pN(e,r))===null||o===void 0?void 0:o.range;case"angleAxis":return EC(e);case"radiusAxis":return OC(e,r);default:return}},Bj=J([hr,wf],Cu),pR=J([Yi,lR],Mx),MN=J([hr,Yi,pR,Bj],yv),PN=(e,t,r,n)=>{if(!(r==null||r.dataKey==null)){var o=r.type,a=r.scale,i=Tn(e,n);if(i&&(o==="number"||a!=="auto"))return t.map(l=>l.value)}},DN=J([Qe,Av,Hu,fr],PN),bb=J([MN],Xm),BAe=J([MN],Oj),$Ae=J([MN,$J],vb),FAe=J([hf,bf,fr],VJ);function $j(e,t){return e.idt.id?1:0}var wb=(e,t)=>t,Sb=(e,t,r)=>r,mR=J(Ud,wb,Sb,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort($j)),vR=J(Wd,wb,Sb,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort($j)),Fj=(e,t)=>{var r=typeof t.height=="number"?t.height:Bm;return{width:e.width,height:r}},gR=(e,t)=>{var r=typeof t.width=="number"?t.width:yu;return{width:r,height:e.height}},IN=J(Ht,ai,Fj),yR=(e,t,r)=>{switch(t){case"top":return e.top;case"bottom":return r-e.bottom;default:return 0}},hR=(e,t,r)=>{switch(t){case"left":return e.left;case"right":return r-e.right;default:return 0}},xR=J(pn,Ht,mR,wb,Sb,(e,t,r,n,o)=>{var a={},i;return r.forEach(l=>{var s=Fj(t,l);i==null&&(i=yR(t,n,e));var u=n==="top"&&!o||n==="bottom"&&o;a[l.id]=i-Number(u)*s.height,i+=(u?-1:1)*s.height}),a}),bR=J(fn,Ht,vR,wb,Sb,(e,t,r,n,o)=>{var a={},i;return r.forEach(l=>{var s=gR(t,l);i==null&&(i=hR(t,n,e));var u=n==="left"&&!o||n==="right"&&o;a[l.id]=i-Number(u)*s.width,i+=(u?-1:1)*s.width}),a}),wR=(e,t)=>{var r=ai(e,t);if(r!=null)return xR(e,r.orientation,r.mirror)},Uj=J([Ht,ai,wR,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var o=r?.[n];return o==null?{x:e.left,y:0}:{x:e.left,y:o}}}),SR=(e,t)=>{var r=ii(e,t);if(r!=null)return bR(e,r.orientation,r.mirror)},Wj=J([Ht,ii,SR,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var o=r?.[n];return o==null?{x:0,y:e.top}:{x:o,y:e.top}}}),jN=J(Ht,ii,(e,t)=>{var r=typeof t.width=="number"?t.width:yu;return{width:r,height:e.height}}),zN=(e,t,r)=>{switch(t){case"xAxis":return IN(e,r).width;case"yAxis":return jN(e,r).height;default:return}},LN=(e,t,r,n)=>{if(r!=null){var o=r.allowDuplicatedCategory,a=r.type,i=r.dataKey,l=Tn(e,n),s=t.map(c=>c.value),u=s.filter(c=>c!=null);if(i&&l&&a==="category"&&o&&VA(u))return s}},BN=J([Qe,Av,hr,fr],LN),$N=J([Qe,IJ,Yi,bb,BN,DN,wf,EN,fr],(e,t,r,n,o,a,i,l,s)=>{if(t!=null){var u=Tn(e,s);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:s,categoricalDomain:a,duplicateDomain:o,isCategorical:u,niceTicks:l,range:i,realScaleType:r,scale:n}}}),AR=(e,t,r,n,o,a,i,l,s)=>{if(!(t==null||n==null)){var u=Tn(e,s),c=t.type,d=t.ticks,f=t.tickCount,p=r==="scaleBand"&&typeof n.bandwidth=="function"?n.bandwidth()/2:2,m=c==="category"&&n.bandwidth?n.bandwidth()/p:0;m=s==="angleAxis"&&a!=null&&a.length>=2?Xt(a[0]-a[1])*2*m:m;var g=d||o;return g?g.map((h,v)=>{var y=i?i.indexOf(h):h,b=n.map(y);return qe(b)?{index:v,coordinate:b+m,value:h,offset:m}:null}).filter(en):u&&l?l.map((h,v)=>{var y=n.map(h);return qe(y)?{coordinate:y+m,value:h,index:v,offset:m}:null}).filter(en):n.ticks?n.ticks(f).map((h,v)=>{var y=n.map(h);return qe(y)?{coordinate:y+m,value:h,index:v,offset:m}:null}).filter(en):n.domain().map((h,v)=>{var y=n.map(h);return qe(y)?{coordinate:y+m,value:i?i[h]:h,index:v,offset:m}:null}).filter(en)}},Ab=J([Qe,Hu,Yi,bb,EN,wf,BN,DN,fr],AR),kR=(e,t,r,n,o,a,i)=>{if(!(t==null||r==null||n==null||n[0]===n[1])){var l=Tn(e,i),s=t.tickCount,u=0;return u=i==="angleAxis"&&n?.length>=2?Xt(n[0]-n[1])*2*u:u,l&&a?a.map((c,d)=>{var f=r.map(c);return qe(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(en):r.ticks?r.ticks(s).map((c,d)=>{var f=r.map(c);return qe(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(en):r.domain().map((c,d)=>{var f=r.map(c);return qe(f)?{coordinate:f+u,value:o?o[c]:c,index:d,offset:u}:null}).filter(en)}},Io=J([Qe,Hu,bb,wf,BN,DN,fr],kR),jo=J(hr,bb,(e,t)=>{if(!(e==null||t==null))return gb(gb({},e),{},{scale:t})}),CR=J([hr,Yi,_N,Bj],yv),NR=J([CR],Xm),UAe=J((e,t,r)=>pN(e,r),NR,(e,t)=>{if(!(e==null||t==null))return gb(gb({},e),{},{scale:t})}),Hj=J([Qe,Ud,Wd],(e,t,r)=>{switch(e){case"horizontal":return t.some(n=>n.reversed)?"right-to-left":"left-to-right";case"vertical":return r.some(n=>n.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),_R=(e,t,r)=>{var n;return(n=e.renderedTicks[t])===null||n===void 0?void 0:n[r]},WAe=J([_R],e=>{if(!(!e||e.length===0))return t=>{var r,n=1/0,o=e[0];for(var a of e){var i=Math.abs(a.coordinate-t);ie.options.defaultTooltipEventType,UN=e=>e.options.validateTooltipEventTypes;function WN(e,t,r){if(e==null)return t;var n=e?"axis":"item";return r==null?t:r.includes(n)?n:t}function ds(e,t){var r=FN(e),n=UN(e);return WN(t,r,n)}function Vj(e){return Ae(t=>ds(t,e))}var kb=(e,t)=>{var r,n=Number(t);if(!(cn(n)||t==null))return n>=0?e==null||(r=e[n])===null||r===void 0?void 0:r.value:void 0};var Kj=e=>e.tooltip.settings;var Xi={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},ER={itemInteraction:{click:Xi,hover:Xi},axisInteraction:{click:Xi,hover:Xi},keyboardInteraction:Xi,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},qj=Dt({name:"tooltip",initialState:ER,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(st(t.payload))},prepare:Ft()},replaceTooltipEntrySettings:{reducer(e,t){var r=t.payload,n=r.prev,o=r.next,a=Sn(e).tooltipItemPayloads.indexOf(st(n));a>-1&&(e.tooltipItemPayloads[a]=st(o))},prepare:Ft()},removeTooltipEntrySettings:{reducer(e,t){var r=Sn(e).tooltipItemPayloads.indexOf(st(t.payload));r>-1&&e.tooltipItemPayloads.splice(r,1)},prepare:Ft()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),ca=qj.actions,Gj=ca.addTooltipEntrySettings,Yj=ca.replaceTooltipEntrySettings,Xj=ca.removeTooltipEntrySettings,Zj=ca.setTooltipSettingsState,Cb=ca.setActiveMouseOverItemIndex,Qj=ca.mouseLeaveItem,Nb=ca.mouseLeaveChart,Jj=ca.setActiveClickItemIndex,_b=ca.setMouseOverAxisIndex,Rj=ca.setMouseClickAxisIndex,Sf=ca.setSyncInteraction,Ov=ca.setKeyboardInteraction;var ez=qj.reducer;function tz(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Eb(e){for(var t=1;t{if(t==null)return Xi;var o=PR(e,t,r);if(o==null)return Xi;if(o.active)return o;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var a=e.settings.active===!0;if(DR(o)){if(a)return Eb(Eb({},o),{},{active:!0})}else if(n!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:n,graphicalItemId:void 0};return Eb(Eb({},Xi),{},{coordinate:o.coordinate})};function IR(e){if(typeof e=="number")return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var r=Number(e);return Number.isFinite(r)?r:void 0}function jR(e,t){var r=IR(e),n=t[0],o=t[1];if(r===void 0)return!1;var a=Math.min(n,o),i=Math.max(n,o);return r>=a&&r<=i}function zR(e,t,r){if(r==null||t==null)return!0;var n=nt(e,t);return n==null||!To(r)?!0:jR(n,r)}var fs=(e,t,r,n)=>{var o=e?.index;if(o==null)return null;var a=Number(o);if(!qe(a))return o;var i=0,l=1/0;t.length>0&&(l=t.length-1);var s=Math.max(i,Math.min(a,l)),u=t[s];return u==null||zR(u,r,n)?String(s):null};var Tb=(e,t,r,n,o,a,i)=>{if(a!=null){var l=i[0],s=l?.getPosition(a);if(s!=null)return s;var u=o?.[Number(a)];if(u)return r==="horizontal"?{x:u.coordinate,y:(n.top+t)/2}:{x:(n.left+e)/2,y:u.coordinate}}};var Mb=(e,t,r,n)=>{if(t==="axis")return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var o;if(r==="hover"?o=e.itemInteraction.hover.graphicalItemId:o=e.itemInteraction.click.graphicalItemId,e.syncInteraction.active&&o==null)return e.tooltipItemPayloads;if(o==null&&(n!=null||e.keyboardInteraction.active)){var a=e.tooltipItemPayloads[0];return a!=null?[a]:[]}return e.tooltipItemPayloads.filter(i=>{var l;return((l=i.settings)===null||l===void 0?void 0:l.graphicalItemId)===o})};var Pb=e=>e.options.tooltipPayloadSearcher;var Zi=e=>e.tooltip;function rz(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function nz(e){for(var t=1;te(t)}function oz(e){if(typeof e=="string")return e}function HR(e){if(!(e==null||typeof e!="object")){var t="name"in e?FR(e.name):void 0,r="unit"in e?UR(e.unit):void 0,n="dataKey"in e?WR(e.dataKey):void 0,o="payload"in e?e.payload:void 0,a="color"in e?oz(e.color):void 0,i="fill"in e?oz(e.fill):void 0;return{name:t,unit:r,dataKey:n,payload:o,color:a,fill:i}}}function VR(e,t){return e??t}var Db=(e,t,r,n,o,a,i)=>{if(!(t==null||a==null)){var l=r.chartData,s=r.computedData,u=r.dataStartIndex,c=r.dataEndIndex,d=[];return e.reduce((f,p)=>{var m,g=p.dataDefinedOnItem,h=p.settings,v=VR(g,l),y=Array.isArray(v)?F0(v,u,c):v,b=(m=h?.dataKey)!==null&&m!==void 0?m:n,x=h?.nameKey,S;if(n&&Array.isArray(y)&&!Array.isArray(y[0])&&i==="axis"?(S=Nh(y,n,o),S==null&&(S=a(y,t,s,x))):S=a(y,t,s,x),Array.isArray(S))S.forEach(T=>{var k,A,M=HR(T),H=M?.name,F=M?.dataKey,X=M?.payload,P=nz(nz({},h),{},{name:H,unit:M?.unit,color:(k=M?.color)!==null&&k!==void 0?k:h?.color,fill:(A=M?.fill)!==null&&A!==void 0?A:h?.fill});f.push(nC({tooltipEntrySettings:P,dataKey:F,payload:X,value:nt(X,F),name:H==null?void 0:String(H)}))});else{var w;f.push(nC({tooltipEntrySettings:h,dataKey:b,payload:S,value:nt(S,b),name:(w=nt(S,x))!==null&&w!==void 0?w:h?.name}))}return f},d)}};var HN=J([Wr,mN,Rd],mb),KR=J([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),qR=J([$r,os],xv),ps=J([KR,Wr,qR],bv,{memoizeOptions:{resultEqualityCheck:ef}}),GR=J([ps],e=>e.filter(Eu)),az=J([ps],wv,{memoizeOptions:{resultEqualityCheck:ef}}),YR=J([ps],e=>e.some(t=>!t.data)),Qi=J([az,io],Sv),XR=J([GR,io,Wr],Tx),VN=J([Qi,Wr,ps,io,YR,az],hN),iz=J([Wr],yb),ZR=J([Wr],e=>e.allowDataOverflow),lz=J([iz,ZR],yx),QR=J([ps],e=>e.filter(Eu)),JR=J([XR,QR,ts,Sx],xN),RR=J([JR,io,$r,lz],bN),eee=J([ps],vN),tee=J([Qi,Wr,eee,bf,$r,WI],kv,{memoizeOptions:{resultEqualityCheck:Ou}}),ree=J([wN,$r,os],Vu),nee=J([ree,$r],kN),oee=J([SN,$r,os],Vu),aee=J([oee,$r],CN),iee=J([AN,$r,os],Vu),lee=J([iee,$r],NN),see=J([nee,lee,aee],hv),uee=J([Wr,iz,lz,RR,tee,see,Qe,$r],Cv),ms=J([Wr,Qe,Qi,VN,ts,$r,uee],Nv),cee=J([ms,Wr,HN],_v),dee=J([Wr,ms,cee,$r],Ev),sz=e=>{var t=$r(e),r=os(e),n=!1;return wf(e,t,r,n)},KN=J([Wr,sz],Cu),fee=J([Wr,HN,dee,KN],yv),qN=J([fee],Xm),pee=J([Qe,VN,Wr,$r],LN),mee=J([Qe,VN,Wr,$r],PN),vee=(e,t,r,n,o,a,i,l)=>{if(t){var s=t.type,u=Tn(e,l);if(n){var c=r==="scaleBand"&&n.bandwidth?n.bandwidth()/2:2,d=s==="category"&&n.bandwidth?n.bandwidth()/c:0;return d=l==="angleAxis"&&o!=null&&o?.length>=2?Xt(o[0]-o[1])*2*d:d,u&&i?i.map((f,p)=>{var m=n.map(f);return qe(m)?{coordinate:m+d,value:f,index:p,offset:d}:null}).filter(en):n.domain().map((f,p)=>{var m=n.map(f);return qe(m)?{coordinate:m+d,value:a?a[f]:f,index:p,offset:d}:null}).filter(en)}}},so=J([Qe,Wr,HN,qN,sz,pee,mee,$r],vee),GN=J([FN,UN,Kj],(e,t,r)=>WN(r.shared,e,t)),uz=e=>e.tooltip.settings.trigger,YN=e=>e.tooltip.settings.defaultIndex,Tv=J([Zi,GN,uz,YN],Ob),da=J([Tv,Qi,Gi,ms],fs),Ib=J([so,da],kb),Af=J([Tv],e=>{if(e)return e.dataKey}),jb=J([Tv],e=>{if(e)return e.graphicalItemId}),cz=J([Zi,GN,uz,YN],Mb),gee=J([fn,pn,Qe,Ht,so,YN,cz],Tb),XN=J([Tv,gee],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),ZN=J([Tv],e=>{var t;return(t=e?.active)!==null&&t!==void 0?t:!1}),yee=J([cz,da,io,Gi,Ib,Pb,GN],Db),dz=J([yee],e=>{if(e!=null){var t=e.map(r=>r.payload).filter(r=>r!=null);return Array.from(new Set(t))}});function fz(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function pz(e){for(var t=1;tAe(Wr),mz=()=>{var e=wee(),t=Ae(so),r=Ae(qN);return!e||!r?aa(void 0,t):aa(pz(pz({},e),{},{scale:r}),t)};function vz(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function kf(e){for(var t=1;t{var o=t.find(a=>a&&a.index===r);if(o){if(e==="horizontal")return{x:o.coordinate,y:n.relativeY};if(e==="vertical")return{x:n.relativeX,y:o.coordinate}}return{x:0,y:0}},yz=(e,t,r,n)=>{var o=t.find(u=>u&&u.index===r);if(o){if(e==="centric"){var a=o.coordinate,i=n.radius;return kf(kf(kf({},n),tr(n.cx,n.cy,i,a)),{},{angle:a,radius:i})}var l=o.coordinate,s=n.angle;return kf(kf(kf({},n),tr(n.cx,n.cy,l,s)),{},{angle:s,radius:l})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function hz(e,t){var r=e.relativeX,n=e.relativeY;return r>=t.left&&r<=t.left+t.width&&n>=t.top&&n<=t.top+t.height}var QN=(e,t,r,n,o)=>{var a,i=(a=t?.length)!==null&&a!==void 0?a:0;if(i<=1||e==null)return 0;if(n==="angleAxis"&&o!=null&&Math.abs(Math.abs(o[1]-o[0])-360)<=1e-6)for(var l=o[1]-o[0],s=(Y,C,_)=>[e,e+l,e-l].some(z=>(_?z>=Y:z>Y)&&z<=C),u=0;u0?(c=r[u-1])===null||c===void 0?void 0:c.coordinate:(d=r[i-1])===null||d===void 0?void 0:d.coordinate,h=(f=r[u])===null||f===void 0?void 0:f.coordinate,v=u>=i-1?(p=r[0])===null||p===void 0?void 0:p.coordinate:(m=r[u+1])===null||m===void 0?void 0:m.coordinate,y=void 0;if(!(g==null||h==null||v==null))if(Xt(h-g)!==Xt(v-h)){var b=[];if(Xt(v-h)===Xt(o[1]-o[0])){y=v;var x=h+o[1]-o[0];b[0]=Math.min(x,(x+g)/2),b[1]=Math.max(x,(x+g)/2)}else{y=g;var S=v+o[1]-o[0];b[0]=Math.min(h,(S+h)/2),b[1]=Math.max(h,(S+h)/2)}var w=[Math.min(h,(y+h)/2),Math.max(h,(y+h)/2)];if(s(w[0],w[1],!1)||s(b[0],b[1],!0)){var T;return(T=r[u])===null||T===void 0?void 0:T.index}}else{var k=Math.min(g,v),A=Math.max(g,v);if(s((k+h)/2,(A+h)/2,!1)){var M;return(M=r[u])===null||M===void 0?void 0:M.index}}}else if(t)for(var H=0;H(F.coordinate+P.coordinate)/2||H>0&&H(F.coordinate+P.coordinate)/2&&e<=(F.coordinate+X.coordinate)/2)return F.index}}return-1};var zb=()=>Ae(Rd),JN=(e,t)=>t,xz=(e,t,r)=>r,RN=(e,t,r,n)=>n,bz=J(so,e=>$i(e,t=>t.coordinate)),e_=J([Zi,JN,xz,RN],Ob),t_=J([e_,Qi,Gi,ms],fs),wz=(e,t,r)=>{if(t!=null){var n=Zi(e);return t==="axis"?r==="hover"?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:r==="hover"?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}},Sz=J([Zi,JN,xz,RN],Mb),Mv=J([fn,pn,Qe,Ht,so,RN,Sz],Tb),Az=J([e_,Mv],(e,t)=>{var r;return(r=e.coordinate)!==null&&r!==void 0?r:t}),r_=J([so,t_],kb),kz=J([Sz,t_,io,Gi,r_,Pb,JN],Db),Cz=J([e_,t_],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),Cee=(e,t,r,n,o,a,i)=>{if(!(!e||!r||!n||!o)&&hz(e,i)){var l=JD(e,t),s=QN(l,a,o,r,n),u=gz(t,o,s,e);return{activeIndex:String(s),activeCoordinate:u}}},Nee=(e,t,r,n,o,a,i)=>{if(!(!e||!n||!o||!a||!r)){var l=EI(e,r);if(l){var s=RD(l,t),u=QN(s,i,a,n,o),c=yz(t,a,u,l);return{activeIndex:String(u),activeCoordinate:c}}}},Nz=(e,t,r,n,o,a,i,l)=>{if(!(!e||!t||!n||!o||!a))return t==="horizontal"||t==="vertical"?Cee(e,t,n,o,a,i,l):Nee(e,t,r,n,o,a,i)};var Cf=te(re()),zz=te(wp());var _z=J(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,r)=>r,(e,t,r)=>{if(t!=null){var n=e[t];if(n!=null)return r?n.panoramaElement:n.element}}),Ez=J(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(n=>parseInt(n,10)).concat(Object.values(vt)),r=Array.from(new Set(t));return r.sort((n,o)=>n-o)},{memoizeOptions:{resultEqualityCheck:a6}});function Oz(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Tz(e){for(var t=1;tTz(Tz({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),Tee)},Pee=new Set(Object.values(vt));function Dee(e){return Pee.has(e)}var Mz=Dt({name:"zIndex",initialState:Mee,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]?e.zIndexMap[r].consumers+=1:e.zIndexMap[r]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:Ft()},unregisterZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(e.zIndexMap[r].consumers-=1,e.zIndexMap[r].consumers<=0&&!Dee(r)&&delete e.zIndexMap[r])},prepare:Ft()},registerZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload,n=r.zIndex,o=r.element,a=r.isPanorama;e.zIndexMap[n]?a?e.zIndexMap[n].panoramaElement=st(o):e.zIndexMap[n].element=st(o):e.zIndexMap[n]={consumers:0,element:a?void 0:st(o),panoramaElement:a?st(o):void 0}},prepare:Ft()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(t.payload.isPanorama?e.zIndexMap[r].panoramaElement=void 0:e.zIndexMap[r].element=void 0)},prepare:Ft()}}}),Lb=Mz.actions,Pz=Lb.registerZIndexPortal,Bb=Lb.unregisterZIndexPortal,Dz=Lb.registerZIndexPortalElement,Iz=Lb.unregisterZIndexPortalElement;var jz=Mz.reducer;function rr(e){var t=e.zIndex,r=e.children,n=m8(),o=n&&t!==void 0&&t!==0,a=It(),i=(0,Cf.useRef)(void 0),l=(0,Cf.useRef)(new Set),s=Xe(),u=Ae(d=>_z(d,t,a));if((0,Cf.useLayoutEffect)(()=>{if(!o){var d=l.current;d.forEach(p=>{s(Bb({zIndex:p}))}),d.clear(),i.current=void 0;return}if(l.current.has(t)||(s(Pz({zIndex:t})),l.current.add(t)),u){i.current=u;var f=l.current;f.forEach(p=>{p!==t&&(s(Bb({zIndex:p})),f.delete(p))})}},[s,t,o,u]),(0,Cf.useLayoutEffect)(()=>{var d=l.current;return()=>{d.forEach(f=>{s(Bb({zIndex:f}))}),d.clear()}},[s]),!o)return r;var c=u??i.current;return c?(0,zz.createPortal)(r,c):null}function n_(){return n_=Object.assign?Object.assign.bind():function(e){for(var t=1;t(0,Ub.useContext)(o_);var Dv=te(re());var Wz=te(Uz(),1);var Hz=Wz.default;var _f=new Hz;var Hb="recharts.syncEvent.tooltip",i_="recharts.syncEvent.brush";var vs=(e,t)=>{if(t&&Array.isArray(e)){var r=Number.parseInt(t,10);if(!cn(r))return e[r]}},Uee={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},Vz=Dt({name:"options",initialState:Uee,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),Kz=Vz.reducer,qz=Vz.actions.createEventEmitter;function Gz(e){return e.tooltip.syncInteraction}var Wee={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},Yz=Dt({name:"chartData",initialState:Wee,reducers:{setChartData(e,t){if(e.chartData=st(t.payload),t.payload==null){e.dataStartIndex=0,e.dataEndIndex=0;return}t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var r=t.payload,n=r.startIndex,o=r.endIndex;n!=null&&(e.dataStartIndex=n),o!=null&&(e.dataEndIndex=o)}}}),l_=Yz.actions,s_=l_.setChartData,Xz=l_.setDataStartEndIndexes,Hee=l_.setComputedData;var Zz=Yz.reducer;var Vee=["x","y"];function Qz(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Ef(e){for(var t=1;ts.rootProps.className);(0,Dv.useEffect)(()=>{if(e==null)return Un;var s=(u,c,d)=>{if(t!==d&&e===u){if(c.payload.active===!1){r(Sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(n==="index"){var f;if(i&&c!==null&&c!==void 0&&(f=c.payload)!==null&&f!==void 0&&f.coordinate&&c.payload.sourceViewBox){var p=c.payload.coordinate,m=p.x,g=p.y,h=Yee(p,Vee),v=c.payload.sourceViewBox,y=v.x,b=v.y,x=v.width,S=v.height,w=Ef(Ef({},h),{},{x:i.x+(x?(m-y)/x:0)*i.width,y:i.y+(S?(g-b)/S:0)*i.height});r(Ef(Ef({},c),{},{payload:Ef(Ef({},c.payload),{},{coordinate:w})}))}else r(c);return}if(o!=null){var T;if(typeof n=="function"){var k={activeTooltipIndex:c.payload.index==null?void 0:Number(c.payload.index),isTooltipActive:c.payload.active,activeIndex:c.payload.index==null?void 0:Number(c.payload.index),activeLabel:c.payload.label,activeDataKey:c.payload.dataKey,activeCoordinate:c.payload.coordinate},A=n(o,k);T=o[A]}else n==="value"&&(T=o.find(_=>String(_.value)===c.payload.label));var M=c.payload.coordinate;if(M==null||i==null){r(Sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(T==null){r(Sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:void 0}));return}var H=M.x,F=M.y,X=Math.min(H,i.x+i.width),P=Math.min(F,i.y+i.height),Y={x:a==="horizontal"?T.coordinate:X,y:a==="horizontal"?P:T.coordinate},C=Sf({active:c.payload.active,coordinate:Y,dataKey:c.payload.dataKey,index:String(T.index),label:c.payload.label,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:c.payload.graphicalItemId});r(C)}}};return _f.on(Hb,s),()=>{_f.off(Hb,s)}},[l,r,t,e,n,o,a,i])}function Qee(){var e=Ae(Ax),t=Ae(kx),r=Xe();(0,Dv.useEffect)(()=>{if(e==null)return Un;var n=(o,a,i)=>{t!==i&&e===o&&r(Xz(a))};return _f.on(i_,n),()=>{_f.off(i_,n)}},[r,t,e])}function Jz(){var e=Xe();(0,Dv.useEffect)(()=>{e(qz())},[e]),Zee(),Qee()}function Rz(e,t,r,n,o,a){var i=Ae(m=>wz(m,e,t)),l=Ae(jb),s=Ae(kx),u=Ae(Ax),c=Ae(NC),d=Ae(Gz),f=d?.sourceViewBox!=null,p=bu();(0,Dv.useEffect)(()=>{if(!f&&u!=null&&s!=null){var m=Sf({active:a,coordinate:r,dataKey:i,index:o,label:typeof n=="number"?String(n):n,sourceViewBox:p,graphicalItemId:l});_f.emit(Hb,u,m,s)}},[f,r,i,l,o,n,s,u,c,a,p])}function eL(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function tL(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{T(Zj({shared:y,trigger:b,axisId:w,active:o,defaultIndex:k}))},[T,y,b,w,o,k]);var A=bu(),M=ex(),H=Vj(y),F=(t=Ae(V=>Cz(V,H,b,k)))!==null&&t!==void 0?t:{},X=F.activeIndex,P=F.isActive,Y=Ae(V=>kz(V,H,b,k)),C=Ae(V=>r_(V,H,b,k)),_=Ae(V=>Az(V,H,b,k)),z=Y,D=$z(),E=(r=o??P)!==null&&r!==void 0?r:!1,j=p0([z,E]),R=tte(j,2),U=R[0],L=R[1],q=H==="axis"?C:void 0;Rz(H,b,_,q,X,E);var ae=S??D;if(ae==null||A==null||H==null)return null;var ce=z??nL;E||(ce=nL),u&&ce.length&&(ce=l0(ce.filter(V=>V.value!=null&&(V.hide!==!0||n.includeHidden)),f,ite));var ze=ce.length>0,oe=tL(tL({},n),{},{payload:ce,label:q,active:E,activeIndex:X,coordinate:_,accessibilityLayer:M}),Ee=fa.createElement($8,{allowEscapeViewBox:a,animationDuration:i,animationEasing:l,isAnimationActive:c,active:E,coordinate:_,hasPayload:ze,offset:d,position:p,reverseDirection:m,useTranslate3d:g,viewBox:A,wrapperStyle:h,lastBoundingBox:U,innerRef:L,hasPortalFromProps:!!S},lte(s,oe));return fa.createElement(fa.Fragment,null,(0,aL.createPortal)(Ee,ae),E&&fa.createElement(Bz,{cursor:v,tooltipEventType:H,coordinate:_,payload:ce,index:X}))}var Ji=e=>null;Ji.displayName="Cell";var c_=te(re()),Gb=te(re());function ute(e,t,r){return(t=cte(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function cte(e){var t=dte(e,"string");return typeof t=="symbol"?t:t+""}function dte(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Vb=class{constructor(t){ute(this,"cache",new Map),this.maxSize=t}get(t){var r=this.cache.get(t);return r!==void 0&&(this.cache.delete(t),this.cache.set(t,r)),r}set(t,r){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;n!=null&&this.cache.delete(n)}this.cache.set(t,r)}clear(){this.cache.clear()}size(){return this.cache.size}};function iL(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function fte(e){for(var t=1;t{try{var r=document.getElementById(sL);r||(r=document.createElement("span"),r.setAttribute("id",sL),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),Object.assign(r.style,yte,t),r.textContent="".concat(e);var n=r.getBoundingClientRect();return{width:n.width,height:n.height}}catch{return{width:0,height:0}}},Ku=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||ia.isSsr)return{width:0,height:0};if(!cL.enableCache)return uL(t,r);var n=hte(t,r),o=lL.get(n);if(o)return o;var a=uL(t,r);return lL.set(n,a),a};var vL;function Kb(e,t){return Ste(e)||wte(e,t)||bte(e,t)||xte()}function xte(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function bte(e,t){if(e){if(typeof e=="string")return dL(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?dL(e,t):void 0}}function dL(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=e.breakAll,n=e.style;try{var o=[];mt(t)||(r?o=t.toString().split(""):o=t.toString().split(SL));var a=o.map(l=>({word:l,width:Ku(l,n).width})),i=r?0:Ku("\xA0",n).width;return{wordsWithComputedWidth:a,spaceWidth:i}}catch{return null}};function Yb(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function kL(e){return mt(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var CL=(e,t,r,n)=>e.reduce((o,a)=>{var i=a.word,l=a.width,s=o[o.length-1];if(s&&l!=null&&(t==null||n||s.width+l+re.reduce((t,r)=>t.width>r.width?t:r),Wte="\u2026",bL=(e,t,r,n,o,a,i,l)=>{var s=e.slice(0,t),u=AL({breakAll:r,style:n,children:s+Wte});if(!u)return[!1,[]];var c=CL(u.wordsWithComputedWidth,a,i,l),d=c.length>o||NL(c).width>Number(a);return[d,c]},Hte=(e,t,r,n,o)=>{var a=e.maxLines,i=e.children,l=e.style,s=e.breakAll,u=Se(a),c=String(i),d=CL(t,n,r,o);if(!u||o)return d;var f=d.length>a||NL(d).width>Number(n);if(!f)return d;for(var p=0,m=c.length-1,g=0,h;p<=m&&g<=c.length-1;){var v=Math.floor((p+m)/2),y=v-1,b=bL(c,y,s,l,a,n,r,o),x=hL(b,2),S=x[0],w=x[1],T=bL(c,v,s,l,a,n,r,o),k=hL(T,1),A=k[0];if(!S&&!A&&(p=v+1),S&&A&&(m=v-1),!S&&A){h=w;break}g++}return h||d},wL=e=>{var t=mt(e)?[]:e.toString().split(SL);return[{words:t,width:void 0}]},Vte=e=>{var t=e.width,r=e.scaleToFit,n=e.children,o=e.style,a=e.breakAll,i=e.maxLines;if((t||r)&&!ia.isSsr){var l,s,u=AL({breakAll:a,children:n,style:o});if(u){var c=u.wordsWithComputedWidth,d=u.spaceWidth;l=c,s=d}else return wL(n);return Hte({breakAll:a,children:n,maxLines:i,style:o},l,s,t,!!r)}return wL(n)},_L="#808080",Kte={angle:0,breakAll:!1,capHeight:"0.71em",fill:_L,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},qu=(0,Gb.forwardRef)((e,t)=>{var r=ft(e,Kte),n=r.x,o=r.y,a=r.lineHeight,i=r.capHeight,l=r.fill,s=r.scaleToFit,u=r.textAnchor,c=r.verticalAnchor,d=yL(r,jte),f=(0,Gb.useMemo)(()=>Vte({breakAll:d.breakAll,children:d.children,maxLines:d.maxLines,scaleToFit:s,style:d.style,width:d.width}),[d.breakAll,d.children,d.maxLines,s,d.style,d.width]),p=d.dx,m=d.dy,g=d.angle,h=d.className,v=d.breakAll,y=yL(d,zte);if(!Fn(n)||!Fn(o)||f.length===0)return null;var b=Number(n)+(Se(p)?p:0),x=Number(o)+(Se(m)?m:0);if(!qe(b)||!qe(x))return null;var S;switch(c){case"start":S=qb("calc(".concat(i,")"));break;case"middle":S=qb("calc(".concat((f.length-1)/2," * -").concat(a," + (").concat(i," / 2))"));break;default:S=qb("calc(".concat(f.length-1," * -").concat(a,")"));break}var w=[],T=f[0];if(s&&T!=null){var k=T.width,A=d.width;w.push("scale(".concat(Se(A)&&Se(k)?A/k:1,")"))}return g&&w.push("rotate(".concat(g,", ").concat(b,", ").concat(x,")")),w.length&&(y.transform=w.join(" ")),c_.createElement("text",u_({},dr(y),{ref:t,x:b,y:x,className:He("recharts-text",h),textAnchor:u,fill:l.includes("url")?_L:l}),f.map((M,H)=>{var F=M.words.join(v?"":" ");return c_.createElement("tspan",{x:b,dy:H===0?S:a,key:"".concat(F,"-").concat(H)},F)}))});qu.displayName="Text";var uo=te(re()),rn=te(re());var qte=["labelRef"],Gte=["content"];function EL(e,t){if(e==null)return{};var r,n,o=Yte(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{var t=e.x,r=e.y,n=e.upperWidth,o=e.lowerWidth,a=e.width,i=e.height,l=e.children,s=(0,rn.useMemo)(()=>({x:t,y:r,upperWidth:n,lowerWidth:o,width:a,height:i}),[t,r,n,o,a,i]);return uo.createElement(TL.Provider,{value:s},l)},PL=()=>{var e=(0,rn.useContext)(TL),t=bu();return e||(t?Sm(t):void 0)},DL=(0,rn.createContext)(null),IL=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,o=e.outerRadius,a=e.startAngle,i=e.endAngle,l=e.clockWise,s=e.children,u=(0,rn.useMemo)(()=>({cx:t,cy:r,innerRadius:n,outerRadius:o,startAngle:a,endAngle:i,clockWise:l}),[t,r,n,o,a,i,l]);return uo.createElement(DL.Provider,{value:u},s)},Jte=()=>{var e=(0,rn.useContext)(DL),t=Ae(Ox);return e||t},Rte=e=>{var t=e.value,r=e.formatter,n=mt(e.children)?t:e.children;return typeof r=="function"?r(n):n},Yu=e=>e!=null&&typeof e=="function",ere=(e,t)=>{var r=Xt(t-e),n=Math.min(Math.abs(t-e),360);return r*n},tre=(e,t,r,n,o)=>{var a=e.offset,i=e.className,l=o.cx,s=o.cy,u=o.innerRadius,c=o.outerRadius,d=o.startAngle,f=o.endAngle,p=o.clockWise,m=(u+c)/2,g=ere(d,f),h=g>=0?1:-1,v,y;switch(t){case"insideStart":v=d+h*a,y=p;break;case"insideEnd":v=f-h*a,y=!p;break;case"end":v=f+h*a,y=p;break;default:throw new Error("Unsupported position ".concat(t))}y=g<=0?y:!y;var b=tr(l,s,m,v),x=tr(l,s,m,v+(y?1:-1)*359),S="M".concat(b.x,",").concat(b.y,` A`).concat(m,",").concat(m,",0,1,").concat(y?0:1,`, - `).concat(x.x,",").concat(x.y),w=mt(e.id)?ji("recharts-radial-line-"):e.id;return uo.createElement("text",el({},n,{dominantBaseline:"central",className:He("recharts-radial-bar-label",i)}),uo.createElement("defs",null,uo.createElement("path",{id:w,d:S})),uo.createElement("textPath",{xlinkHref:"#".concat(w)},r))},Rte=(e,t,r)=>{var n=e.cx,o=e.cy,a=e.innerRadius,i=e.outerRadius,l=e.startAngle,s=e.endAngle,u=(l+s)/2;if(r==="outside"){var c=tr(n,o,i+t,u),d=c.x,f=c.y;return{x:d,y:f,textAnchor:d>=n?"start":"end",verticalAnchor:"middle"}}if(r==="center")return{x:n,y:o,textAnchor:"middle",verticalAnchor:"middle"};if(r==="centerTop")return{x:n,y:o,textAnchor:"middle",verticalAnchor:"start"};if(r==="centerBottom")return{x:n,y:o,textAnchor:"middle",verticalAnchor:"end"};var p=(a+i)/2,m=tr(n,o,p,u),g=m.x,h=m.y;return{x:g,y:h,textAnchor:"middle",verticalAnchor:"middle"}},Of=e=>e!=null&&"cx"in e&&Se(e.cx),ere={angle:0,offset:5,zIndex:vt.label,position:"middle",textBreakAll:!1};function tre(e){if(!Of(e))return e;var t=e.cx,r=e.cy,n=e.outerRadius,o=n*2;return{x:t-n,y:r-n,width:o,upperWidth:o,lowerWidth:o,height:o}}function Ri(e){var t,r,n=ft(e,ere),o=n.viewBox,a=n.parentViewBox,i=n.position,l=n.value,s=n.children,u=n.content,c=n.className,d=c===void 0?"":c,f=n.textBreakAll,p=n.labelRef,m=Xte(),g=TL(),h=i==="center"?g:m??g,v,y,b;o==null?v=h:Of(o)?v=o:v=bm(o);var x=tre(v);if(!v||mt(l)&&mt(s)&&!(0,rn.isValidElement)(u)&&typeof u!="function")return null;var S=Of(v)&&(i==="insideStart"||i==="insideEnd"||i==="end");if(Of(v))S||(b=Rte(v,n.offset,n.position));else if(x){var w=kh({viewBox:x,position:i,offset:n.offset,parentViewBox:Of(a)?void 0:a,clamp:!0});b=qu(qu({x:w.x,y:w.y,textAnchor:w.horizontalAnchor,verticalAnchor:w.verticalAnchor},w.width!==void 0?{width:w.width}:{}),w.height!==void 0?{height:w.height}:{})}var T=qu(qu(qu(qu({},((t=b)===null||t===void 0?void 0:t.x)!==void 0?{x:b.x}:{}),((r=b)===null||r===void 0?void 0:r.y)!==void 0?{y:b.y}:{}),n),{},{viewBox:v});if((0,rn.isValidElement)(u)){var k=T.labelRef,A=NL(T,Hte);return(0,rn.cloneElement)(u,A)}if(typeof u=="function"){var M=T.content,H=NL(T,Vte);if(y=(0,rn.createElement)(u,H),(0,rn.isValidElement)(y))return y}else y=Zte(n);var F=dr(n);return S&&Of(v)?Jte(n,i,y,F,v):b==null?null:uo.createElement(rr,{zIndex:n.zIndex},uo.createElement(Ku,el({ref:p,className:He("recharts-label",d)},F,b,{textAnchor:Kb(F.textAnchor)?F.textAnchor:b.textAnchor,breakAll:f}),y))}Ri.displayName="Label";var rre=(e,t,r)=>{if(!e)return null;var n={viewBox:t,labelRef:r};return e===!0?uo.createElement(Ri,el({key:"label-implicit"},n)):Fn(e)?uo.createElement(Ri,el({key:"label-implicit",value:e},n)):(0,rn.isValidElement)(e)?e.type===Ri?(0,rn.cloneElement)(e,qu({key:"label-implicit"},n)):uo.createElement(Ri,el({key:"label-implicit",content:e},n)):Gu(e)?uo.createElement(Ri,el({key:"label-implicit",content:e},n)):e&&typeof e=="object"?uo.createElement(Ri,el({},e,{key:"label-implicit"},n)):null};function DL(e){var t=e.label,r=e.labelRef,n=TL();return rre(t,n,r)||null}var tl=te(re()),Tf=te(re());var nre=["valueAccessor"],ore=["dataKey","clockWise","id","textBreakAll","zIndex"];function Gb(){return Gb=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(SL(t))return t},jL=(0,Tf.createContext)(void 0),Mf=jL.Provider,zL=(0,Tf.createContext)(void 0),LL=zL.Provider;function lre(){return(0,Tf.useContext)(jL)}function sre(){return(0,Tf.useContext)(zL)}function qb(e){var t=e.valueAccessor,r=t===void 0?ire:t,n=IL(e,nre),o=n.dataKey,a=n.clockWise,i=n.id,l=n.textBreakAll,s=n.zIndex,u=IL(n,ore),c=lre(),d=sre(),f=c||d;return!f||!f.length?null:tl.createElement(rr,{zIndex:s??vt.label},tl.createElement(_t,{className:"recharts-label-list"},f.map((p,m)=>{var g,h=mt(o)?r(p,m):nt(p.payload,o),v=mt(i)?{}:{id:"".concat(i,"-").concat(m)};return tl.createElement(Ri,Gb({key:"label-".concat(m)},dr(p),u,v,{fill:(g=n.fill)!==null&&g!==void 0?g:p.fill,parentViewBox:p.parentViewBox,value:h,textBreakAll:l,viewBox:p.viewBox,index:m,zIndex:0}))})))}qb.displayName="LabelList";function ys(e){var t=e.label;return t?t===!0?tl.createElement(qb,{key:"labelList-implicit"}):tl.isValidElement(t)||Gu(t)?tl.createElement(qb,{key:"labelList-implicit",content:t}):typeof t=="object"?tl.createElement(qb,Gb({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}var BL=te(re());function s_(){return s_=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,r=e.cy,n=e.r,o=e.className,a=He("recharts-dot",o);return Se(t)&&Se(r)&&Se(n)?BL.createElement("circle",s_({},cr(e),Od(e),{className:a,cx:t,cy:r,r:n})):null};var u_=e=>e.graphicalItems.polarItems,ure=J([fr,Nu],yv),Xb=J([u_,hr,ure],hv),cre=J([Xb],xv),Zb=J([cre,Su],bv),dre=J([Zb,hr,Xb],mN),E_e=J([Zb,hr,Xb],(e,t,r)=>r.length>0?e.flatMap(n=>r.flatMap(o=>{var a,i=nt(n,(a=t.dataKey)!==null&&a!==void 0?a:o.dataKey);return{value:i,errorDomain:[]}})).filter(Boolean):t?.dataKey!=null?e.map(n=>({value:nt(n,t.dataKey),errorDomain:[]})):e.map(n=>({value:n,errorDomain:[]}))),$L=()=>{},fre=J([Zb,hr,Xb,xf,fr,$I],Sv),pre=J([hr,vb,gb,$L,fre,$L,Qe,fr],Av),FL=J([hr,Qe,Zb,dre,es,fr,pre],kv),mre=J([FL,Wu,Yi],Cv),vre=J([hr,FL,mre,fr],Nv),O_e=J([Yi,vre],Ex);var gre={radiusAxis:{},angleAxis:{}},UL=Dt({name:"polarAxis",initialState:gre,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=st(t.payload)},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=st(t.payload)},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),Qb=UL.actions,D_e=Qb.addRadiusAxis,I_e=Qb.removeRadiusAxis,j_e=Qb.addAngleAxis,z_e=Qb.removeAngleAxis;var WL=UL.reducer;function Jb(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var at=te(re()),Bf=te(re());function HL(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function VL(e){for(var t=1;tt,c_=J([u_,bre],(e,t)=>e.filter(r=>r.type==="pie").find(r=>r.id===t)),wre=[],d_=(e,t,r)=>r?.length===0?wre:r,KL=J([Su,c_,d_],(e,t,r)=>{var n=e.chartData;if(t!=null){var o;if(t?.data!=null&&t.data.length>0?o=t.data:o=n,(!o||!o.length)&&r!=null&&(o=r.map(a=>VL(VL({},t.presentationProps),a.props))),o!=null)return o}}),qL=J([KL,c_,d_],(e,t,r)=>{if(!(e==null||t==null))return e.map((n,o)=>{var a,i=nt(n,t.nameKey,t.name),l;return r!=null&&(a=r[o])!==null&&a!==void 0&&(a=a.props)!==null&&a!==void 0&&a.fill?l=r[o].props.fill:typeof n=="object"&&n!=null&&"fill"in n?l=n.fill:l=t.fill,{value:Eo(i,t.dataKey),dataKey:t.dataKey,color:l,payload:n,type:t.legendType}})}),GL=J([KL,c_,d_,Ht],(e,t,r,n)=>{if(!(t==null||e==null))return YL({offset:n,pieSettings:t,displayedData:e,cells:r})});var eB=te(re()),tB=te(QL());var JL=e=>typeof e=="string"?e:e?e.displayName||e.name||"Component":"",RL=null,m_=null,rB=e=>{if(e===RL&&Array.isArray(m_))return m_;var t=[];return eB.Children.forEach(e,r=>{mt(r)||((0,tB.isFragment)(r)?t=t.concat(rB(r.props.children)):t.push(r))}),m_=t,RL=e,t};function Pv(e,t){var r=[],n=[];return Array.isArray(t)?n=t.map(o=>JL(o)):n=[JL(t)],rB(e).forEach(o=>{var a=un(o,"type.displayName")||un(o,"type.name");a&&n.indexOf(a)!==-1&&r.push(o)}),r}var Pf=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;var Df=te(re()),Dv=te(re());function nB(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function oB(e){for(var t=1;t{var n=Xe();return(o,a)=>i=>{e?.(o,a,i),n(Sb({activeIndex:String(a),activeDataKey:t,activeCoordinate:o.tooltipPosition,activeGraphicalItemId:r}))}},jv=e=>{var t=Xe();return(r,n)=>o=>{e?.(r,n,o),t(Xj())}},zv=(e,t,r)=>{var n=Xe();return(o,a)=>i=>{e?.(o,a,i),n(Zj({activeIndex:String(a),activeDataKey:t,activeCoordinate:o.tooltipPosition,activeGraphicalItemId:r}))}};var Lv=te(re());function xs(e){var t=e.tooltipEntrySettings,r=Xe(),n=It(),o=(0,Lv.useRef)(null);return(0,Lv.useLayoutEffect)(()=>{n||(o.current===null?r(Kj(t)):o.current!==t&&r(qj({prev:o.current,next:t})),o.current=t)},[t,r,n]),(0,Lv.useLayoutEffect)(()=>()=>{o.current&&(r(Gj(o.current)),o.current=null)},[r]),null}var bs=te(re());function If(e){var t=e.legendPayload,r=Xe(),n=It(),o=(0,bs.useRef)(null);return(0,bs.useLayoutEffect)(()=>{n||(o.current===null?r(oC(t)):o.current!==t&&r(aC({prev:o.current,next:t})),o.current=t)},[r,n,t]),(0,bs.useLayoutEffect)(()=>()=>{o.current&&(r(iC(o.current)),o.current=null)},[r]),null}function iB(e){var t=e.legendPayload,r=Xe(),n=Ae(Qe),o=(0,bs.useRef)(null);return(0,bs.useLayoutEffect)(()=>{n!=="centric"&&n!=="radial"||(o.current===null?r(oC(t)):o.current!==t&&r(aC({prev:o.current,next:t})),o.current=t)},[r,n,t]),(0,bs.useLayoutEffect)(()=>()=>{o.current&&(r(iC(o.current)),o.current=null)},[r]),null}var uB=te(re()),Fv=te(re());function Mre(e,t){return jre(e)||Ire(e,t)||Dre(e,t)||Pre()}function Pre(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Dre(e,t){if(e){if(typeof e=="string")return lB(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?lB(e,t):void 0}}function lB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r2&&arguments[2]!==void 0?arguments[2]:[],n=[];for(var o of r)n.push({status:"removed",prev:o});for(var a=0;ae[Math.floor(a*r)]);return v_(n,t)}function Lre(e,t){var r=t.map((n,o)=>e[o]);return v_(r,t)}function Bre(e,t){for(var r=new Map,n=0;n{var p=r(d,f);if(p!=null){var m=n.get(p);if(m!==void 0)return o.add(p),m}}),i=[];for(var l of n){var s=Mre(l,2),u=s[0],c=s[1];o.has(u)||i.push(c)}return v_(a,t,i)}function $v(e,t,r){return t==null?null:e==null?t.map(n=>({status:"added",next:n})):r===Yu?zre(e,t):r===Bv?Lre(e,t):$re(e,t,r)}var jf=te(re());function u1(e,t){var r=(0,jf.useRef)(e),n=(0,jf.useRef)(t.current),o=(0,jf.useRef)(!0);r.current!==e&&(r.current=e,n.current=t.current,o.current=!1);var a=(0,jf.useCallback)(function(i,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(l===0){o.current=!0;return}l===1&&(n.current=i),l>0&&o.current&&s&&(t.current=i)},[t]);return{startValue:n.current,syncStepValue:a}}function Fre(e,t){return Vre(e)||Hre(e,t)||Wre(e,t)||Ure()}function Ure(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Wre(e,t){if(e){if(typeof e=="string")return sB(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?sB(e,t):void 0}}function sB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{typeof e=="function"&&e(),a(!0)},[e]),l=(0,Fv.useCallback)(()=>{typeof t=="function"&&t(),a(!1)},[t]);return{isAnimating:o,handleAnimationStart:i,handleAnimationEnd:l}}function Ss(e){var t,r=e.animationInput,n=e.animationIdPrefix,o=e.items,a=e.previousItemsRef,i=e.isAnimationActive,l=e.animationBegin,s=e.animationDuration,u=e.animationEasing,c=e.onAnimationStart,d=e.onAnimationEnd,f=e.animationInterpolateFn,p=e.animationMatchBy,m=e.shouldUpdatePreviousRef,g=e.children,h=e.layout,v=nx(r,n),y=u1(v,a),b=(t=y.startValue)!==null&&t!==void 0?t:null,x=$v(b,o,p??Yu);return uB.createElement(rx,{animationId:v,begin:l,duration:s,isActive:i,easing:u,onAnimationEnd:d,onAnimationStart:c,key:v},S=>{var w=b==null,T=o==null?o:f(x,S,h),k=m?m(S):S>0;return y.syncStepValue(T,S,k),T==null?null:g(T,S,w)})}var fB=te(re()),y_=te(re());var c1=te(re());var g_;function Kre(e,t){return Xre(e)||Yre(e,t)||Gre(e,t)||qre()}function qre(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Gre(e,t){if(e){if(typeof e=="string")return cB(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?cB(e,t):void 0}}function cB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e=c1.useState(()=>ji("uid-")),t=Kre(e,1),r=t[0];return r},d1=(g_=c1.useId)!==null&&g_!==void 0?g_:Zre;function dB(e,t){var r=d1();return t||(e?"".concat(e,"-").concat(r):r)}var Qre=(0,y_.createContext)(void 0),As=e=>{var t=e.id,r=e.type,n=e.children,o=dB("recharts-".concat(r),t);return fB.createElement(Qre.Provider,{value:o},n(o))};var ja=te(re());var Jre={cartesianItems:[],polarItems:[]},pB=Dt({name:"graphicalItems",initialState:Jre,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(st(t.payload))},prepare:Ft()},replaceCartesianGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,o=r.next,a=Sn(e).cartesianItems.indexOf(st(n));a>-1&&(e.cartesianItems[a]=st(o))},prepare:Ft()},removeCartesianGraphicalItem:{reducer(e,t){var r=Sn(e).cartesianItems.indexOf(st(t.payload));r>-1&&e.cartesianItems.splice(r,1)},prepare:Ft()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(st(t.payload))},prepare:Ft()},removePolarGraphicalItem:{reducer(e,t){var r=Sn(e).polarItems.indexOf(st(t.payload));r>-1&&e.polarItems.splice(r,1)},prepare:Ft()},replacePolarGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,o=r.next,a=Sn(e).polarItems.indexOf(st(n));a>-1&&(e.polarItems[a]=st(o))},prepare:Ft()}}}),zf=pB.actions,mB=zf.addCartesianGraphicalItem,vB=zf.replaceCartesianGraphicalItem,gB=zf.removeCartesianGraphicalItem,yB=zf.addPolarGraphicalItem,hB=zf.removePolarGraphicalItem,xB=zf.replacePolarGraphicalItem;var bB=pB.reducer;var Rre=e=>{var t=Xe(),r=(0,ja.useRef)(null);return(0,ja.useLayoutEffect)(()=>{r.current===null?t(mB(e)):r.current!==e&&t(vB({prev:r.current,next:e})),r.current=e},[t,e]),(0,ja.useLayoutEffect)(()=>()=>{r.current&&(t(gB(r.current)),r.current=null)},[t]),null},Lf=(0,ja.memo)(Rre),ene=e=>{var t=Xe(),r=(0,ja.useRef)(null);return(0,ja.useLayoutEffect)(()=>{r.current===null?t(yB(e)):r.current!==e&&t(xB({prev:r.current,next:e})),r.current=e},[t,e]),(0,ja.useLayoutEffect)(()=>()=>{r.current&&(t(hB(r.current)),r.current=null)},[t]),null},wB=(0,ja.memo)(ene);var tne=["key"],rne=["onMouseEnter","onClick","onMouseLeave"],nne=["id"],one=["id"];function Xu(){return Xu=Object.assign?Object.assign.bind():function(e){for(var t=1;tPv(e.children,Ji),[e.children]),r=Ae(n=>qL(n,e.id,t));return r==null?null:at.createElement(iB,{legendPayload:r})}function cne(e){if(!(e==null||typeof e=="boolean"||typeof e=="function")){if(at.isValidElement(e)){var t,r=(t=e.props)===null||t===void 0?void 0:t.fill;return typeof r=="string"?r:void 0}var n=e.fill;return typeof n=="string"?n:void 0}}var dne=at.memo(e=>{var t=e.dataKey,r=e.nameKey,n=e.sectors,o=e.stroke,a=e.strokeWidth,i=e.fill,l=e.name,s=e.hide,u=e.tooltipType,c=e.formatter,d=e.id,f=e.activeShape,p=cne(f),m=n.map(h=>{var v=h.tooltipPayload;return p==null||v==null?v:v.map(y=>xr(xr({},y),{},{color:p,fill:p}))}),g={dataDefinedOnItem:m,getPosition:h=>{var v;return(v=n[Number(h)])===null||v===void 0?void 0:v.tooltipPosition},settings:{stroke:o,strokeWidth:a,fill:i,dataKey:t,nameKey:r,name:Eo(l,t),hide:s,type:u,color:i,unit:"",formatter:c,graphicalItemId:d}};return at.createElement(xs,{tooltipEntrySettings:g})}),fne=(e,t)=>e>t?"start":etypeof t=="function"?Sr(t(e),r,r*.8):Sr(t,r,r*.8),mne=(e,t,r)=>{var n=t.top,o=t.left,a=t.width,i=t.height,l=lx(a,i),s=o+Sr(e.cx,a,a/2),u=n+Sr(e.cy,i,i/2),c=Sr(e.innerRadius,l,0),d=pne(r,e.outerRadius,l),f=e.maxRadius||Math.sqrt(a*a+i*i)/2;return{cx:s,cy:u,innerRadius:c,outerRadius:d,maxRadius:f}},vne=(e,t)=>{var r=Xt(t-e),n=Math.min(Math.abs(t-e),360);return r*n},gne=(e,t)=>{if(at.isValidElement(e))return at.cloneElement(e,t);if(typeof e=="function")return e(t);var r=He("recharts-pie-label-line",typeof e!="boolean"?e.className:""),n=t.key,o=f1(t,tne);return at.createElement(Ja,Xu({},o,{type:"linear",className:r}))},yne=(e,t,r)=>{if(at.isValidElement(e))return at.cloneElement(e,t);var n=r;if(typeof e=="function"&&(n=e(t),at.isValidElement(n)))return n;var o=He("recharts-pie-label-text",Jb(e));return at.createElement(Ku,Xu({},t,{alignmentBaseline:"middle",className:o}),n)};function hne(e){var t=e.sectors,r=e.props,n=e.showLabels,o=r.label,a=r.labelLine,i=r.dataKey;if(!n||!o||!t)return null;var l=cr(r),s=Ao(o),u=Ao(a),c=typeof o=="object"&&"offsetRadius"in o&&typeof o.offsetRadius=="number"&&o.offsetRadius||20,d=t.map((f,p)=>{var m=(f.startAngle+f.endAngle)/2,g=tr(f.cx,f.cy,f.outerRadius+c,m),h=xr(xr(xr(xr({},l),f),{},{stroke:"none"},s),{},{index:p,textAnchor:fne(g.x,f.cx)},g),v=xr(xr(xr(xr({},l),f),{},{fill:"none",stroke:f.fill},u),{},{index:p,points:[tr(f.cx,f.cy,f.outerRadius,m),g],key:"line"});return at.createElement(rr,{zIndex:vt.label,key:"label-".concat(f.startAngle,"-").concat(f.endAngle,"-").concat(f.midAngle,"-").concat(p)},at.createElement(_t,null,a&&gne(a,v),yne(o,h,nt(f,i))))});return at.createElement(_t,{className:"recharts-pie-labels"},d)}function xne(e){var t=e.sectors,r=e.props,n=e.showLabels,o=r.label;return typeof o=="object"&&o!=null&&"position"in o?at.createElement(ys,{label:o}):at.createElement(hne,{sectors:t,props:r,showLabels:n})}function bne(e){var t=e.sectors,r=e.activeShape,n=e.inactiveShape,o=e.allOtherPieProps,a=e.shape,i=e.id,l=e.animationElapsedTime,s=e.isAnimating,u=e.isEntrance,c=Ae(da),d=Ae(Sf),f=Ae(Pb),p=o.onMouseEnter,m=o.onClick,g=o.onMouseLeave,h=f1(o,rne),v=Iv(p,o.dataKey,i),y=jv(g),b=zv(m,o.dataKey,i);return t==null||t.length===0?null:at.createElement(at.Fragment,null,t.map((x,S)=>{if(x?.startAngle===0&&x?.endAngle===0&&t.length!==1)return null;var w=f==null||f===i,T=String(S)===c&&(d==null||o.dataKey===d)&&w,k=c?n:null,A=r&&T?r:k,M=xr(xr({},x),{},{stroke:x.stroke,tabIndex:-1,index:S,isActive:T,animationElapsedTime:l,isAnimating:s,isEntrance:u,[$0]:S,[F0]:i});return at.createElement(_t,Xu({key:"sector-".concat(x?.startAngle,"-").concat(x?.endAngle,"-").concat(x.midAngle,"-").concat(S),tabIndex:-1,className:"recharts-pie-sector"},Li(h,x,S),{onMouseEnter:v(x,S),onMouseLeave:y(x,S),onClick:b(x,S)}),at.createElement(hs,{option:A??a,DefaultShape:AB,shapeProps:M}))}))}function YL(e){var t,r=e.pieSettings,n=e.displayedData,o=e.cells,a=e.offset,i=r.cornerRadius,l=r.startAngle,s=r.endAngle,u=r.dataKey,c=r.nameKey,d=r.tooltipType,f=Math.abs(r.minAngle),p=vne(l,s),m=Math.abs(p),g=n.length<=1?0:(t=r.paddingAngle)!==null&&t!==void 0?t:0,h=n.filter(k=>nt(k,u,0)!==0).length,v=(m>=360?h:h-1)*g,y=n.reduce((k,A)=>{var M=nt(A,u,0);return k+(Se(M)?M:0)},0),b=f>0&&y>0&&n.some(k=>{var A=nt(k,u,0),M=(Se(A)?A:0)/y;return A!==0&&M*m0){var T;w=n.map((k,A)=>{var M=nt(k,u,0),H=nt(k,c,A),F=mne(r,a,k),X=(Se(M)?M:0)/y,P,Y=xr(xr({},k),o&&o[A]&&o[A].props),C=Y!=null&&"fill"in Y&&typeof Y.fill=="string"?Y.fill:r.fill;A?P=T.endAngle+Xt(p)*g*(M!==0?1:0):P=l;var _=P+Xt(p)*((M!==0?x:0)+X*S),z=(P+_)/2,D=(F.innerRadius+F.outerRadius)/2,E=[{name:H,value:M,payload:Y,dataKey:u,type:d,color:C,fill:C,graphicalItemId:r.id}],j=tr(F.cx,F.cy,D,z);return T=xr(xr(xr(xr({},r.presentationProps),{},{percent:X,cornerRadius:typeof i=="string"?parseFloat(i):i,name:H,tooltipPayload:E,midAngle:z,middleRadius:D,tooltipPosition:j},Y),F),{},{value:M,dataKey:u,startAngle:P,endAngle:_,payload:Y,paddingAngle:M!==0?Xt(p)*g:0}),T})}return w}function wne(e){var t=e.showLabels,r=e.sectors,n=e.children,o=(0,Bf.useMemo)(()=>!t||!r?[]:r.map(a=>({value:a.value,payload:a.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:a.cx,cy:a.cy,innerRadius:a.innerRadius,outerRadius:a.outerRadius,startAngle:a.startAngle,endAngle:a.endAngle,clockWise:!1},fill:a.fill})),[r,t]);return at.createElement(LL,{value:t?o:void 0},n)}var Sne=(e,t)=>{if(e==null)return[];var r=[],n=e.find(a=>a.status!=="removed"),o=n?n.next.startAngle:0;return e.forEach((a,i)=>{if(a.status!=="removed"){var l=i>0?un(a.next,"paddingAngle",0):0;if(a.status==="matched"){var s=Pt(a.prev.endAngle-a.prev.startAngle,a.next.endAngle-a.next.startAngle,t),u=xr(xr({},a.next),{},{startAngle:o+l,endAngle:o+s+l});r.push(u),o=u.endAngle}else{var c=Pt(0,a.next.endAngle-a.next.startAngle,t),d=xr(xr({},a.next),{},{startAngle:o+l,endAngle:o+c+l});r.push(d),o=d.endAngle}}}),r};function Ane(e){var t,r,n,o,a=e.props,i=e.previousSectorsRef,l=e.id,s=a.sectors,u=a.activeShape,c=a.inactiveShape,d=a.animationInterpolateFn,f=ws(a.onAnimationStart,a.onAnimationEnd),p=f.isAnimating,m=f.handleAnimationStart,g=f.handleAnimationEnd,h=d8();if(h==null)return null;var v=s[0];return at.createElement(wne,{showLabels:!p,sectors:s},at.createElement(Ss,{animationInput:a,animationIdPrefix:"recharts-pie-",items:s,previousItemsRef:i,isAnimationActive:a.isAnimationActive,animationBegin:a.animationBegin,animationDuration:a.animationDuration,animationEasing:a.animationEasing,onAnimationStart:m,onAnimationEnd:g,animationInterpolateFn:d,animationMatchBy:a.animationMatchBy,layout:h},(y,b,x)=>at.createElement(_t,null,at.createElement(bne,{sectors:y,activeShape:u,inactiveShape:c,allOtherPieProps:a,shape:a.shape,id:l,animationElapsedTime:b,isAnimating:p||b<1,isEntrance:x}))),at.createElement(xne,{showLabels:!p,sectors:s,props:a}),at.createElement(PL,{cx:(t=v?.cx)!==null&&t!==void 0?t:0,cy:(r=v?.cy)!==null&&r!==void 0?r:0,innerRadius:(n=v?.innerRadius)!==null&&n!==void 0?n:0,outerRadius:(o=v?.outerRadius)!==null&&o!==void 0?o:0,startAngle:a.startAngle,endAngle:a.endAngle,clockWise:!1},a.children))}var kne={animationBegin:400,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:Sne,animationMatchBy:Bv,cx:"50%",cy:"50%",dataKey:"value",endAngle:360,fill:"#808080",hide:!1,innerRadius:0,isAnimationActive:"auto",label:!1,labelLine:!0,legendType:"rect",minAngle:0,nameKey:"name",outerRadius:"80%",paddingAngle:0,rootTabIndex:0,shape:AB,startAngle:0,stroke:"#fff",zIndex:vt.area};function Cne(e){var t=e.id,r=f1(e,nne),n=e.hide,o=e.className,a=e.rootTabIndex,i=(0,Bf.useMemo)(()=>Pv(e.children,Ji),[e.children]),l=Ae(c=>GL(c,t,i)),s=(0,Bf.useRef)(null),u=He("recharts-pie",o);return n||l==null?(s.current=null,at.createElement(_t,{tabIndex:a,className:u})):at.createElement(rr,{zIndex:e.zIndex},at.createElement(dne,{dataKey:e.dataKey,nameKey:e.nameKey,sectors:l,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,tooltipType:e.tooltipType,formatter:e.formatter,id:t,activeShape:e.activeShape}),at.createElement(_t,{tabIndex:a,className:u},at.createElement(Ane,{props:xr(xr({},r),{},{sectors:l}),previousSectorsRef:s,id:t})))}function Nne(e){var t=ft(e,kne),r=t.id,n=f1(t,one),o=cr(n);return at.createElement(As,{id:r,type:"pie"},a=>at.createElement(at.Fragment,null,at.createElement(wB,{type:"pie",id:a,data:n.data,dataKey:n.dataKey,hide:n.hide,angleAxisId:0,radiusAxisId:0,name:n.name,nameKey:n.nameKey,tooltipType:n.tooltipType,legendType:n.legendType,fill:n.fill,cx:n.cx,cy:n.cy,startAngle:n.startAngle,endAngle:n.endAngle,paddingAngle:n.paddingAngle,minAngle:n.minAngle,innerRadius:n.innerRadius,outerRadius:n.outerRadius,cornerRadius:n.cornerRadius,presentationProps:o,maxRadius:t.maxRadius}),at.createElement(une,Xu({},n,{id:a})),at.createElement(Cne,Xu({},n,{id:a}))))}var p1=Nne;p1.displayName="Pie";var Uv=te(re()),v1=te(re());var _ne=["points"];function kB(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function h_(e){for(var t=1;t{var v,y,b=h_(h_(h_({r:3},i),f),{},{index:h,cx:(v=g.x)!==null&&v!==void 0?v:void 0,cy:(y=g.y)!==null&&y!==void 0?y:void 0,dataKey:a,value:g.value,payload:g.payload,points:t});return Uv.createElement(Dne,{key:"dot-".concat(h),option:r,dotProps:b,className:o})}),m={};return l&&s!=null&&(m.clipPath="url(#clipPath-".concat(d?"":"dots-").concat(s,")")),Uv.createElement(rr,{zIndex:c},Uv.createElement(_t,m1({className:n},m),p))}var Wv=te(re()),h1=te(re());function CB(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function y1(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right}));var LB=J([zB,fn,pn],(e,t,r)=>{if(!(!e||t==null||r==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,r-e.top-e.bottom)}});var ks=()=>Ae(LB),BB=()=>Ae(uz);function $B(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function b_(e){for(var t=1;t{var t=e.point,r=e.childIndex,n=e.mainColor,o=e.activeDot,a=e.dataKey,i=e.clipPath;if(o===!1||t.x==null||t.y==null)return null;var l={index:r,dataKey:a,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},s=b_(b_(b_({},l),Ao(o)),Od(o)),u;return(0,h1.isValidElement)(o)?u=(0,h1.cloneElement)(o,s):typeof o=="function"?u=o(s):u=Wv.createElement(Yb,s),Wv.createElement(_t,{className:"recharts-active-dot",clipPath:i},u)};function Hv(e){var t=e.points,r=e.mainColor,n=e.activeDot,o=e.itemDataKey,a=e.clipPath,i=e.zIndex,l=i===void 0?vt.activeDot:i,s=Ae(da),u=BB();if(t==null||u==null)return null;var c=t.find(d=>u.includes(d.payload));return mt(c)?null:Wv.createElement(rr,{zIndex:l},Wv.createElement(Wne,{point:c,childIndex:Number(s),mainColor:r,dataKey:o,activeDot:n,clipPath:a}))}function Hne(e,t){return Gne(e)||qne(e,t)||Kne(e,t)||Vne()}function Vne(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Kne(e,t){if(e){if(typeof e=="string")return FB(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?FB(e,t):void 0}}function FB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var n=r??e;if(!mt(n))return Sr(n,t,0)},WB=(e,t,r)=>{var n={},o=e.filter(_u),a=e.filter(u=>u.stackId==null),i=o.reduce((u,c)=>{var d=u[c.stackId];return d==null&&(d=[]),d.push(c),u[c.stackId]=d,u},n),l=Object.entries(i).map(u=>{var c,d=Hne(u,2),f=d[0],p=d[1],m=p.map(h=>h.dataKey),g=UB(t,r,(c=p[0])===null||c===void 0?void 0:c.barSize);return{stackId:f,dataKeys:m,barSize:g}}),s=a.map(u=>{var c=[u.dataKey].filter(f=>f!=null),d=UB(t,r,u.barSize);return{stackId:void 0,dataKeys:c,barSize:d}});return[...l,...s]};function HB(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function x1(e){for(var t=1;ty+(b.barSize||0),0);f+=(i-1)*l,f>=r&&(f-=(i-1)*l,l=0),f>=r&&d>0&&(c=!0,d*=.9,f=i*d);var p=Math.round((r-f)/2),m={offset:p-l,size:0};s=n.reduce((y,b)=>{var x,S={stackId:b.stackId,dataKeys:b.dataKeys,position:{offset:m.offset+m.size+l,size:c?d:(x=b.barSize)!==null&&x!==void 0?x:0}},w=[...y,S];return m=S.position,w},u)}else{var g=Sr(t,r,0,!0);r-2*g-(i-1)*l<=0&&(l=0);var h=(r-2*g-(i-1)*l)/i;h>1&&(h=Math.round(h));var v=qe(o)?Math.min(h,o):h;s=n.reduce((y,b,x)=>[...y,{stackId:b.stackId,dataKeys:b.dataKeys,position:{offset:g+i*(h-v)/2+(v+l)*x,size:v}}],u)}return s}}var VB=(e,t,r,n,o,a,i)=>{var l=mt(i)?t:i,s=Qne(r,n,o!==a?o:a,e,l);return o!==a&&s!=null&&(s=s.map(u=>x1(x1({},u),{},{position:x1(x1({},u.position),{},{offset:u.position.offset-o/2})}))),s};var KB=(e,t)=>{var r=rs(t);if(!(!e||r==null||t==null)){var n=t.stackId;if(n!=null){var o=e[n];if(o){var a=o.stackedData;if(a)return a.find(i=>i.key===r)}}}};var qB=(e,t)=>{if(!(e==null||t==null)){var r=e.find(n=>n.stackId===t.stackId&&t.dataKey!=null&&n.dataKeys.includes(t.dataKey));if(r!=null)return r.position}};function GB(e,t){return e&&typeof e=="object"&&"zIndex"in e&&typeof e.zIndex=="number"&&qe(e.zIndex)?e.zIndex:t}var YB=te(re());var b1=e=>{var t=e.chartData,r=Xe(),n=It();return(0,YB.useEffect)(()=>n?()=>{}:(r(a_(t)),()=>{r(a_(void 0))}),[t,r,n]),null};var XB={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},ZB=Dt({name:"brush",initialState:XB,reducers:{setBrushSettings(e,t){return t.payload==null?XB:t.payload}}}),lOe=ZB.actions.setBrushSettings;var QB=ZB.reducer;function Jne(e){return(e%180+180)%180}var JB=function(t){var r=t.width,n=t.height,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=Jne(o),i=a*Math.PI/180,l=Math.atan(n/r),s=i>l&&i{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=Sn(e).dots.findIndex(n=>n===t.payload);r!==-1&&e.dots.splice(r,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var r=Sn(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push(st(t.payload))},removeLine:(e,t)=>{var r=Sn(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),$f=RB.actions,fOe=$f.addDot,pOe=$f.removeDot,mOe=$f.addArea,vOe=$f.removeArea,gOe=$f.addLine,yOe=$f.removeLine;var e7=RB.reducer;var Vv=te(re()),Kv=te(re());function eoe(e,t){return ooe(e)||noe(e,t)||roe(e,t)||toe()}function toe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function roe(e,t){if(e){if(typeof e=="string")return t7(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t7(e,t):void 0}}function t7(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=(0,Kv.useState)("".concat(ji("recharts"),"-clip")),n=eoe(r,1),o=n[0],a=ks();if(a==null)return null;var i=a.x,l=a.y,s=a.width,u=a.height;return Vv.createElement(aoe.Provider,{value:o},Vv.createElement("defs",null,Vv.createElement("clipPath",{id:o},Vv.createElement("rect",{x:i,y:l,height:u,width:s}))),t)};var pr=te(re()),Dn=te(re());function n7(){}function w_(e){if(!e||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)==="[object Object]":!1}function o7(e,t,r){return qv(e,t,void 0,void 0,void 0,void 0,r)}function qv(e,t,r,n,o,a,i){let l=i(e,t,r,n,o,a);if(l!==void 0)return l;if(typeof e==typeof t)switch(typeof e){case"bigint":case"string":case"boolean":case"symbol":case"undefined":return e===t;case"number":return e===t||Object.is(e,t);case"function":return e===t;case"object":return Gv(e,t,a,i)}return Gv(e,t,a,i)}function Gv(e,t,r,n){if(Object.is(e,t))return!0;let o=Bi(e),a=Bi(t);if(o==="[object Arguments]"&&(o=Dd),a==="[object Arguments]"&&(a=Dd),o!==a)return!1;switch(o){case Td:return e.toString()===t.toString();case Md:return Ql(e.valueOf(),t.valueOf());case Pd:case Bh:case Lh:return Object.is(e.valueOf(),t.valueOf());case jh:return e.source===t.source&&e.flags===t.flags;case iP:return e===t}r=r??new Map;let i=r.get(e),l=r.get(t);if(i!=null&&l!=null)return i===t;r.set(e,t),r.set(t,e);try{switch(o){case $h:if(e.size!==t.size)return!1;for(let[s,u]of e.entries())if(!t.has(s)||!qv(u,t.get(s),s,e,t,r,n))return!1;return!0;case Fh:{if(e.size!==t.size)return!1;let s=Array.from(e.values()),u=Array.from(t.values());for(let c=0;cqv(d,p,void 0,e,t,r,n));if(f===-1)return!1;u.splice(f,1)}return!0}case Uh:case Vh:case Kh:case qh:case Gh:case sP:case Yh:case Xh:case Zh:case uP:case Qh:case Jh:if(Nm(e)!==Nm(t)||e.length!==t.length)return!1;for(let s=0;se*o)return!1;var a=r();return e*(t-e*a/2-n)>=0&&e*(t+e*a/2-o)<=0}function l7(e,t){return w1(e,t+1)}function s7(e,t,r,n,o){for(var a=(n||[]).slice(),i=t.start,l=t.end,s=0,u=1,c=i,d=function(){var m=n?.[s];if(m===void 0)return{v:w1(n,u)};var g=s,h,v=()=>(h===void 0&&(h=r(m,g)),h),y=m.coordinate,b=s===0||Zu(e,y,v,c,l);b||(s=0,c=i,u+=1),b&&(c=y+e*(v()/2+o),s+=u)},f;u<=a.length;)if(f=d(),f)return f.v;return[]}function u7(e,t,r,n,o){var a=(n||[]).slice(),i=a.length;if(i===0)return[];for(var l=t.start,s=t.end,u=1;u<=i;u++){for(var c=(i-1)%u,d=l,f=!0,p=function(){var x=n[g];if(x==null)return 0;var S=g,w,T=()=>(w===void 0&&(w=r(x,S)),w),k=x.coordinate,A=g===c||Zu(e,k,T,d,s);if(!A)return f=!1,1;A&&(d=k+e*(T()/2+o))},m,g=c;g(g===void 0&&(g=r(p,f)),g);if(f===i-1){var v=e*(m.coordinate+e*h()/2-s);a[f]=m=Pn(Pn({},m),{},{tickCoord:v>0?m.coordinate-v*e:m.coordinate})}else a[f]=m=Pn(Pn({},m),{},{tickCoord:m.coordinate});if(m.tickCoord!=null){var y=Zu(e,m.tickCoord,h,l,s);y&&(s=m.tickCoord-e*(h()/2+o),a[f]=Pn(Pn({},m),{},{isShow:!0}))}},c=i-1;c>=0;c--)u(c);return a}function coe(e,t,r,n,o,a){var i=(n||[]).slice(),l=i.length,s=t.start,u=t.end;if(a){var c=n[l-1];if(c!=null){var d=r(c,l-1),f=e*(c.coordinate+e*d/2-u);if(i[l-1]=c=Pn(Pn({},c),{},{tickCoord:f>0?c.coordinate-f*e:c.coordinate}),c.tickCoord!=null){var p=Zu(e,c.tickCoord,()=>d,s,u);p&&(u=c.tickCoord-e*(d/2+o),i[l-1]=Pn(Pn({},c),{},{isShow:!0}))}}}for(var m=a?l-1:l,g=function(y){var b=i[y];if(b==null)return 1;var x=b,S,w=()=>(S===void 0&&(S=r(b,y)),S);if(y===0){var T=e*(x.coordinate-e*w()/2-s);i[y]=x=Pn(Pn({},x),{},{tickCoord:T<0?x.coordinate-T*e:x.coordinate})}else i[y]=x=Pn(Pn({},x),{},{tickCoord:x.coordinate});if(x.tickCoord!=null){var k=Zu(e,x.tickCoord,w,s,u);k&&(s=x.tickCoord+e*(w()/2+o),i[y]=Pn(Pn({},x),{},{isShow:!0}))}},h=0;h{var T=typeof u=="function"?u(S.value,w):S.value;return m==="width"?a7(Vu(T,{fontSize:t,letterSpacing:r}),g,d):Vu(T,{fontSize:t,letterSpacing:r})[m]},v=o[0],y=o[1],b=o.length>=2&&v!=null&&y!=null?Xt(y.coordinate-v.coordinate):1,x=i7(a,b,m);return s==="equidistantPreserveStart"?s7(b,x,h,o,i):s==="equidistantPreserveEnd"?u7(b,x,h,o,i):(s==="preserveStart"||s==="preserveStartEnd"?p=coe(b,x,h,o,i,s==="preserveStartEnd"):p=uoe(b,x,h,o,i),p.filter(S=>S.isShow))}var d7=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,o=n===void 0?5:n,a=e.tickSize,i=a===void 0?0:a,l=e.tickMargin,s=l===void 0?0:l,u=0;if(t){Array.from(t).forEach(p=>{if(p){var m=p.getBoundingClientRect();m.width>u&&(u=m.width)}});var c=r?r.getBoundingClientRect().width:0,d=i+s,f=u+d+c+(r?o:0);return Math.round(f)}return 0};var f7=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,o=n===void 0?5:n,a=e.tickSize,i=a===void 0?0:a,l=e.tickMargin,s=l===void 0?0:l,u=0;if(t){Array.from(t).forEach(p=>{if(p){var m=p.getBoundingClientRect();m.height>u&&(u=m.height)}});var c=r?r.getBoundingClientRect().height:0,d=i+s,f=u+d+c+(r?o:0);return Math.round(f)}return 0};var doe={xAxis:{},yAxis:{}},p7=Dt({name:"renderedTicks",initialState:doe,reducers:{setRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,o=r.axisId,a=r.ticks;e[n][o]=st(a)},removeRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,o=r.axisId;delete e[n][o]}}}),m7=p7.actions,v7=m7.setRenderedTicks,g7=m7.removeRenderedTicks;var y7=p7.reducer;var foe=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function h7(e,t){return goe(e)||voe(e,t)||moe(e,t)||poe()}function poe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function moe(e,t){if(e){if(typeof e=="string")return x7(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?x7(e,t):void 0}}function x7(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(!(n==null||r==null)){var i=t.map(s=>({value:s.value,coordinate:s.coordinate,offset:s.offset,index:s.index})),l=a.current;l!=null&&l.axisId===n&&l.axisType===r&&S_(l.ticks,i)||(a.current={ticks:i,axisId:n,axisType:r},o(v7({ticks:i,axisId:n,axisType:r})))}},[o,t,n,r]),(0,Dn.useEffect)(()=>n==null||r==null?Un:()=>{o(g7({axisId:n,axisType:r}))},[o,n,r]),null}var Eoe=(0,Dn.forwardRef)((e,t)=>{var r=e.ticks,n=r===void 0?[]:r,o=e.tick,a=e.tickLine,i=e.stroke,l=e.tickFormatter,s=e.unit,u=e.padding,c=e.tickTextProps,d=e.orientation,f=e.mirror,p=e.x,m=e.y,g=e.width,h=e.height,v=e.tickSize,y=e.tickMargin,b=e.fontSize,x=e.letterSpacing,S=e.getTicksConfig,w=e.events,T=e.axisType,k=e.axisId,A=Yv(Or(Or({},S),{},{ticks:n}),b,x),M=cr(S),H=Ao(o),F=Kb(M.textAnchor)?M.textAnchor:koe(d,f),X=Coe(d,f),P={};typeof a=="object"&&(P=a);var Y=Or(Or({},M),{},{fill:"none"},P),C=A.map(D=>Or({entry:D},Aoe(D,p,m,g,h,d,v,f,y))),_=C.map(D=>{var E=D.entry,j=D.line;return pr.createElement(_t,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(E.value,"-").concat(E.coordinate,"-").concat(E.tickCoord)},a&&pr.createElement("line",Qu({},Y,j,{className:He("recharts-cartesian-axis-tick-line",un(a,"className"))})))}),z=C.map((D,E)=>{var j,R,U=D.entry,L=D.tick,K=Or(Or(Or(Or({verticalAnchor:X},M),{},{textAnchor:F,stroke:"none",fill:i},L),{},{index:E,payload:U,visibleTicksCount:A.length,tickFormatter:l,padding:u},c),{},{angle:(j=(R=c?.angle)!==null&&R!==void 0?R:M.angle)!==null&&j!==void 0?j:0}),ae=Or(Or({},K),H);return pr.createElement(_t,Qu({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(U.value,"-").concat(U.coordinate,"-").concat(U.tickCoord)},Li(w,U,E)),o&&pr.createElement(Noe,{option:o,tickProps:ae,value:"".concat(typeof l=="function"?l(U.value,E):U.value).concat(s||"")}))});return pr.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(T,"-ticks")},pr.createElement(_oe,{ticks:A,axisId:k,axisType:T}),z.length>0&&pr.createElement(rr,{zIndex:vt.label},pr.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(T,"-tick-labels"),ref:t},z)),_.length>0&&pr.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(T,"-tick-lines")},_))}),Ooe=(0,Dn.forwardRef)((e,t)=>{var r=e.axisLine,n=e.width,o=e.height,a=e.className,i=e.hide,l=e.ticks,s=e.axisType,u=e.axisId,c=yoe(e,foe),d=(0,Dn.useState)(""),f=h7(d,2),p=f[0],m=f[1],g=(0,Dn.useState)(""),h=h7(g,2),v=h[0],y=h[1],b=(0,Dn.useRef)(null);(0,Dn.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>{var S;return d7({ticks:b.current,label:(S=e.labelRef)===null||S===void 0?void 0:S.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})},getCalculatedHeight:()=>{var S;return f7({ticks:b.current,label:(S=e.labelRef)===null||S===void 0?void 0:S.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var x=(0,Dn.useCallback)(S=>{if(S){var w=S.getElementsByClassName("recharts-cartesian-axis-tick-value");b.current=w;var T=w[0];if(T){var k=window.getComputedStyle(T),A=k.fontSize,M=k.letterSpacing;(A!==p||M!==v)&&(m(A),y(M))}}},[p,v]);return i||n!=null&&n<=0||o!=null&&o<=0?null:pr.createElement(rr,{zIndex:e.zIndex},pr.createElement(_t,{className:He("recharts-cartesian-axis",a)},pr.createElement(Soe,{x:e.x,y:e.y,width:n,height:o,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:cr(e)}),pr.createElement(Eoe,{ref:x,axisType:s,events:c,fontSize:p,getTicksConfig:e,height:e.height,letterSpacing:v,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:l,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:u}),pr.createElement(OL,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},pr.createElement(DL,{label:e.label,labelRef:e.labelRef}),e.children)))}),Xv=pr.forwardRef((e,t)=>{var r=ft(e,ma);return pr.createElement(Ooe,Qu({},r,{ref:t}))});Xv.displayName="CartesianAxis";var Tr=te(re());var S1=te(re());var w7={grid:{stroke:"#ccc",fill:"none"}};var S7=(0,S1.createContext)(w7),wTe=S7.Provider,A7=()=>(0,S1.useContext)(S7);var Toe=["x1","y1","x2","y2","key"],Moe=["offset"],Poe=["xAxisId","yAxisId"],Doe=["xAxisId","yAxisId"];function k7(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function In(e){for(var t=1;t{var t=e.fill;if(!t||t==="none")return null;var r=e.fillOpacity,n=e.x,o=e.y,a=e.width,i=e.height,l=e.ry;return Tr.createElement("rect",{x:n,y:o,ry:l,width:a,height:i,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function C7(e){var t=e.option,r=e.lineItemProps,n;if(Tr.isValidElement(t))n=Tr.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var o,a=r.x1,i=r.y1,l=r.x2,s=r.y2,u=r.key,c=A1(r,Toe),d=(o=cr(c))!==null&&o!==void 0?o:{},f=d.offset,p=A1(d,Moe),m=Array.isArray(p.strokeDasharray)?p.strokeDasharray.join(","):p.strokeDasharray;n=Tr.createElement("line",Ju({},p,{strokeDasharray:m,x1:a,y1:i,x2:l,y2:s,fill:"none",key:u}))}return n}function $oe(e){var t=e.x,r=e.width,n=e.horizontal,o=n===void 0?!0:n,a=e.horizontalPoints;if(!o||!a||!a.length)return null;var i=e.xAxisId,l=e.yAxisId,s=A1(e,Poe),u=a.map((c,d)=>{var f=In(In({},s),{},{x1:t,y1:c,x2:t+r,y2:c,key:"line-".concat(d),index:d});return Tr.createElement(C7,{key:"line-".concat(d),option:o,lineItemProps:f})});return Tr.createElement("g",{className:"recharts-cartesian-grid-horizontal"},u)}function Foe(e){var t=e.y,r=e.height,n=e.vertical,o=n===void 0?!0:n,a=e.verticalPoints;if(!o||!a||!a.length)return null;var i=e.xAxisId,l=e.yAxisId,s=A1(e,Doe),u=a.map((c,d)=>{var f=In(In({},s),{},{x1:c,y1:t,x2:c,y2:t+r,key:"line-".concat(d),index:d});return Tr.createElement(C7,{option:o,lineItemProps:f,key:"line-".concat(d)})});return Tr.createElement("g",{className:"recharts-cartesian-grid-vertical"},u)}function Uoe(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,o=e.y,a=e.width,i=e.height,l=e.horizontalPoints,s=e.horizontal,u=s===void 0?!0:s;if(!u||!t||!t.length||l==null)return null;var c=l.map(f=>Math.round(f+o-o)).sort((f,p)=>f-p);o!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var m=c[p+1],g=m==null,h=g?o+i-f:m-f;if(h<=0)return null;var v=p%t.length;return Tr.createElement("rect",{key:"react-".concat(p),y:f,x:n,height:h,width:a,stroke:"none",fill:t[v],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return Tr.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function Woe(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,o=e.fillOpacity,a=e.x,i=e.y,l=e.width,s=e.height,u=e.verticalPoints;if(!r||!n||!n.length)return null;var c=u.map(f=>Math.round(f+a-a)).sort((f,p)=>f-p);a!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var m=c[p+1],g=m==null,h=g?a+l-f:m-f;if(h<=0)return null;var v=p%n.length;return Tr.createElement("rect",{key:"react-".concat(p),x:f,y:i,width:h,height:s,stroke:"none",fill:n[v],fillOpacity:o,className:"recharts-cartesian-grid-bg"})});return Tr.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var Hoe=(e,t)=>{var r=e.xAxis,n=e.width,o=e.height,a=e.offset;return Xk(Yv(In(In(In({},ma),r),{},{ticks:Zk(r,!0),viewBox:{x:0,y:0,width:n,height:o}})),a.left,a.left+a.width,t)},Voe=(e,t)=>{var r=e.yAxis,n=e.width,o=e.height,a=e.offset;return Xk(Yv(In(In(In({},ma),r),{},{ticks:Zk(r,!0),viewBox:{x:0,y:0,width:n,height:o}})),a.top,a.top+a.height,t)},Koe={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:vt.grid};function rl(e){var t,r,n,o,a,i,l=Kd(),s=qd(),u=K0(),c=In(In({},ft(e,Koe)),{},{x:Se(e.x)?e.x:u.left,y:Se(e.y)?e.y:u.top,width:Se(e.width)?e.width:u.width,height:Se(e.height)?e.height:u.height}),d=c.xAxisId,f=c.yAxisId,p=c.x,m=c.y,g=c.width,h=c.height,v=c.syncWithTicks,y=c.horizontalValues,b=c.verticalValues,x=It(),S=Ae(_=>zN(_,"xAxis",d,x)),w=Ae(_=>zN(_,"yAxis",f,x)),T=A7(),k={stroke:(t=c.stroke)!==null&&t!==void 0?t:T.grid.stroke,strokeWidth:(r=c.strokeWidth)!==null&&r!==void 0?r:T.grid.strokeWidth,strokeOpacity:(n=c.strokeOpacity)!==null&&n!==void 0?n:T.grid.strokeOpacity,strokeDasharray:(o=c.strokeDasharray)!==null&&o!==void 0?o:T.grid.strokeDasharray};if(!ro(g)||!ro(h)||!Se(p)||!Se(m))return null;var A=c.verticalCoordinatesGenerator||Hoe,M=c.horizontalCoordinatesGenerator||Voe,H=c.horizontalPoints,F=c.verticalPoints;if((!H||!H.length)&&typeof M=="function"){var X=y&&y.length,P=M({yAxis:w?In(In({},w),{},{ticks:X?y:w.ticks}):void 0,width:l??g,height:s??h,offset:u},X?!0:v);Vd(Array.isArray(P),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof P,"]")),Array.isArray(P)&&(H=P)}if((!F||!F.length)&&typeof A=="function"){var Y=b&&b.length,C=A({xAxis:S?In(In({},S),{},{ticks:Y?b:S.ticks}):void 0,width:l??g,height:s??h,offset:u},Y?!0:v);Vd(Array.isArray(C),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof C,"]")),Array.isArray(C)&&(F=C)}return Tr.createElement(rr,{zIndex:c.zIndex},Tr.createElement("g",{className:"recharts-cartesian-grid"},Tr.createElement(Boe,{fill:(a=c.fill)!==null&&a!==void 0?a:T.grid.fill,fillOpacity:(i=c.fillOpacity)!==null&&i!==void 0?i:T.grid.fillOpacity,x:c.x,y:c.y,width:c.width,height:c.height,ry:c.ry}),Tr.createElement(Uoe,Ju({},c,{horizontalPoints:H})),Tr.createElement(Woe,Ju({},c,{verticalPoints:F})),Tr.createElement($oe,Ju({},c,k,{offset:u,horizontalPoints:H,xAxis:S,yAxis:w})),Tr.createElement(Foe,Ju({},c,k,{offset:u,verticalPoints:F,xAxis:S,yAxis:w}))))}rl.displayName="CartesianGrid";var Ot=te(re()),nl=te(re());var N7=te(re());var qoe=["animationElapsedTime","isAnimating","isEntrance","visibleLength","strokeDasharray","connectNulls"];function A_(){return A_=Object.assign?Object.assign.bind():function(e){for(var t=1;tp+m,0);if(!o)return _7(t,e);for(var a=Math.floor(e/o),i=e%o,l=[],s=0,u=0;si){l=[...n.slice(0,s),i-u];break}}var f=l.length%2===0?[0,t]:[t];return[...Qoe(n,a),...l,...f].map(p=>"".concat(p,"px")).join(", ")}function Roe(e,t,r){if(e){var n="".concat(e).split(/[,\s]+/gim).map(o=>parseFloat(o));return Joe(r,t,n)}return _7(t,r)}function E7(e){var t=e.animationElapsedTime,r=e.isAnimating,n=e.isEntrance,o=e.visibleLength,a=e.strokeDasharray,i=e.connectNulls,l=Goe(e,qoe),s=i??!1,u;if(o!=null){var c,d=l.pathRef,f=Xoe((c=d?.current)!==null&&c!==void 0?c:null);u=Roe(a,f,o)}else a!=null&&(u=String(a));return N7.createElement(Ja,A_({},l,{connectNulls:s,strokeDasharray:u}))}var Ru=te(re());function O7(e){var t=(0,Ru.useRef)(0),r=(0,Ru.useRef)(0),n=(0,Ru.useRef)(!1),o=(0,Ru.useRef)(e);return o.current!==e&&(t.current=r.current,o.current=e),(0,Ru.useCallback)((a,i)=>{if(n.current)return null;var l=Math.min(ea(t.current+a*i),i);return a>0&&i>0&&(r.current=Math.max(r.current,l),l>=i)?(n.current=!0,null):l},[])}var P7=te(re()),Zv=te(re());var eae={},T7=Dt({name:"errorBars",initialState:eae,reducers:{addErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,o=r.errorBar;e[n]||(e[n]=[]),e[n].push(o)},replaceErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,o=r.prev,a=r.next;e[n]&&(e[n]=e[n].map(i=>i.dataKey===o.dataKey&&i.direction===o.direction?a:i))},removeErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,o=r.errorBar;e[n]&&(e[n]=e[n].filter(a=>a.dataKey!==o.dataKey||a.direction!==o.direction))}}}),k_=T7.actions,VTe=k_.addErrorBar,KTe=k_.replaceErrorBar,qTe=k_.removeErrorBar;var M7=T7.reducer;var tae=["children"];function rae(e,t){if(e==null)return{};var r,n,o=nae(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n({x:0,y:0,value:0}),errorBarOffset:0},aae=(0,Zv.createContext)(oae);function k1(e){var t=e.children,r=rae(e,tae);return P7.createElement(aae.Provider,{value:r},t)}var C_=te(re());function ec(e,t){var r,n,o=Ae(u=>ai(u,e)),a=Ae(u=>ii(u,t)),i=(r=o?.allowDataOverflow)!==null&&r!==void 0?r:Fr.allowDataOverflow,l=(n=a?.allowDataOverflow)!==null&&n!==void 0?n:Ur.allowDataOverflow,s=i||l;return{needClip:s,needClipX:i,needClipY:l}}function Ff(e){var t=e.xAxisId,r=e.yAxisId,n=e.clipPathId,o=ks(),a=ec(t,r),i=a.needClipX,l=a.needClipY,s=a.needClip,u=Ae(b=>NN(b,t,!1)),c=Ae(b=>_N(b,r,!1));if(!s||!o)return null;var d=o.x,f=o.y,p=o.width,m=o.height,g=i&&u?Math.min(u[0],u[1]):d-p/2,h=l&&c?Math.min(c[0],c[1]):f-m/2,v=i&&u?Math.abs(u[1]-u[0]):p*2,y=l&&c?Math.abs(c[1]-c[0]):m*2;return C_.createElement("clipPath",{id:"clipPath-".concat(n)},C_.createElement("rect",{x:g,y:h,width:v,height:y}))}var D7=(e,t,r,n)=>jo(e,"xAxis",t,n),I7=(e,t,r,n)=>Io(e,"xAxis",t,n),j7=(e,t,r,n)=>jo(e,"yAxis",r,n),z7=(e,t,r,n)=>Io(e,"yAxis",r,n),iae=J([Qe,D7,j7,I7,z7],(e,t,r,n,o)=>Tn(e,"xAxis")?aa(t,n,!1):aa(r,o,!1)),lae=(e,t,r,n,o)=>o;function sae(e){return e.type==="line"}var uae=J([us,lae],(e,t)=>e.filter(sae).find(r=>r.id===t)),L7=J([Qe,D7,j7,I7,z7,uae,iae,Au],(e,t,r,n,o,a,i,l)=>{var s=l.chartData,u=l.dataStartIndex,c=l.dataEndIndex;if(!(a==null||t==null||r==null||n==null||o==null||n.length===0||o.length===0||i==null||e!=="horizontal"&&e!=="vertical")){var d=a.dataKey,f=a.data,p;if(f!=null&&f.length>0?p=f:p=s?.slice(u,c+1),p!=null)return B7({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:o,dataKey:d,bandSize:i,displayedData:p})}});function C1(e){var t=Ao(e),r=3,n=2;if(t!=null){var o=t.r,a=t.strokeWidth,i=Number(o),l=Number(a);return(Number.isNaN(i)||i<0)&&(i=r),(Number.isNaN(l)||l<0)&&(l=n),{r:i,strokeWidth:l}}return{r,strokeWidth:n}}var cae=["id"],dae=["type","layout","connectNulls","needClip","shape","strokeDasharray"],fae=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function N1(){return N1=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?t/r:0}var xae=(e,t)=>{if(e==null)return[];if(t===1)return e.flatMap(l=>l.status==="removed"?[]:[l.next]);var r=hae(e),n=[];for(var o of e)if(o.status==="matched")n.push(li(li({},o.next),{},{x:Pt(o.prev.x,o.next.x,t),y:Pt(o.prev.y,o.next.y,t)}));else if(o.status==="added")if(o.next.x!=null){var a=o.next.x-r;n.push(li(li({},o.next),{},{x:Pt(a,o.next.x,t),y:o.next.y}))}else n.push(o.next);else if(o.status==="removed"&&o.prev.x!=null){var i=o.prev.x+r;n.push(li(li({},o.prev),{},{x:Pt(o.prev.x,i,t),y:o.prev.y}))}return n},E_={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:xae,animationMatchBy:Yu,connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",shape:E7,stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:vt.line,type:"linear"},bae=e=>{var t=e.dataKey,r=e.name,n=e.stroke,o=e.legendType,a=e.hide;return[{inactive:a,dataKey:t,type:o,color:n,value:Eo(r,t),payload:e}]},wae=Ot.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,o=e.strokeWidth,a=e.fill,i=e.name,l=e.hide,s=e.unit,u=e.formatter,c=e.tooltipType,d=e.id,f={dataDefinedOnItem:r,getPosition:Un,settings:{stroke:n,strokeWidth:o,fill:a,dataKey:t,nameKey:void 0,name:Eo(i,t),hide:l,type:c,color:n,unit:s,formatter:u,graphicalItemId:d}};return Ot.createElement(xs,{tooltipEntrySettings:f})});function Sae(e){var t=e.clipPathId,r=e.points,n=e.props,o=n.dot,a=n.dataKey,i=n.needClip,l=n.id,s=__(n,cae),u=cr(s);return Ot.createElement(g1,{points:r,dot:o,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:a,baseProps:u,needClip:i,clipPathId:t})}function Aae(e){var t=e.showLabels,r=e.children,n=e.points,o=(0,nl.useMemo)(()=>n?.map(a=>{var i,l,s={x:(i=a.x)!==null&&i!==void 0?i:0,y:(l=a.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return li(li({},s),{},{value:a.value,payload:a.payload,viewBox:s,parentViewBox:void 0,fill:void 0})}),[n]);return Ot.createElement(Mf,{value:t?o:void 0},r)}function kae(e){var t=e.clipPathId,r=e.pathRef,n=e.points,o=e.props,a=e.animationElapsedTime,i=e.isAnimating,l=e.isEntrance,s=e.visibleLength,u=o.type,c=o.layout,d=o.connectNulls,f=o.needClip,p=o.shape,m=o.strokeDasharray,g=__(o,dae),h=li(li({},dr(g)),{},{fill:"none",className:"recharts-line-curve",clipPath:f?"url(#clipPath-".concat(t,")"):void 0,points:n,type:u,layout:c,connectNulls:d,strokeDasharray:m??o.strokeDasharray,pathRef:r,animationElapsedTime:a,isAnimating:i,isEntrance:o.animateNewValues?l:!1,visibleLength:s});return Ot.createElement(Ot.Fragment,null,n?.length>1&&Ot.createElement(hs,{option:p,DefaultShape:E_.shape,shapeProps:h}),Ot.createElement(Sae,{points:n,clipPathId:t,props:o}))}function Cae(e){var t=e.clipPathId,r=e.props,n=e.pathRef,o=e.previousPointsRef,a=r.points,i=r.isAnimationActive,l=r.animationBegin,s=r.animationDuration,u=r.animationEasing,c=r.animationMatchBy,d=r.animationInterpolateFn,f=r.layout,p=yae(n.current),m=ws(r.onAnimationStart,r.onAnimationEnd),g=m.isAnimating,h=m.handleAnimationStart,v=m.handleAnimationEnd,y=!g,b=O7(a),x=(0,nl.useCallback)(S=>S>0&&p>0,[p]);return Ot.createElement(Aae,{points:a,showLabels:y},r.children,Ot.createElement(Ss,{animationInput:a,animationIdPrefix:"recharts-line-",items:a,previousItemsRef:o,isAnimationActive:i,animationBegin:l,animationDuration:s,animationEasing:u,onAnimationStart:h,onAnimationEnd:v,animationInterpolateFn:d,animationMatchBy:c,shouldUpdatePreviousRef:x,layout:f},(S,w,T)=>{var k=g||w<1,A=k?b(w,p):null;return Ot.createElement(kae,{props:r,points:S,clipPathId:t,pathRef:n,animationElapsedTime:w,isAnimating:k,isEntrance:T,visibleLength:A})}),Ot.createElement(ys,{label:r.label}))}function Nae(e){var t=e.clipPathId,r=e.props,n=(0,nl.useRef)(null),o=(0,nl.useRef)(null);return Ot.createElement(Cae,{props:r,clipPathId:t,previousPointsRef:n,pathRef:o})}var _ae=(e,t)=>{var r,n;return{x:(r=e.x)!==null&&r!==void 0?r:void 0,y:(n=e.y)!==null&&n!==void 0?n:void 0,value:e.value,errorVal:nt(e.payload,t)}},N_=class extends nl.Component{render(){var t=this.props,r=t.hide,n=t.dot,o=t.points,a=t.className,i=t.xAxisId,l=t.yAxisId,s=t.top,u=t.left,c=t.width,d=t.height,f=t.id,p=t.needClip,m=t.zIndex;if(r)return null;var g=He("recharts-line",a),h=f,v=C1(n),y=v.r,b=v.strokeWidth,x=Pf(n),S=y*2+b,w=p?"url(#clipPath-".concat(x?"":"dots-").concat(h,")"):void 0;return Ot.createElement(rr,{zIndex:m},Ot.createElement(_t,{className:g},p&&Ot.createElement("defs",null,Ot.createElement(Ff,{clipPathId:h,xAxisId:i,yAxisId:l}),!x&&Ot.createElement("clipPath",{id:"clipPath-dots-".concat(h)},Ot.createElement("rect",{x:u-S/2,y:s-S/2,width:c+S,height:d+S}))),Ot.createElement(k1,{xAxisId:i,yAxisId:l,data:o,dataPointFormatter:_ae,errorBarOffset:0},Ot.createElement(Nae,{props:this.props,clipPathId:h}))),Ot.createElement(Hv,{activeDot:this.props.activeDot,points:o,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:w}))}};function Eae(e){var t=ft(e,E_),r=t.activeDot,n=t.animateNewValues,o=t.animationBegin,a=t.animationDuration,i=t.animationEasing,l=t.connectNulls,s=t.dot,u=t.hide,c=t.isAnimationActive,d=t.label,f=t.legendType,p=t.xAxisId,m=t.yAxisId,g=t.id,h=__(t,fae),v=ec(p,m),y=v.needClip,b=ks(),x=oo(),S=It(),w=Ae(H=>L7(H,p,m,S,g));if(x!=="horizontal"&&x!=="vertical"||w==null||b==null)return null;var T=b.height,k=b.width,A=b.x,M=b.y;return Ot.createElement(N_,N1({},h,{id:g,connectNulls:l,dot:s,activeDot:r,animateNewValues:n,animationBegin:o,animationDuration:a,animationEasing:i,isAnimationActive:c,hide:u,label:d,legendType:f,xAxisId:p,yAxisId:m,points:w,layout:x,height:T,width:k,left:A,top:M,needClip:y}))}function B7(e){var t=e.layout,r=e.xAxis,n=e.yAxis,o=e.xAxisTicks,a=e.yAxisTicks,i=e.dataKey,l=e.bandSize,s=e.displayedData;return s.map((u,c)=>{var d=nt(u,i);if(t==="horizontal"){var f=Bd({axis:r,ticks:o,bandSize:l,entry:u,index:c}),p=mt(d)?null:n.scale.map(d);return{x:f,y:p??null,value:d,payload:u}}var m=mt(d)?null:r.scale.map(d),g=Bd({axis:n,ticks:a,bandSize:l,entry:u,index:c});return m==null||g==null?null:{x:m,y:g,value:d,payload:u}}).filter(Boolean)}function Oae(e){var t=ft(e,E_),r=It();return Ot.createElement(As,{id:t.id,type:"line"},n=>Ot.createElement(Ot.Fragment,null,Ot.createElement(If,{legendPayload:bae(t)}),Ot.createElement(wae,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:n}),Ot.createElement(Lf,{type:"line",id:n,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:r}),Ot.createElement(Eae,N1({},t,{id:n}))))}var _1=Ot.memo(Oae,ao);_1.displayName="Line";var St=te(re()),tc=te(re());function va(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(o=>o.id===t))===null||n===void 0?void 0:n.xAxisId)!==null&&r!==void 0?r:x_}function ga(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(o=>o.id===t))===null||n===void 0?void 0:n.yAxisId)!==null&&r!==void 0?r:x_}var F7=(e,t,r)=>jo(e,"xAxis",va(e,t),r),U7=(e,t,r)=>Io(e,"xAxis",va(e,t),r),W7=(e,t,r)=>jo(e,"yAxis",ga(e,t),r),H7=(e,t,r)=>Io(e,"yAxis",ga(e,t),r),Tae=J([Qe,F7,W7,U7,H7],(e,t,r,n,o)=>Tn(e,"xAxis")?aa(t,n,!1):aa(r,o,!1)),Mae=(e,t)=>t,O_=J([us,Mae],(e,t)=>e.filter(r=>r.type==="area").find(r=>r.id===t)),V7=e=>{var t=Qe(e),r=Tn(t,"xAxis");return r?"yAxis":"xAxis"},Pae=(e,t)=>{var r=V7(e);return r==="yAxis"?ga(e,t):va(e,t)},K7=(e,t,r)=>hf(e,V7(e),Pae(e,t),r),Dae=J([O_,K7],(e,t)=>{var r;if(!(e==null||t==null)){var n=e.stackId,o=rs(e);if(!(n==null||o==null)){var a=(r=t[n])===null||r===void 0?void 0:r.stackedData,i=a?.find(l=>l.key===o);if(i!=null)return i.map(l=>[l[0],l[1]])}}}),Iae=J([O_,K7],(e,t)=>{if(!(e==null||e.stackId==null||t==null)){var r=t[e.stackId];if(r!=null)return r.graphicalItems.map(n=>n.dataKey).filter(en)}}),q7=J([Qe,F7,W7,U7,H7,Dae,px,Tae,O_,QI,Iae],(e,t,r,n,o,a,i,l,s,u,c)=>{var d=i.chartData,f=i.dataStartIndex,p=i.dataEndIndex;if(!(s==null||e!=="horizontal"&&e!=="vertical"||t==null||r==null||n==null||o==null||n.length===0||o.length===0||l==null)){var m=s.data,g;if(m&&m.length>0?g=m:g=d?.slice(f,p+1),g!=null)return G7({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:o,dataStartIndex:f,areaSettings:s,stackedData:a,displayedData:g,chartBaseValue:u,bandSize:l,stackDataKeys:c})}});var jn=te(re());var jae=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],zae=["id","baseLine"];function Qv(){return Qv=Object.assign?Object.assign.bind():function(e){for(var t=1;td.y||0));return Se(o)?c=Math.max(o,c):o&&Array.isArray(o)&&o.length&&(c=Math.max(...o.map(d=>d.y||0),c)),Se(c)?jn.createElement("rect",{x:ld.x||0));return Se(o)?c=Math.max(o,c):o&&Array.isArray(o)&&o.length&&(c=Math.max(...o.map(d=>d.x||0),c)),Se(c)?jn.createElement("rect",{x:0,y:le==null?[]:t===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>r.status==="matched"?[Uf(Uf({},r.next),{},{x:Pt(r.prev.x,r.next.x,t),y:Pt(r.prev.y,r.next.y,t)})]:r.status==="added"?[r.next]:[]),J7={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:Yu,animationInterpolateFn:Gae,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:X7,xAxisId:0,yAxisId:0,zIndex:vt.area};function O1(e,t){return e&&e!=="none"?e:t}var Yae=e=>{var t=e.dataKey,r=e.name,n=e.stroke,o=e.fill,a=e.legendType,i=e.hide;return[{inactive:i,dataKey:t,type:a,color:O1(n,o),value:Eo(r,t),payload:e}]},Xae=St.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,o=e.strokeWidth,a=e.fill,i=e.name,l=e.hide,s=e.unit,u=e.formatter,c=e.tooltipType,d=e.id,f={dataDefinedOnItem:r,getPosition:Un,settings:{stroke:n,strokeWidth:o,fill:a,dataKey:t,nameKey:void 0,name:Eo(i,t),hide:l,type:c,color:O1(n,a),unit:s,formatter:u,graphicalItemId:d}};return St.createElement(xs,{tooltipEntrySettings:f})});function Zae(e){var t=e.clipPathId,r=e.points,n=e.props,o=n.needClip,a=n.dot,i=n.dataKey,l=cr(n);return St.createElement(g1,{points:r,dot:a,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:i,baseProps:l,needClip:o,clipPathId:t})}function Qae(e){var t=e.showLabels,r=e.children,n=e.points,o=n.map(a=>{var i,l,s={x:(i=a.x)!==null&&i!==void 0?i:0,y:(l=a.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Uf(Uf({},s),{},{value:a.value,payload:a.payload,parentViewBox:void 0,viewBox:s,fill:void 0})});return St.createElement(Mf,{value:t?o:void 0},r)}function Jae(e){var t=e.points,r=e.baseLine,n=e.needClip,o=e.clipPathId,a=e.props,i=e.animationElapsedTime,l=e.isAnimating,s=e.isEntrance,u=a.layout,c=a.type,d=a.stroke,f=a.connectNulls,p=a.isRange,m=a.shape,g=a.id,h=Q7(a,Uae),v=dr(h),y=Uf(Uf({},v),{},{id:g,points:t,connectNulls:f,type:c,baseLine:r,layout:u,stroke:d,isRange:p,animationElapsedTime:i,isAnimating:l,isEntrance:s});return St.createElement(St.Fragment,null,t?.length>1&&St.createElement(_t,{clipPath:n?"url(#clipPath-".concat(o,")"):void 0},St.createElement(hs,{option:m,DefaultShape:J7.shape,shapeProps:y})),St.createElement(Zae,{points:t,props:h,clipPathId:o}))}function Rae(e,t,r){if(Se(e)){var n=Se(t)?t:void 0;return Pt(n,e,r)}if(mt(e)||cn(e)){var o=Se(t)?t:void 0;return Pt(o,0,r)}return e}function eie(e){var t=e.needClip,r=e.clipPathId,n=e.props,o=e.previousPointsRef,a=e.previousBaselineRef,i=n.points,l=n.baseLine,s=n.isAnimationActive,u=n.animationBegin,c=n.animationDuration,d=n.animationEasing,f=n.animationMatchBy,p=n.animationInterpolateFn,m=(0,tc.useMemo)(()=>({points:i,baseLine:l}),[i,l]),g=u1(m,a),h=Gd(),v=ws(n.onAnimationStart,n.onAnimationEnd),y=v.isAnimating,b=v.handleAnimationStart,x=v.handleAnimationEnd,S=g.startValue;if(h==null)return null;var w;return Array.isArray(l)&&Array.isArray(S)?w=$v(S,l,f):Array.isArray(l)?w=$v(null,l,f):w=null,St.createElement(Ss,{animationInput:m,animationIdPrefix:"recharts-area-",items:i,previousItemsRef:o,isAnimationActive:s,animationBegin:u,animationDuration:c,animationEasing:d,onAnimationStart:b,onAnimationEnd:x,animationInterpolateFn:p,animationMatchBy:f,layout:h},(T,k,A)=>{var M;return k===1?M=l:Array.isArray(l)?M=p(w,k,h):M=A?l:Rae(l,S,k),g.syncStepValue(M,k),St.createElement(Qae,{showLabels:!y,points:i},n.children,St.createElement(Jae,{points:T,baseLine:M,needClip:t,clipPathId:r,props:n,animationElapsedTime:k,isAnimating:y||k<1,isEntrance:A}),St.createElement(ys,{label:n.label}))})}function tie(e){var t=e.needClip,r=e.clipPathId,n=e.props,o=(0,tc.useRef)(null),a=(0,tc.useRef)();return St.createElement(eie,{needClip:t,clipPathId:r,props:n,previousPointsRef:o,previousBaselineRef:a})}var T_=class extends tc.PureComponent{render(){var t=this.props,r=t.hide,n=t.dot,o=t.points,a=t.className,i=t.top,l=t.left,s=t.needClip,u=t.xAxisId,c=t.yAxisId,d=t.width,f=t.height,p=t.id,m=t.baseLine,g=t.zIndex;if(r)return null;var h=He("recharts-area",a),v=p,y=C1(n),b=y.r,x=y.strokeWidth,S=Pf(n),w=b*2+x,T=s?"url(#clipPath-".concat(S?"":"dots-").concat(v,")"):void 0;return St.createElement(rr,{zIndex:g},St.createElement(_t,{className:h},s&&St.createElement("defs",null,St.createElement(Ff,{clipPathId:v,xAxisId:u,yAxisId:c}),!S&&St.createElement("clipPath",{id:"clipPath-dots-".concat(v)},St.createElement("rect",{x:l-w/2,y:i-w/2,width:d+w,height:f+w}))),St.createElement(tie,{needClip:s,clipPathId:v,props:this.props})),St.createElement(Hv,{points:o,mainColor:O1(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}),this.props.isRange&&Array.isArray(m)&&St.createElement(Hv,{points:m,mainColor:O1(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}))}};function rie(e){var t,r=e.activeDot,n=e.animationBegin,o=e.animationDuration,a=e.animationEasing,i=e.connectNulls,l=e.dot,s=e.fill,u=e.fillOpacity,c=e.hide,d=e.isAnimationActive,f=e.legendType,p=e.stroke,m=e.xAxisId,g=e.yAxisId,h=Q7(e,Wae),v=oo(),y=Db(),b=ec(m,g),x=b.needClip,S=It(),w=(t=Ae(Y=>q7(Y,e.id,S)))!==null&&t!==void 0?t:{},T=w.points,k=w.isRange,A=w.baseLine,M=ks();if(v!=="horizontal"&&v!=="vertical"||M==null||y!=="AreaChart"&&y!=="ComposedChart")return null;var H=M.height,F=M.width,X=M.x,P=M.y;return!T||!T.length?null:St.createElement(T_,E1({},h,{activeDot:r,animationBegin:n,animationDuration:o,animationEasing:a,baseLine:A,connectNulls:i,dot:l,fill:s,fillOpacity:u,height:H,hide:c,layout:v,isAnimationActive:d,isRange:k,legendType:f,needClip:x,points:T,stroke:p,width:F,left:X,top:P,xAxisId:m,yAxisId:g}))}var nie=(e,t,r,n,o)=>{var a=r??t;if(Se(a))return a;var i=e==="horizontal"?o:n,l=i.scale.domain();if(i.type==="number"){var s=Math.max(l[0],l[1]),u=Math.min(l[0],l[1]);return a==="dataMin"?u:a==="dataMax"||s<0?s:Math.max(Math.min(l[0],l[1]),0)}return a==="dataMin"?l[0]:a==="dataMax"?l[1]:l[0]};function G7(e){var t=e.areaSettings,r=t.connectNulls,n=t.baseValue,o=t.dataKey,a=e.stackedData,i=e.layout,l=e.chartBaseValue,s=e.xAxis,u=e.yAxis,c=e.displayedData,d=e.dataStartIndex,f=e.xAxisTicks,p=e.yAxisTicks,m=e.bandSize,g=e.stackDataKeys,h=a&&a.length,v=nie(i,l,n,s,u),y=i==="horizontal",b=!1,x=c.map((w,T)=>{var k,A,M,H;if(h)H=a[d+T];else{var F=nt(w,o);Array.isArray(F)?(H=F,b=!0):H=[v,F]}var X=(k=(A=H)===null||A===void 0?void 0:A[1])!==null&&k!==void 0?k:null,P=nt(w,o),Y=h&&P==null&&g!=null&&g.length>0&&g.every(z=>nt(w,z)==null),C=X==null||h&&!r&&P==null||Y;if(y){var _;return{x:Bd({axis:s,ticks:f,bandSize:m,entry:w,index:T}),y:C?null:(_=u.scale.map(X))!==null&&_!==void 0?_:null,value:H,payload:w}}return{x:C?null:(M=s.scale.map(X))!==null&&M!==void 0?M:null,y:Bd({axis:u,ticks:p,bandSize:m,entry:w,index:T}),value:H,payload:w}}),S;return h||b?S=x.map(w=>{var T,k=Array.isArray(w.value)?w.value[0]:null;if(y){var A;return{x:w.x,y:k!=null&&w.y!=null&&(A=u.scale.map(k))!==null&&A!==void 0?A:null,payload:w.payload}}return{x:k!=null&&(T=s.scale.map(k))!==null&&T!==void 0?T:null,y:w.y,payload:w.payload}}):S=y?u.scale.map(v):s.scale.map(v),{points:x,baseLine:S??0,isRange:b}}function oie(e){var t=ft(e,J7),r=It();return St.createElement(As,{id:t.id,type:"area"},n=>St.createElement(St.Fragment,null,St.createElement(If,{legendPayload:Yae(t)}),St.createElement(Xae,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:n}),St.createElement(Lf,{type:"area",id:n,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:B0(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:r,connectNulls:t.connectNulls}),St.createElement(rie,E1({},t,{id:n}))))}var ol=St.memo(oie,ao);ol.displayName="Area";var ct=te(re()),La=te(re());var e9=te(re());var aie=!0,M_="Invariant failed";function R7(e,t){if(!e){if(aie)throw new Error(M_);var r=typeof t=="function"?t():t,n=r?"".concat(M_,": ").concat(r):M_;throw new Error(n)}}var iie=["option"];function lie(e,t){if(e==null)return{};var r,n,o=sie(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n1&&arguments[1]!==void 0?arguments[1]:0;return(n,o)=>{if(Se(t))return t;var a=Se(n)||mt(n);return a?t(n,o):(a||R7(!1,"minPointSize callback function received a value with type of ".concat(typeof n,". Currently only numbers or null/undefined are supported.")),r)}};var uie=(e,t,r)=>r,cie=(e,t)=>t,Jv=J([us,cie],(e,t)=>e.filter(r=>r.type==="bar").find(r=>r.id===t)),die=J([Jv],e=>e?.maxBarSize),fie=(e,t,r,n)=>n,pie=J([Qe,us,va,ga,uie],(e,t,r,n,o)=>t.filter(a=>e==="horizontal"?a.xAxisId===r:a.yAxisId===n).filter(a=>a.isPanorama===o).filter(a=>a.hide===!1).filter(a=>a.type==="bar")),mie=(e,t,r)=>{var n=Qe(e),o=va(e,t),a=ga(e,t);if(!(o==null||a==null))return n==="horizontal"?hf(e,"yAxis",a,r):hf(e,"xAxis",o,r)},vie=(e,t)=>{var r=Qe(e),n=va(e,t),o=ga(e,t);if(!(n==null||o==null))return r==="horizontal"?DN(e,"xAxis",n):DN(e,"yAxis",o)},gie=J([pie,ZI,vie],WB),yie=(e,t,r)=>{var n,o,a=Jv(e,t);if(a==null)return 0;var i=va(e,t),l=ga(e,t);if(i==null||l==null)return 0;var s=Qe(e),u=SC(e),c=a.maxBarSize,d=mt(c)?u:c,f,p;return s==="horizontal"?(f=jo(e,"xAxis",i,r),p=Io(e,"xAxis",i,r)):(f=jo(e,"yAxis",l,r),p=Io(e,"yAxis",l,r)),(n=(o=aa(f,p,!0))!==null&&o!==void 0?o:d)!==null&&n!==void 0?n:0},r9=(e,t,r)=>{var n=Qe(e),o=va(e,t),a=ga(e,t);if(!(o==null||a==null)){var i,l;return n==="horizontal"?(i=jo(e,"xAxis",o,r),l=Io(e,"xAxis",o,r)):(i=jo(e,"yAxis",a,r),l=Io(e,"yAxis",a,r)),aa(i,l)}},hie=J([gie,SC,XI,hx,yie,r9,die],VB),xie=(e,t,r)=>{var n=va(e,t);if(n!=null)return jo(e,"xAxis",n,r)},bie=(e,t,r)=>{var n=ga(e,t);if(n!=null)return jo(e,"yAxis",n,r)},wie=(e,t,r)=>{var n=va(e,t);if(n!=null)return Io(e,"xAxis",n,r)},Sie=(e,t,r)=>{var n=ga(e,t);if(n!=null)return Io(e,"yAxis",n,r)},Aie=J([hie,Jv],qB),kie=J([mie,Jv],KB),n9=J([Ht,Wd,xie,bie,wie,Sie,Aie,Qe,px,r9,kie,Jv,fie],(e,t,r,n,o,a,i,l,s,u,c,d,f)=>{var p=s.chartData,m=s.dataStartIndex,g=s.dataEndIndex;if(!(d==null||i==null||t==null||l!=="horizontal"&&l!=="vertical"||r==null||n==null||o==null||a==null||u==null)){var h=d.data,v;if(h!=null&&h.length>0?v=h:v=p?.slice(m,g+1),v!=null)return o9({layout:l,barSettings:d,pos:i,parentViewBox:t,bandSize:u,xAxis:r,yAxis:n,xAxisTicks:o,yAxisTicks:a,stackedData:c,displayedData:v,offset:e,cells:f,dataStartIndex:m})}});var D_=te(re()),Wf=te(re());var Cie=["index"];function P_(){return P_=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=(0,Wf.useContext)(a9);if(t!=null)return t.stackId;if(e!=null)return B0(e)};var Eie=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),Oie=e=>{var t=(0,Wf.useContext)(a9);if(t!=null){var r=t.stackId;return"url(#".concat(Eie(r,e),")")}},I_=e=>{var t=e.index,r=Nie(e,Cie),n=Oie(t);return D_.createElement(_t,P_({className:"recharts-bar-stack-layer",clipPath:n},r))};var Tie=["onMouseEnter","onMouseLeave","onClick"],Mie=["value","background","tooltipPosition"],Pie=["id"],Die=["onMouseEnter","onClick","onMouseLeave"];function l9(e,t){return Lie(e)||zie(e,t)||jie(e,t)||Iie()}function Iie(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jie(e,t){if(e){if(typeof e=="string")return s9(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?s9(e,t):void 0}}function s9(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.dataKey,r=e.name,n=e.fill,o=e.legendType,a=e.hide;return[{inactive:a,dataKey:t,type:o,color:n,value:Eo(r,t),payload:e}]},Hie=ct.memo(e=>{var t=e.dataKey,r=e.stroke,n=e.strokeWidth,o=e.fill,a=e.name,i=e.hide,l=e.unit,s=e.formatter,u=e.tooltipType,c=e.id,d={dataDefinedOnItem:void 0,getPosition:Un,settings:{stroke:r,strokeWidth:n,fill:o,dataKey:t,nameKey:void 0,name:Eo(a,t),hide:i,type:u,color:o,unit:l,formatter:s,graphicalItemId:c}};return ct.createElement(xs,{tooltipEntrySettings:d})});function Vie(e){var t=Ae(da),r=e.data,n=e.dataKey,o=e.background,a=e.allOtherBarProps,i=a.onMouseEnter,l=a.onMouseLeave,s=a.onClick,u=P1(a,Tie),c=Iv(i,n,a.id),d=jv(l),f=zv(s,n,a.id);if(!o||r==null)return null;var p=Ao(o);return ct.createElement(rr,{zIndex:GB(o,vt.barBackground)},r.map((m,g)=>{var h=m.value,v=m.background,y=m.tooltipPosition,b=P1(m,Mie);if(!v)return null;var x=c(m,m.originalDataIndex),S=d(m,m.originalDataIndex),w=f(m,m.originalDataIndex),T=nn(nn(nn(nn(nn({option:o,isActive:String(m.originalDataIndex)===t},b),{},{fill:"#eee"},v),p),Li(u,m,g)),{},{onMouseEnter:x,onMouseLeave:S,onClick:w,dataKey:n,index:g,className:"recharts-bar-background-rectangle"});return ct.createElement(M1,Cs({key:"background-bar-".concat(g)},T))}))}function Kie(e){var t=e.showLabels,r=e.children,n=e.rects,o=n?.map(a=>{var i={x:a.x,y:a.y,width:a.width,lowerWidth:a.width,upperWidth:a.width,height:a.height};return nn(nn({},i),{},{value:a.value,payload:a.payload,parentViewBox:a.parentViewBox,viewBox:i,fill:a.fill})});return ct.createElement(Mf,{value:t?o:void 0},r)}function qie(e){var t=e.shape,r=e.activeBar,n=e.baseProps,o=e.entry,a=e.index,i=e.dataKey,l=Ae(da),s=Ae(Sf),u=r&&String(o.originalDataIndex)===l&&(s==null||i===s),c=l!=null&&(String(o.originalDataIndex)!==l||s!=null&&i!==s),d=(0,La.useState)(!1),f=l9(d,2),p=f[0],m=f[1],g=(0,La.useState)(!1),h=l9(g,2),v=h[0],y=h[1];(0,La.useEffect)(()=>{var k;return u?(m(!0),k=requestAnimationFrame(()=>{y(!0)})):(y(!1),c&&m(!1)),()=>{cancelAnimationFrame(k)}},[u,c]);var b=(0,La.useCallback)(()=>{u||m(!1)},[u]),x=u&&v,S=u||p,w;u?r===!0?w=t:w=r:w=t;var T=ct.createElement(M1,Cs({},n,{name:String(n.name)},o,{isActive:x,option:w,index:a,dataKey:i,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance,onTransitionEnd:b}));return S?ct.createElement(rr,{zIndex:vt.activeBar},ct.createElement(I_,{index:o.originalDataIndex},T)):T}function Gie(e){var t=e.shape,r=e.baseProps,n=e.entry,o=e.index,a=e.dataKey;return ct.createElement(M1,Cs({},r,{name:String(r.name)},n,{isActive:!1,option:t,index:o,dataKey:a,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance}))}function Yie(e){var t,r=e.data,n=e.props,o=e.animationElapsedTime,a=e.isAnimating,i=e.isEntrance,l=(t=cr(n))!==null&&t!==void 0?t:{},s=l.id,u=P1(l,Pie),c=n.shape,d=n.dataKey,f=n.activeBar,p=n.onMouseEnter,m=n.onClick,g=n.onMouseLeave,h=P1(n,Die),v=Iv(p,d,s),y=jv(g),b=zv(m,d,s);return r?ct.createElement(ct.Fragment,null,r.map((x,S)=>ct.createElement(I_,Cs({index:x.originalDataIndex,key:"rectangle-".concat(x?.x,"-").concat(x?.y,"-").concat(x?.value,"-").concat(S),className:"recharts-bar-rectangle"},Li(h,x,S),{onMouseEnter:v(x,x.originalDataIndex),onMouseLeave:y(x,x.originalDataIndex),onClick:b(x,x.originalDataIndex)}),f?ct.createElement(qie,{shape:c,activeBar:f,baseProps:u,entry:x,index:S,dataKey:d,animationElapsedTime:o,isAnimating:a,isEntrance:i}):ct.createElement(Gie,{shape:c,baseProps:u,entry:x,index:S,dataKey:d,animationElapsedTime:o,isAnimating:a,isEntrance:i})))):null}var Xie=(e,t,r)=>e==null?[]:t===1?e.flatMap(n=>n.status==="removed"?[]:[n.next]):e.flatMap(n=>{if(n.status==="removed")return r==="horizontal"?[nn(nn({},n.prev),{},{height:Pt(n.prev.height,0,t),y:Pt(n.prev.y,n.prev.y+n.prev.height,t)})]:[nn(nn({},n.prev),{},{width:Pt(n.prev.width,0,t)})];if(n.status==="matched")return[nn(nn({},n.next),{},{x:Pt(n.prev.x,n.next.x,t),y:Pt(n.prev.y,n.next.y,t),width:Pt(n.prev.width,n.next.width,t),height:Pt(n.prev.height,n.next.height,t)})];var o=n.next;return r==="horizontal"?[nn(nn({},o),{},{height:Pt(0,o.height,t),y:Pt(o.stackedBarStart,o.y,t)})]:[nn(nn({},o),{},{width:Pt(0,o.width,t),x:Pt(o.stackedBarStart,o.x,t)})]});function Zie(e){var t=e.props,r=e.previousRectanglesRef,n=t.data,o=t.isAnimationActive,a=t.animationBegin,i=t.animationDuration,l=t.animationEasing,s=t.animationInterpolateFn,u=t.layout,c=ws(t.onAnimationStart,t.onAnimationEnd),d=c.isAnimating,f=c.handleAnimationStart,p=c.handleAnimationEnd;return ct.createElement(Kie,{showLabels:!d,rects:n},ct.createElement(Ss,{animationInput:n,animationIdPrefix:"recharts-bar-",items:n,previousItemsRef:r,isAnimationActive:o,animationBegin:a,animationDuration:i,animationEasing:l,onAnimationStart:f,onAnimationEnd:p,animationInterpolateFn:s,animationMatchBy:t.animationMatchBy,layout:u},(m,g,h)=>ct.createElement(_t,null,ct.createElement(Yie,{props:t,data:m,animationElapsedTime:g,isAnimating:d||g<1,isEntrance:h}))),ct.createElement(ys,{label:t.label}),t.children)}function Qie(e){var t=(0,La.useRef)(null);return ct.createElement(Zie,{previousRectanglesRef:t,props:e})}var c9=0,Jie=(e,t)=>{var r=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:r,errorVal:nt(e,t)}},j_=class extends La.PureComponent{render(){var t=this.props,r=t.hide,n=t.data,o=t.dataKey,a=t.className,i=t.xAxisId,l=t.yAxisId,s=t.needClip,u=t.background,c=t.id;if(r||n==null)return null;var d=He("recharts-bar",a),f=c;return ct.createElement(_t,{className:d,id:c},s&&ct.createElement("defs",null,ct.createElement(Ff,{clipPathId:f,xAxisId:i,yAxisId:l})),ct.createElement(_t,{className:"recharts-bar-rectangles",clipPath:s?"url(#clipPath-".concat(f,")"):void 0},ct.createElement(Vie,{data:n,dataKey:o,background:u,allOtherBarProps:this.props}),ct.createElement(Qie,this.props)))}},Rie={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",animationInterpolateFn:Xie,animationMatchBy:Bv,background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:c9,shape:T1,xAxisId:0,yAxisId:0,zIndex:vt.bar};function ele(e){var t=e.xAxisId,r=e.yAxisId,n=e.hide,o=e.legendType,a=e.minPointSize,i=e.activeBar,l=e.animationBegin,s=e.animationDuration,u=e.animationEasing,c=e.isAnimationActive,d=ec(t,r),f=d.needClip,p=oo(),m=It(),g=Pv(e.children,Ji),h=Ae(b=>n9(b,e.id,m,g));if(p!=="vertical"&&p!=="horizontal")return null;var v,y=h?.[0];return y==null||y.height==null||y.width==null?v=0:v=p==="vertical"?y.height/2:y.width/2,ct.createElement(k1,{xAxisId:t,yAxisId:r,data:h,dataPointFormatter:Jie,errorBarOffset:v},ct.createElement(j_,Cs({},e,{layout:p,needClip:f,data:h,xAxisId:t,yAxisId:r,hide:n,legendType:o,minPointSize:a,activeBar:i,animationBegin:l,animationDuration:s,animationEasing:u,isAnimationActive:c})))}function o9(e){var t=e.layout,r=e.barSettings,n=r.dataKey,o=r.minPointSize,a=r.hasCustomShape,i=e.pos,l=e.bandSize,s=e.xAxis,u=e.yAxis,c=e.xAxisTicks,d=e.yAxisTicks,f=e.stackedData,p=e.displayedData,m=e.offset,g=e.cells,h=e.parentViewBox,v=e.dataStartIndex,y=t==="horizontal"?u:s,b=f?y.scale.domain():null,x=YD({numericAxis:y}),S=y.scale.map(x);return p.map((w,T)=>{var k,A,M,H,F,X;if(f){var P=f[T+v];if(P==null)return null;k=qD(P,b)}else k=nt(w,n),Array.isArray(k)||(k=[x,k]);var Y=t9(o,c9)(k[1],T);if(t==="horizontal"){var C,_=u.scale.map(k[0]),z=u.scale.map(k[1]);if(_==null||z==null)return null;A=Qk({axis:s,ticks:c,bandSize:l,offset:i.offset,entry:w,index:T}),M=(C=z??_)!==null&&C!==void 0?C:void 0,H=i.size;var D=_-z;if(F=cn(D)?0:D,X={x:A,y:m.top,width:H,height:m.height},Math.abs(Y)>0&&Math.abs(F)0&&Math.abs(H)ct.createElement(ct.Fragment,null,ct.createElement(If,{legendPayload:Wie(t)}),ct.createElement(Hie,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:o}),ct.createElement(Lf,{type:"bar",id:o,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:r,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:n,hasCustomShape:t.shape!=null&&t.shape!==T1}),ct.createElement(rr,{zIndex:t.zIndex},ct.createElement(ele,Cs({},t,{id:o})))))}var D1=ct.memo(tle,ao);D1.displayName="Bar";var al=te(re()),ya=te(re());var rle=["domain","range"],nle=["domain","range"];function d9(e,t){if(e==null)return{};var r,n,o=ole(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{if(i!=null)return m9(m9({},a),{},{type:i})},[a,i]);return(0,ya.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(_B(l)):r.current!==l&&t(EB({prev:r.current,next:l})),r.current=l)},[l,t]),(0,ya.useLayoutEffect)(()=>()=>{r.current&&(t(OB(r.current)),r.current=null)},[t]),null}var ple=e=>{var t=e.xAxisId,r=e.className,n=e.height,o=e.label,a=(0,ya.useRef)(null),i=(0,ya.useRef)(null),l=Ae(Wd),s=It(),u=Xe(),c="xAxis",d=Ae(w=>bb(w,c,t,s)),f=Ae(w=>MN(w,t)),p=Ae(w=>$j(w,t)),m=Ae(w=>sN(w,t));if((0,ya.useLayoutEffect)(()=>{if(!(n!=="auto"||!f||Gu(o)||(0,ya.isValidElement)(o)||m==null)){var w=a.current;if(w){var T=w.getCalculatedHeight();Math.round(f.height)!==Math.round(T)&&u(IB({id:t,height:T}))}}},[d,f,u,o,t,n,m]),f==null||p==null||m==null)return null;var g=e.dangerouslySetInnerHTML,h=e.ticks,v=e.scale,y=L_(e,ile),b=m.id,x=m.scale,S=L_(m,lle);return al.createElement(Xv,z_({},y,S,{ref:a,labelRef:i,x:p.x,y:p.y,width:f.width,height:f.height,className:He("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:d,axisType:c,axisId:t}))},mle={allowDataOverflow:Fr.allowDataOverflow,allowDecimals:Fr.allowDecimals,allowDuplicatedCategory:Fr.allowDuplicatedCategory,angle:Fr.angle,axisLine:ma.axisLine,height:Fr.height,hide:!1,includeHidden:Fr.includeHidden,interval:Fr.interval,label:!1,minTickGap:Fr.minTickGap,mirror:Fr.mirror,orientation:Fr.orientation,padding:Fr.padding,reversed:Fr.reversed,scale:Fr.scale,tick:Fr.tick,tickCount:Fr.tickCount,tickLine:ma.tickLine,tickSize:ma.tickSize,type:Fr.type,niceTicks:Fr.niceTicks,xAxisId:0},vle=e=>{var t=ft(e,mle);return al.createElement(al.Fragment,null,al.createElement(fle,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),al.createElement(ple,t))},il=al.memo(vle,I1);il.displayName="XAxis";var ll=te(re()),ha=te(re());var gle=["type"],yle=["dangerouslySetInnerHTML","ticks","scale"],hle=["id","scale"];function B_(){return B_=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(i!=null)return g9(g9({},a),{},{type:i})},[i,a]);return(0,ha.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(TB(l)):r.current!==l&&t(MB({prev:r.current,next:l})),r.current=l)},[l,t]),(0,ha.useLayoutEffect)(()=>()=>{r.current&&(t(PB(r.current)),r.current=null)},[t]),null}function kle(e){var t=e.yAxisId,r=e.className,n=e.width,o=e.label,a=(0,ha.useRef)(null),i=(0,ha.useRef)(null),l=Ae(Wd),s=It(),u=Xe(),c="yAxis",d=Ae(w=>PN(w,t)),f=Ae(w=>Fj(w,t)),p=Ae(w=>bb(w,c,t,s)),m=Ae(w=>uN(w,t));if((0,ha.useLayoutEffect)(()=>{if(!(n!=="auto"||!d||Gu(o)||(0,ha.isValidElement)(o)||m==null)){var w=a.current;if(w){var T=w.getCalculatedWidth();Math.round(d.width)!==Math.round(T)&&u(DB({id:t,width:T}))}}},[p,d,u,o,t,n,m]),d==null||f==null||m==null)return null;var g=e.dangerouslySetInnerHTML,h=e.ticks,v=e.scale,y=$_(e,yle),b=m.id,x=m.scale,S=$_(m,hle);return ll.createElement(Xv,B_({},y,S,{ref:a,labelRef:i,x:f.x,y:f.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:d.width,height:d.height,className:He("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:p,axisType:c,axisId:t}))}var Cle={allowDataOverflow:Ur.allowDataOverflow,allowDecimals:Ur.allowDecimals,allowDuplicatedCategory:Ur.allowDuplicatedCategory,angle:Ur.angle,axisLine:ma.axisLine,hide:!1,includeHidden:Ur.includeHidden,interval:Ur.interval,label:!1,minTickGap:Ur.minTickGap,mirror:Ur.mirror,orientation:Ur.orientation,padding:Ur.padding,reversed:Ur.reversed,scale:Ur.scale,tick:Ur.tick,tickCount:Ur.tickCount,tickLine:ma.tickLine,tickSize:ma.tickSize,type:Ur.type,niceTicks:Ur.niceTicks,width:Ur.width,yAxisId:0},Nle=e=>{var t=ft(e,Cle);return ll.createElement(ll.Fragment,null,ll.createElement(Ale,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),ll.createElement(kle,t))},sl=ll.memo(Nle,I1);sl.displayName="YAxis";var H9=te(re()),V9=te(re());var lc=te(re()),W9=te(re());var M9=te(re()),P9=te(re());var _le=(e,t)=>t,Rv=J([_le,Qe,Nx,$r,WN,so,hz,Ht],kz);function Ele(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function eg(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if(Ele(e)){var o=e.currentTarget.getBBox();r=o.width>0?t.width/o.width:1,n=o.height>0?t.height/o.height:1}else{var a=e.currentTarget;r=a.offsetWidth>0?t.width/a.offsetWidth:1,n=a.offsetHeight>0?t.height/a.offsetHeight:1}var i=(l,s)=>({relativeX:Math.round((l-t.left)/r),relativeY:Math.round((s-t.top)/n)});return"touches"in e?Array.from(e.touches).map(l=>i(l.clientX,l.clientY)):i(e.clientX,e.clientY)}var U_=Gr("mouseClick"),W_=Wi();W_.startListening({actionCreator:U_,effect:(e,t)=>{var r=e.payload,n=Rv(t.getState(),eg(r));n?.activeIndex!=null&&t.dispatch(Qj({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var j1=Gr("mouseMove"),H_=Wi(),Hf=null,rc=null,F_=null;H_.startListening({actionCreator:j1,effect:(e,t)=>{var r=e.payload,n=t.getState(),o=n.eventSettings,a=o.throttleDelay,i=o.throttledEvents,l=i==="all"||i?.includes("mousemove");Hf!==null&&(cancelAnimationFrame(Hf),Hf=null),rc!==null&&(typeof a!="number"||!l)&&(clearTimeout(rc),rc=null),F_=eg(r);var s=()=>{var u=t.getState(),c=cs(u,u.tooltip.settings.shared);if(!F_){Hf=null,rc=null;return}if(c==="axis"){var d=Rv(u,F_);d?.activeIndex!=null?t.dispatch(kb({activeIndex:d.activeIndex,activeDataKey:void 0,activeCoordinate:d.activeCoordinate})):t.dispatch(Ab())}Hf=null,rc=null};if(!l){s();return}a==="raf"?Hf=requestAnimationFrame(s):typeof a=="number"&&rc===null&&(rc=setTimeout(s,a))}});function y9(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<>":t}var h9={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},x9=Dt({name:"rootProps",initialState:h9,reducers:{updateOptions:(e,t)=>{var r;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(r=t.payload.barGap)!==null&&r!==void 0?r:h9.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),b9=x9.reducer,w9=x9.actions.updateOptions;var Ole=null,Tle={updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)},S9=Dt({name:"polarOptions",initialState:Ole,reducers:Tle}),A9=S9.actions.updatePolarOptions;var k9=S9.reducer;var V_=Gr("keyDown"),K_=Gr("focus"),q_=Gr("blur"),tg=Wi(),Vf=null,nc=null,z1=null;tg.startListening({actionCreator:V_,effect:(e,t)=>{z1=e.payload,Vf!==null&&(cancelAnimationFrame(Vf),Vf=null);var r=t.getState(),n=r.eventSettings,o=n.throttleDelay,a=n.throttledEvents,i=a==="all"||a.includes("keydown");nc!==null&&(typeof o!="number"||!i)&&(clearTimeout(nc),nc=null);var l=()=>{try{var s=t.getState(),u=s.rootProps.accessibilityLayer!==!1;if(!u)return;var c=s.tooltip.keyboardInteraction,d=z1;if(d!=="ArrowRight"&&d!=="ArrowLeft"&&d!=="Enter")return;var f=ds(c,Qi(s),Gi(s),ps(s)),p=f==null?-1:Number(f),m=!Number.isFinite(p)||p<0,g=so(s),h=Qi(s),v=cs(s,s.tooltip.settings.shared);if(d==="Enter"){if(m)return;var y=Ov(s,v,"hover",String(c.index));t.dispatch(_v({active:!c.active,activeIndex:c.index,activeCoordinate:y}));return}var b=Uj(s),x=b==="left-to-right"?1:-1,S=d==="ArrowRight"?1:-1,w;if(m){var T=Gi(s),k=ps(s),A=S*x,M=Y=>({active:!1,index:String(Y),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(w=-1,A>0){for(var H=0;H=0;F--)if(ds(M(F),h,T,k)!=null){w=F;break}if(w<0)return}else{w=p+S*x;var X=g?.length||h.length;if(X===0||w>=X||w<0)return}var P=Ov(s,v,"hover",String(w));t.dispatch(_v({active:!0,activeIndex:w.toString(),activeCoordinate:P}))}finally{Vf=null,nc=null}};if(!i){l();return}o==="raf"?Vf=requestAnimationFrame(l):typeof o=="number"&&nc===null&&(l(),z1=null,nc=setTimeout(()=>{z1?l():(nc=null,Vf=null)},o))}});tg.startListening({actionCreator:K_,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var o=r.tooltip.keyboardInteraction;if(!o.active&&o.index==null){var a="0",i=cs(r,r.tooltip.settings.shared),l=Ov(r,i,"hover",String(a));t.dispatch(_v({active:!0,activeIndex:a,activeCoordinate:l}))}}}});tg.startListening({actionCreator:q_,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var o=r.tooltip.keyboardInteraction;o.active&&t.dispatch(_v({active:!1,activeIndex:o.index,activeCoordinate:o.coordinate}))}}});function L1(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(r,n)=>{if(n==="currentTarget")return t;var o=Reflect.get(r,n);return typeof o=="function"?o.bind(r):o}})}var zo=Gr("externalEvent"),Y_=Wi(),B1=new Map,rg=new Map,G_=new Map;Y_.startListening({actionCreator:zo,effect:(e,t)=>{var r=e.payload,n=r.handler,o=r.reactEvent;if(n!=null){var a=o.type,i=L1(o);G_.set(a,{handler:n,reactEvent:i});var l=B1.get(a);l!==void 0&&(cancelAnimationFrame(l),B1.delete(a));var s=t.getState(),u=s.eventSettings,c=u.throttleDelay,d=u.throttledEvents,f=d,p=f==="all"||f?.includes(a),m=rg.get(a);m!==void 0&&(typeof c!="number"||!p)&&(clearTimeout(m),rg.delete(a));var g=()=>{var y=G_.get(a);try{if(!y)return;var b=y.handler,x=y.reactEvent,S=t.getState(),w={activeCoordinate:qN(S),activeDataKey:Sf(S),activeIndex:da(S),activeLabel:Mb(S),activeTooltipIndex:da(S),isTooltipActive:GN(S)};b&&b(w,x)}finally{B1.delete(a),rg.delete(a),G_.delete(a)}};if(!p){g();return}if(c==="raf"){var h=requestAnimationFrame(g);B1.set(a,h)}else if(typeof c=="number"){if(!rg.has(a)){g();var v=setTimeout(g,c);rg.set(a,v)}}else g()}}});var Mle=J([Zi],e=>e.tooltipItemPayloads),C9=J([Mle,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(a=>a.settings.graphicalItemId===r);if(n!=null){var o=n.getPosition;if(o!=null)return o(t)}}});var X_=Gr("touchMove"),Z_=Wi(),oc=null,Ns=null,N9=null,ng=null;Z_.startListening({actionCreator:X_,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){ng=L1(r);var n=t.getState(),o=n.eventSettings,a=o.throttleDelay,i=o.throttledEvents,l=i==="all"||i.includes("touchmove");oc!==null&&(cancelAnimationFrame(oc),oc=null),Ns!==null&&(typeof a!="number"||!l)&&(clearTimeout(Ns),Ns=null),N9=Array.from(r.touches).map(u=>eg({clientX:u.clientX,clientY:u.clientY,currentTarget:r.currentTarget}));var s=()=>{if(ng!=null){var u=t.getState(),c=cs(u,u.tooltip.settings.shared);if(c==="axis"){var d,f=(d=N9)===null||d===void 0?void 0:d[0];if(f==null){oc=null,Ns=null;return}var p=Rv(u,f);p?.activeIndex!=null&&t.dispatch(kb({activeIndex:p.activeIndex,activeDataKey:void 0,activeCoordinate:p.activeCoordinate}))}else if(c==="item"){var m,g=ng.touches[0];if(document.elementFromPoint==null||g==null)return;var h=document.elementFromPoint(g.clientX,g.clientY);if(!h||!h.getAttribute)return;var v=h.getAttribute($0),y=(m=h.getAttribute(F0))!==null&&m!==void 0?m:void 0,b=fs(u).find(w=>w.id===y);if(v==null||b==null||y==null)return;var x=b.dataKey,S=C9(u,v,y);t.dispatch(Sb({activeDataKey:x,activeIndex:v,activeCoordinate:S,activeGraphicalItemId:y}))}oc=null,Ns=null}};if(!l){s();return}a==="raf"?oc=requestAnimationFrame(s):typeof a=="number"&&Ns===null&&(s(),ng=null,Ns=setTimeout(()=>{ng?s():(Ns=null,oc=null)},a))}}});var og={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},_9=Dt({name:"eventSettings",initialState:og,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=st(t.payload.throttledEvents))}}}),E9=_9.actions.setEventSettings;var O9=_9.reducer;var Ple=p0({brush:QB,cartesianAxis:jB,chartData:Yz,errorBars:M7,eventSettings:O9,graphicalItems:bB,layout:HD,legend:v8,options:Hz,polarAxis:WL,polarOptions:k9,referenceElements:e7,renderedTicks:y7,rootProps:b9,tooltip:Jj,zIndex:Dz}),T9=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return CD({reducer:Ple,preloadedState:t,middleware:n=>{var o;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((o="es6")!==null&&o!==void 0?o:"")}).concat([W_.middleware,H_.middleware,tg.middleware,Y_.middleware,Z_.middleware])},enhancers:n=>{var o=n;return typeof n=="function"&&(o=n()),o.concat(Kk({type:"raf"}))},devTools:ia.devToolsEnabled&&{serialize:{replacer:y9},name:"recharts-".concat(r)}})};function $1(e){var t=e.preloadedState,r=e.children,n=e.reduxStoreName,o=It(),a=(0,P9.useRef)(null);if(o)return r;a.current==null&&(a.current=T9(t,n));var i=_m;return M9.createElement(A8,{context:i,store:a.current},r)}var F1=te(re());function Dle(e){var t=e.layout,r=e.margin,n=Xe(),o=It();return(0,F1.useEffect)(()=>{o||(n(FD(t)),n(Yk(r)))},[n,o,t,r]),null}var U1=(0,F1.memo)(Dle,ao);var D9=te(re());function W1(e){var t=Xe();return(0,D9.useEffect)(()=>{t(w9(e))},[t,e]),null}var H1=te(re());var Ile=e=>{var t=Xe();return(0,H1.useEffect)(()=>{t(E9(e))},[t,e]),null},V1=(0,H1.memo)(Ile,ao);var ul=te(re()),F9=te(re());var ic=te(re()),J_=te(re());var ac=te(re()),K1=te(re());function I9(e){var t=e.zIndex,r=e.isPanorama,n=(0,K1.useRef)(null),o=Xe();return(0,K1.useLayoutEffect)(()=>(n.current&&o(Mz({zIndex:t,element:n.current,isPanorama:r})),()=>{o(Pz({zIndex:t,isPanorama:r}))}),[o,t,r]),ac.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function Q_(e){var t=e.children,r=e.isPanorama,n=Ae(Nz);if(!n||n.length===0)return t;var o=n.filter(i=>i<0),a=n.filter(i=>i>0);return ac.createElement(ac.Fragment,null,o.map(i=>ac.createElement(I9,{key:i,zIndex:i,isPanorama:r})),t,a.map(i=>ac.createElement(I9,{key:i,zIndex:i,isPanorama:r})))}var jle=["children"];function zle(e,t){if(e==null)return{};var r,n,o=Lle(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{var r=Kd(),n=qd(),o=Q0();if(!ro(r)||!ro(n))return null;var a=e.children,i=e.otherAttributes,l=e.title,s=e.desc,u,c;return i!=null&&(typeof i.tabIndex=="number"?u=i.tabIndex:u=o?0:void 0,typeof i.role=="string"?c=i.role:c=o?"application":void 0),ic.createElement(xm,q1({},i,{title:l,desc:s,role:c,tabIndex:u,width:r,height:n,style:Ble,ref:t}),a)}),Fle=e=>{var t=e.children,r=Ae(yu);if(!r)return null;var n=r.width,o=r.height,a=r.y,i=r.x;return ic.createElement(xm,{width:n,height:o,x:i,y:a},t)},R_=(0,J_.forwardRef)((e,t)=>{var r=e.children,n=zle(e,jle),o=It();return o?ic.createElement(Fle,null,ic.createElement(Q_,{isPanorama:!0},r)):ic.createElement($le,q1({ref:t},n),ic.createElement(Q_,{isPanorama:!1},r))});var br=te(re()),bt=te(re());var G1=te(re());function Ule(e,t){return Kle(e)||Vle(e,t)||Hle(e,t)||Wle()}function Wle(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Hle(e,t){if(e){if(typeof e=="string")return j9(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?j9(e,t):void 0}}function j9(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n!=null){var i=n.getBoundingClientRect(),l=i.width/n.offsetWidth;qe(l)&&l!==a&&e(WD(l))}},[n,e,a]),o}function L9(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function qle(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r(Zz(),null);function X1(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var tse=(0,bt.forwardRef)((e,t)=>{var r,n,o=(0,bt.useRef)(null),a=(0,bt.useState)({containerWidth:X1((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:X1((n=e.style)===null||n===void 0?void 0:n.height)}),i=Y1(a,2),l=i[0],s=i[1],u=(0,bt.useCallback)((d,f)=>{s(p=>{var m=Math.round(d),g=Math.round(f);return p.containerWidth===m&&p.containerHeight===g?p:{containerWidth:m,containerHeight:g}})},[]),c=(0,bt.useCallback)(d=>{if(typeof t=="function"&&t(d),o.current!=null&&(o.current.disconnect(),o.current=null),d!=null&&typeof ResizeObserver<"u"){var f=d.getBoundingClientRect(),p=f.width,m=f.height;u(p,m);var g=v=>{var y=v[0];if(y!=null){var b=y.contentRect,x=b.width,S=b.height;u(x,S)}},h=new ResizeObserver(g);h.observe(d),o.current=h}},[t,u]);return(0,bt.useEffect)(()=>()=>{var d=o.current;d?.disconnect()},[u]),br.createElement(br.Fragment,null,br.createElement(bu,{width:l.containerWidth,height:l.containerHeight}),br.createElement("div",_s({ref:c},e)))}),rse=(0,bt.forwardRef)((e,t)=>{var r=e.width,n=e.height,o=(0,bt.useState)({containerWidth:X1(r),containerHeight:X1(n)}),a=Y1(o,2),i=a[0],l=a[1],s=(0,bt.useCallback)((c,d)=>{l(f=>{var p=Math.round(c),m=Math.round(d);return f.containerWidth===p&&f.containerHeight===m?f:{containerWidth:p,containerHeight:m}})},[]),u=(0,bt.useCallback)(c=>{if(typeof t=="function"&&t(c),c!=null){var d=c.getBoundingClientRect(),f=d.width,p=d.height;s(f,p)}},[t,s]);return br.createElement(br.Fragment,null,br.createElement(bu,{width:i.containerWidth,height:i.containerHeight}),br.createElement("div",_s({ref:u},e)))}),nse=(0,bt.forwardRef)((e,t)=>{var r=e.width,n=e.height;return br.createElement(br.Fragment,null,br.createElement(bu,{width:r,height:n}),br.createElement("div",_s({ref:t},e)))}),ose=(0,bt.forwardRef)((e,t)=>{var r=e.width,n=e.height;return typeof r=="string"||typeof n=="string"?br.createElement(rse,_s({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?br.createElement(nse,_s({},e,{width:r,height:n,ref:t})):br.createElement(br.Fragment,null,br.createElement(bu,{width:r,height:n}),br.createElement("div",_s({ref:t},e)))});function ase(e){return e?tse:ose}var $9=(0,bt.forwardRef)((e,t)=>{var r=e.children,n=e.className,o=e.height,a=e.onClick,i=e.onContextMenu,l=e.onDoubleClick,s=e.onMouseDown,u=e.onMouseEnter,c=e.onMouseLeave,d=e.onMouseMove,f=e.onMouseUp,p=e.onTouchEnd,m=e.onTouchMove,g=e.onTouchStart,h=e.style,v=e.width,y=e.responsive,b=e.dispatchTouchEvents,x=b===void 0?!0:b,S=(0,bt.useRef)(null),w=Xe(),T=(0,bt.useState)(null),k=Y1(T,2),A=k[0],M=k[1],H=(0,bt.useState)(null),F=Y1(H,2),X=F[0],P=F[1],Y=z9(),C=Lm(),_=C?.width>0?C.width:v,z=C?.height>0?C.height:o,D=(0,bt.useCallback)(Z=>{Y(Z),typeof t=="function"&&t(Z),M(Z),P(Z),Z!=null&&(S.current=Z)},[Y,t,M,P]),E=(0,bt.useCallback)(Z=>{w(U_(Z)),w(zo({handler:a,reactEvent:Z}))},[w,a]),j=(0,bt.useCallback)(Z=>{w(j1(Z)),w(zo({handler:u,reactEvent:Z}))},[w,u]),R=(0,bt.useCallback)(Z=>{w(Ab()),w(zo({handler:c,reactEvent:Z}))},[w,c]),U=(0,bt.useCallback)(Z=>{w(j1(Z)),w(zo({handler:d,reactEvent:Z}))},[w,d]),L=(0,bt.useCallback)(()=>{w(K_())},[w]),K=(0,bt.useCallback)(()=>{w(q_())},[w]),ae=(0,bt.useCallback)(Z=>{w(V_(Z.key))},[w]),de=(0,bt.useCallback)(Z=>{w(zo({handler:i,reactEvent:Z}))},[w,i]),ze=(0,bt.useCallback)(Z=>{w(zo({handler:l,reactEvent:Z}))},[w,l]),oe=(0,bt.useCallback)(Z=>{w(zo({handler:s,reactEvent:Z}))},[w,s]),Ee=(0,bt.useCallback)(Z=>{w(zo({handler:f,reactEvent:Z}))},[w,f]),V=(0,bt.useCallback)(Z=>{w(zo({handler:g,reactEvent:Z}))},[w,g]),I=(0,bt.useCallback)(Z=>{x&&w(X_(Z)),w(zo({handler:m,reactEvent:Z}))},[w,x,m]),N=(0,bt.useCallback)(Z=>{w(zo({handler:p,reactEvent:Z}))},[w,p]),O=ase(y);return br.createElement(t_.Provider,{value:A},br.createElement(WA.Provider,{value:X},br.createElement(O,{width:_??h?.width,height:z??h?.height,className:He("recharts-wrapper",n),style:qle({position:"relative",cursor:"default",width:_,height:z},h),onClick:E,onContextMenu:de,onDoubleClick:ze,onFocus:L,onBlur:K,onKeyDown:ae,onMouseDown:oe,onMouseEnter:j,onMouseLeave:R,onMouseMove:U,onMouseUp:Ee,onTouchEnd:N,onTouchMove:I,onTouchStart:V,ref:D},br.createElement(ese,null),r)))});var ise=["width","height","responsive","children","className","style","compact","title","desc"];function lse(e,t){if(e==null)return{};var r,n,o=sse(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{var r=e.width,n=e.height,o=e.responsive,a=e.children,i=e.className,l=e.style,s=e.compact,u=e.title,c=e.desc,d=lse(e,ise),f=cr(d);return s?ul.createElement(ul.Fragment,null,ul.createElement(bu,{width:r,height:n}),ul.createElement(R_,{otherAttributes:f,title:u,desc:c},a)):ul.createElement($9,{className:i,style:l,width:r,height:n,responsive:o??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},ul.createElement(R_,{otherAttributes:f,title:u,desc:c,ref:t},ul.createElement(r7,null,a)))});function eE(){return eE=Object.assign?Object.assign.bind():function(e){for(var t=1;tH9.createElement(Kf,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:vse,tooltipPayloadSearcher:ms,categoricalChartProps:e,ref:t}));var K9=te(re()),q9=te(re());var gse=["axis","item"],rE=(0,q9.forwardRef)((e,t)=>K9.createElement(Kf,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:gse,tooltipPayloadSearcher:ms,categoricalChartProps:e,ref:t}));var e$=te(re()),t$=te(re());var Z9=te(re()),Es=te(re());var G9=te(re());function Y9(e){var t=Xe();return(0,G9.useEffect)(()=>{t(A9(e))},[t,e]),null}var yse=["layout"];function nE(){return nE=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=ft(e,Ose);return e$.createElement(Q9,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:Ese,tooltipPayloadSearcher:ms,categoricalChartProps:r,ref:t})});var r$=te(re()),n$=te(re());var Tse=["axis"],Os=(0,n$.forwardRef)((e,t)=>r$.createElement(Kf,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Tse,tooltipPayloadSearcher:ms,categoricalChartProps:e,ref:t}));var xa=te(re()),qf=[{id:"5m",label:"5m",minutes:5,bucketSeconds:10},{id:"10m",label:"10m",minutes:10,bucketSeconds:20},{id:"15m",label:"15m",minutes:15,bucketSeconds:30},{id:"30m",label:"30m",minutes:30,bucketSeconds:60},{id:"45m",label:"45m",minutes:45,bucketSeconds:60},{id:"1h",label:"1h",minutes:60,bucketSeconds:120},{id:"2h",label:"2h",minutes:120,bucketSeconds:240},{id:"3h",label:"3h",minutes:180,bucketSeconds:300},{id:"6h",label:"6h",minutes:360,bucketSeconds:600},{id:"12h",label:"12h",minutes:720,bucketSeconds:1200},{id:"1d",label:"1d",minutes:1440,bucketSeconds:1800},{id:"3d",label:"3d",minutes:4320,bucketSeconds:7200},{id:"7d",label:"7d",minutes:10080,bucketSeconds:14400},{id:"30d",label:"30d",minutes:43200,bucketSeconds:86400},{id:"90d",label:"90d",minutes:129600,bucketSeconds:259200}],o$="30m",a$="activeagents.timeWindow",i$=(0,xa.createContext)(null),iE=e=>qf.find(t=>t.id===e);function l$({children:e}){let[t,r]=(0,xa.useState)(()=>{try{let a=localStorage.getItem(a$);if(a&&iE(a))return a}catch{}return o$}),n=(0,xa.useCallback)(a=>{if(iE(a)){r(a);try{localStorage.setItem(a$,a)}catch{}}},[]),o=(0,xa.useMemo)(()=>{let a=qf.findIndex(l=>l.id===t),i=qf[a]||iE(o$);return{timeWindow:i,windowIndex:a,windows:qf,setWindow:n,zoomTo:l=>{let s=qf[Math.min(Math.max(l,0),qf.length-1)];s&&n(s.id)},days:Math.max(1,Math.ceil(i.minutes/1440))}},[t,n]);return xa.default.createElement(i$.Provider,{value:o},e)}function si(){let e=(0,xa.useContext)(i$);if(!e)throw new Error("useTimeWindow must be used within a TimeWindowProvider");return e}var Gf=te(re());function ui({compact:e=!1}){let{windows:t,windowIndex:r,timeWindow:n,setWindow:o,zoomTo:a}=si(),{darkMode:i}=Nt(),l=Ro(i),s={color:l.textSecondary};return Gf.default.createElement("div",{className:"flex items-center rounded-lg p-1",style:{background:l.mutedBg}},Gf.default.createElement("button",{onClick:()=>a(r-1),disabled:r<=0,title:"Zoom in (shorter window)","aria-label":"Zoom in",className:"aa-zoom px-2 py-1 text-sm rounded-md disabled:opacity-30 disabled:cursor-not-allowed",style:s},"\u2212"),Gf.default.createElement("select",{value:n.id,onChange:u=>o(u.target.value),"aria-label":"Time window",className:`aa-field px-2 py-1 mx-1 text-sm rounded-md shadow ${e?"":"min-w-[4.5rem]"}`,style:{background:l.cardBg,color:l.textPrimary,border:`1px solid ${l.cardBorder}`}},t.map(u=>Gf.default.createElement("option",{key:u.id,value:u.id},u.label))),Gf.default.createElement("button",{onClick:()=>a(r+1),disabled:r>=t.length-1,title:"Zoom out (longer window)","aria-label":"Zoom out",className:"aa-zoom px-2 py-1 text-sm rounded-md disabled:opacity-30 disabled:cursor-not-allowed",style:s},"+"))}var kr=te(re());var Jt=te(re());var ag=e=>{let t=(e||"").toLowerCase();return t.includes("claude")?2e5:t.includes("gemini")?1e6:t.includes("llama")?131072:t.includes("gpt-4o")||t.includes("gpt-4-turbo")||t.includes("gpt-4.1")?128e3:t.includes("gpt-5")?4e5:128e3},Ts=e=>{if(e==null)return 0;let t=typeof e=="string"?e:JSON.stringify(e);return Math.round(t.length/4)},Q1=e=>{let t=e?.spans||[],r=null;for(let m of t){let g=m.tokens||{},h=(g.input||0)+(g.output||0);h>0&&(!r||h>r.total)&&(r={input:g.input||0,output:g.output||0,thinking:g.thinking||0,cached:g.cached||0,total:h})}if(!r)return null;let n=m=>{for(let g of t){let h=(g.attributes||{})[m];if(h)return h}return null},o=(m,...g)=>{let h=Number(n(m));if(Number.isFinite(h)&&h>0)return h;for(let v of g){let y=n(v);if(y)return Ts(y)}return 0},a=o("prompt.input.instructions.tokens","prompt.input.instructions","llm.instructions"),i=o("prompt.input.tools.tokens","prompt.input.tools","llm.tools"),l=o("prompt.input.mcp_tools.tokens","prompt.input.mcp_tools"),s=o("prompt.input.messages.tokens","prompt.input.messages","llm.messages"),u=0;for(let m of t){let g=m.attributes||{},h=g["tool.output.result"]||g["tool.result"],v=g["tool.input.args"]||g["tool.arguments"];h&&(u+=Ts(h)),v&&(u+=Ts(v))}u=Math.min(u,r.input);let c=["messages","toolResults","instructions","toolSchemas","mcpSchemas"],d={messages:s,toolResults:u,instructions:a,toolSchemas:i,mcpSchemas:l},f=c.reduce((m,g)=>m+d[g],0),p;if(f>0&&r.input>0){let m=r.input/f;p={};for(let h of c)p[h]=Math.round(d[h]*m);let g=r.input-c.reduce((h,v)=>h+p[v],0);if(g!==0){let h=c.reduce((v,y)=>p[y]>p[v]?y:v);p[h]=Math.max(p[h]+g,0)}}else p={messages:r.input,toolResults:0,instructions:0,toolSchemas:0,mcpSchemas:0};return{used:r.total,limit:ag(e.model),cached:r.cached,thinking:r.thinking,estimated:f>0,segments:[{key:"messages",label:"Messages",tokens:p.messages},{key:"tool_results",label:"Tool results",tokens:p.toolResults},{key:"instructions",label:"Instructions",tokens:p.instructions},{key:"tool_schemas",label:"Tool schemas",tokens:p.toolSchemas},{key:"mcp_schemas",label:"MCP tool schemas",tokens:p.mcpSchemas},{key:"output",label:"Generated output",tokens:r.output}]}};var Mse={messages:"#2563eb",tool_results:"#5b84ec",instructions:"#85a3f0",tool_schemas:"#a6bcf4",mcp_schemas:"#c3d2f8",memory:"#dce4fb",output:"#7c3aed"},Yf=e=>e==null?"\u2014":e>=1e6?`${(e/1e6).toFixed(1).replace(/\.0$/,"")}M`:e>=1e3?`${(e/1e3).toFixed(1).replace(/\.0$/,"")}k`:String(Math.round(e));function Ms({used:e,limit:t=2e5,segments:r=[],cached:n=0,thinking:o=0,compact:a=!1,defaultOpen:i=!1,label:l="Context window",estimated:s=!1,darkMode:u=!1}){let[c,d]=(0,Jt.useState)(i),f=r.filter(T=>T.tokens>0),p=e??f.reduce((T,k)=>T+k.tokens,0),m=t>0?p/t:0,g=m>=.9?"#dc2626":m>=.75?"#eab308":null,h=u?"rgba(255,255,255,0.4)":"#9ca3af",v=u?"rgba(255,255,255,0.6)":"#6b7280",y=u?"rgba(255,255,255,0.75)":"#4b5563",b=u?"rgba(255,255,255,0.1)":"#f3f4f6",x=`${Yf(p)} / ${Yf(t)} (${Math.round(m*100)}%)`,S=T=>T.key==="messages"&&g?g:T.color||Mse[T.key]||"#2563eb",w=T=>Jt.default.createElement("div",{style:{display:"flex",height:T,borderRadius:"999px",overflow:"hidden",background:b,flex:1}},f.map(k=>Jt.default.createElement("div",{key:k.key,title:`${k.label} \xB7 ${Yf(k.tokens)}`,style:{width:`${Math.min(k.tokens/t*100,100)}%`,background:S(k)}})));return a?Jt.default.createElement("span",{title:`${l}: ${x}`,style:{display:"inline-flex",alignItems:"center",gap:"6px",width:"132px",verticalAlign:"middle"}},w("6px"),Jt.default.createElement("span",{style:{fontSize:"11px",fontFamily:"'SF Mono', 'Fira Code', monospace",color:g||h,whiteSpace:"nowrap"}},Math.round(m*100),"%")):Jt.default.createElement("div",{style:{background:u?"rgba(255,255,255,0.03)":"#ffffff",border:`1px solid ${g?g+"66":u?"rgba(255,255,255,0.1)":"#e5e7eb"}`,borderRadius:"12px",padding:"12px 14px"}},Jt.default.createElement("div",{onClick:T=>{T.stopPropagation(),d(!c)},style:{display:"flex",alignItems:"center",justifyContent:"space-between",cursor:"pointer"}},Jt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:v}},l,s&&Jt.default.createElement("span",{style:{color:h,fontWeight:400}}," \xB7 estimated")),Jt.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px"}},Jt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",fontWeight:600,color:g||y}},x),Jt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:h,display:"inline-block",transform:c?"rotate(90deg)":"none",transition:"transform 0.15s ease"}},">"))),Jt.default.createElement("div",{style:{display:"flex",marginTop:"8px"}},w("9px")),m>=.9&&Jt.default.createElement("div",{style:{marginTop:"6px",fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:"#dc2626"}},"[!] compaction imminent \u2014 next turn may drop the oldest messages"),c&&Jt.default.createElement("div",{style:{marginTop:"10px",display:"grid",gap:"5px"}},[...f,{key:"__free",label:"Free space",tokens:Math.max(t-p,0)}].map(T=>Jt.default.createElement("div",{key:T.key,style:{display:"flex",alignItems:"center",gap:"8px"}},Jt.default.createElement("span",{style:{width:"9px",height:"9px",borderRadius:"2px",flexShrink:0,background:T.key==="__free"?b:S(T),border:T.key==="__free"?`1px solid ${u?"rgba(255,255,255,0.25)":"#d1d5db"}`:"none"}}),Jt.default.createElement("span",{style:{fontSize:"13px",color:y,flex:1}},T.label),Jt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:v,width:"56px",textAlign:"right"}},Yf(T.tokens)),Jt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:h,width:"46px",textAlign:"right"}},t>0?`${(T.tokens/t*100).toFixed(1)}%`:"\u2014"))),(n>0||o>0)&&Jt.default.createElement("div",{style:{marginTop:"4px",paddingTop:"6px",borderTop:`1px solid ${u?"rgba(255,255,255,0.08)":"#f3f4f6"}`,display:"flex",gap:"16px",fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:h}},n>0&&Jt.default.createElement("span",null,Jt.default.createElement("span",{style:{color:"#2563eb"}},"[=]")," cached prefix ",Yf(n)),o>0&&Jt.default.createElement("span",null,Jt.default.createElement("span",{style:{color:"#7c3aed"}},"[~]")," thinking ",Yf(o)))))}var Ke=te(re());var ke=te(re());var Mr=te(re());var se=te(re());var s$=["ui","json-ui","genui"],sc="render_ui",Ba=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),lE=e=>{if(typeof e=="string")try{return JSON.parse(e)}catch{return}};function uc(e){let t=typeof e=="string"?lE(e):e;if(Array.isArray(t))return t.every(Ba)?t:null;if(Ba(t)){if(Array.isArray(t.blocks))return t.blocks.every(Ba)?t.blocks:null;if(Array.isArray(t.ui))return t.ui.every(Ba)?t.ui:null}return null}function sE(e,t){let r=String(e||"").trim().toLowerCase();if(s$.includes(r))return uc(t);if(r==="json"){let n=lE(t);return Ba(n)&&Array.isArray(n.ui)?uc(n):null}return null}function uE(e){if(typeof e!="string")return null;let t=e.trim(),r=t.startsWith("{")&&t.endsWith("}"),n=t.startsWith("[")&&t.endsWith("]");if(!r&&!n)return null;let o=lE(t);if(o==null||typeof o!="object")return null;if(Array.isArray(o))return o.length>0&&o.every(l=>Ba(l)&&typeof l.type=="string")?{blocks:o}:{object:o};let a=uc(o);return a?{blocks:a}:{object:o}}var Pse=e=>Ba(e)?e.function?.name||e.name:void 0,Dse=e=>Ba(e)?e.function?.arguments??e.arguments??e.input:void 0;function Xf(e,{callId:t}={}){if(!Ba(e))return null;if(e.tool_name===sc&&e.tool_arguments!=null){let o=uc(e.tool_arguments);if(o)return o}let r=e.tool_calls,n=[];if(Array.isArray(r)){let o=r.some(a=>Ba(a)&&a.id!=null);r.forEach(a=>{if(Pse(a)!==sc||t!=null&&o&&a.id!==t)return;let i=uc(Dse(a));i&&n.push(...i)})}else if(Ba(r)&&e.tool_name===sc){let o=uc(r);o&&n.push(...o)}return n.length>0?n:null}function J1(e){return typeof e=="string"&&/^(https?:\/\/|data:image\/)/i.test(e.trim())}function R1(e){if(typeof e!="string")return!1;let t=e.trim();if(/^data:image\//i.test(t))return!0;if(!/^https?:\/\//i.test(t)||typeof window>"u"||!window.location)return!1;try{return new URL(t,window.location.href).origin===window.location.origin}catch{return!1}}function u$(e){try{return new URL(String(e).trim()).host}catch{return""}}var v$=["#2a78d6","#eb6834","#1baf7a","#eda100","#e87ba4","#008300","#4a3aa7","#e34948"],Ise=["#3987e5","#d95926","#199e70","#c98500","#d55181","#008300","#9085e9","#e66767"],ig=v$.length,c$=220,Zf=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),dt=e=>e==null?"":typeof e=="object"?JSON.stringify(e):String(e),g$=e=>{if(typeof e!="number"||!Number.isFinite(e))return dt(e);let t=Math.abs(e);return t>=1e9?`${(e/1e9).toFixed(1).replace(/\.0$/,"")}B`:t>=1e6?`${(e/1e6).toFixed(1).replace(/\.0$/,"")}M`:t>=1e4?`${(e/1e3).toFixed(1).replace(/\.0$/,"")}K`:e.toLocaleString()},pE=(e,t)=>typeof t=="string"&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,d$={info:{light:["#eff6ff","#1d4ed8"],dark:["rgba(59,130,246,0.15)","#93c5fd"]},success:{light:["#f0fdf4","#15803d"],dark:["rgba(34,197,94,0.15)","#86efac"]},warning:{light:["#fffbeb","#b45309"],dark:["rgba(245,158,11,0.15)","#fcd34d"]},danger:{light:["#fef2f2","#b91c1c"],dark:["rgba(239,68,68,0.15)","#fca5a5"]}},jse={positive:{light:"#15803d",dark:"#4ade80"},negative:{light:"#b91c1c",dark:"#f87171"}},cE=e=>({width:"100%",padding:"6px 10px",borderRadius:"8px",border:`1px solid ${e.inputBorder}`,background:e.inputBg,color:e.textPrimary,fontFamily:"inherit",fontSize:"13px"}),mE=e=>({background:e?"rgba(0,0,0,0.35)":"#f3f4f6",color:e?"#ffffff":"#111827",borderRadius:"6px",padding:"8px 10px",fontSize:"12px",overflowX:"auto",margin:0,whiteSpace:"pre-wrap"}),Qf=e=>({fontSize:"13px",fontWeight:600,color:e.textPrimary,margin:0});function cl({block:e,reason:t,colors:r,darkMode:n}){return se.default.createElement("div",{className:"text-xs",style:{color:r.textMuted}},se.default.createElement("div",{className:"mb-1"},"Unsupported block",e&&e.type?` \u201C${dt(e.type)}\u201D`:"",t?` \u2014 ${t}`:""),se.default.createElement("pre",{style:{...mE(n),maxHeight:"160px",overflowY:"auto"}},JSON.stringify(e,null,2)))}function zse({block:e,colors:t,darkMode:r,onAction:n}){let o=J1(e.image_url)&&R1(e.image_url)?e.image_url.trim():null;return se.default.createElement("div",{className:"overflow-hidden",style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",background:t.innerBg}},o&&se.default.createElement("img",{src:o,alt:dt(e.title),style:{width:"100%",maxHeight:"220px",objectFit:"cover",display:"block"}}),se.default.createElement("div",{className:"p-3 space-y-1.5"},e.title!=null&&se.default.createElement("div",{style:Qf(t)},dt(e.title)),e.body!=null&&se.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},se.default.createElement($a,{text:dt(e.body),darkMode:r,onUiAction:n})),e.footer!=null&&se.default.createElement("div",{className:"text-xs pt-1",style:{color:t.textMuted,borderTop:`1px solid ${t.cardBorder}`}},dt(e.footer))))}function y$({block:e,colors:t,darkMode:r}){let n=e.delta!=null?dt(e.delta):null,o=e.tone||(n&&n.trim().startsWith("-")?"negative":n?"positive":"neutral"),a=pE(jse,o),i=a?a[r?"dark":"light"]:t.textMuted,l=typeof e.value=="number"?g$(e.value):dt(e.value);return se.default.createElement("div",{style:{background:t.innerBg,border:`1px solid ${t.cardBorder}`,borderRadius:"10px",padding:"10px 12px"}},se.default.createElement("div",{className:"text-xs",style:{color:t.textMuted}},dt(e.label)),se.default.createElement("div",{className:"text-lg font-semibold leading-tight mt-0.5",style:{color:t.textPrimary}},l),n&&se.default.createElement("div",{className:"text-xs mt-0.5 font-medium",style:{color:i}},n))}function Lse({block:e,colors:t,darkMode:r}){let n=Array.isArray(e.items)?e.items.filter(Zf):[];return n.length===0?se.default.createElement(cl,{block:e,reason:"stats needs an items array",colors:t,darkMode:r}):se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(140px, 1fr))",gap:"8px"}},n.map((o,a)=>se.default.createElement(y$,{key:a,block:o,colors:t,darkMode:r})))}var fE=(e,t)=>({padding:"6px 10px",borderBottom:`1px solid ${e.cardBorder}`,color:e.textCell,textAlign:t?"right":"left",fontVariantNumeric:t?"tabular-nums":void 0,verticalAlign:"top"}),Bse=e=>({padding:"6px 10px",borderBottom:`1px solid ${e.borderStrong}`,color:e.textSecondary,fontSize:"11px",fontWeight:600,textAlign:"left",fontFamily:Ve.mono,textTransform:"uppercase",letterSpacing:"0.04em",whiteSpace:"nowrap"});function h$({columns:e,rows:t,colors:r,renderCell:n}){return se.default.createElement("div",{style:{overflowX:"auto"}},se.default.createElement("table",{className:"text-sm",style:{width:"100%",borderCollapse:"collapse"}},se.default.createElement("thead",null,se.default.createElement("tr",null,e.map((o,a)=>se.default.createElement("th",{key:a,style:Bse(r)},dt(o))))),se.default.createElement("tbody",null,t.map((o,a)=>se.default.createElement("tr",{key:a},e.map((i,l)=>{let s=o[l];return se.default.createElement("td",{key:l,style:fE(r,typeof s=="number")},n?n(s):typeof s=="number"?s.toLocaleString():dt(s))}))))))}function $se({block:e,colors:t,darkMode:r}){let n=Array.isArray(e.columns)?e.columns:null,o=Array.isArray(e.rows)?e.rows:null;if(!n||!o)return se.default.createElement(cl,{block:e,reason:"table needs columns and rows arrays",colors:t,darkMode:r});let a=o.map(i=>Array.isArray(i)?i:Zf(i)?n.map(l=>i[l]):[i]);return se.default.createElement("div",null,e.title!=null&&se.default.createElement("div",{className:"mb-1.5",style:Qf(t)},dt(e.title)),se.default.createElement(h$,{columns:n,rows:a,colors:t}))}var Fse=e=>{let t=e[0];return Object.keys(t).find(r=>typeof t[r]=="string")||Object.keys(t)[0]},Use=(e,t)=>Object.keys(e[0]).filter(r=>r!==t&&typeof e[0][r]=="number");function Wse({block:e,colors:t,darkMode:r}){let n=String(e.chart||e.kind||"bar").toLowerCase(),o=Array.isArray(e.data)?e.data.filter(Zf):[];if(o.length===0)return se.default.createElement(cl,{block:e,reason:"chart needs a data array of objects",colors:t,darkMode:r});let a=typeof e.x=="string"?e.x:Fse(o),i=Array.isArray(e.series)?e.series.filter(h=>typeof h=="string"):[],l=(i.length>0?i:Use(o,a)).slice(0,ig);if(!a||l.length===0)return se.default.createElement(cl,{block:e,reason:"chart needs an x key and at least one series",colors:t,darkMode:r});let s=r?Ise:v$,u=t.cardBg,c={fontSize:10,fill:t.textMuted},d=se.default.createElement(vs,{contentStyle:{background:u,border:`1px solid ${t.cardBorder}`,borderRadius:"8px",fontSize:"12px"},labelStyle:{color:t.textPrimary,fontWeight:600,marginBottom:"4px"},itemStyle:{color:t.textCell},formatter:h=>typeof h=="number"?h.toLocaleString():dt(h)}),f=l.length>1||n==="pie"?se.default.createElement(Y0,{wrapperStyle:{fontSize:"11px",color:t.textSecondary},iconSize:10}):null,p=se.default.createElement(se.default.Fragment,null,se.default.createElement(rl,{stroke:t.cardBorder,vertical:!1}),se.default.createElement(il,{dataKey:a,stroke:t.borderStrong,tick:c,tickLine:!1}),se.default.createElement(sl,{stroke:t.borderStrong,tick:c,tickLine:!1,axisLine:!1,tickFormatter:g$,width:44})),m={top:8,right:12,bottom:0,left:0},g;if(n==="line")g=se.default.createElement(tE,{data:o,margin:m},p,d,f,l.map((h,v)=>se.default.createElement(_1,{key:h,type:"monotone",dataKey:h,stroke:s[v],strokeWidth:2,dot:{r:4,strokeWidth:2,stroke:u,fill:s[v]},activeDot:{r:5,strokeWidth:2,stroke:u},isAnimationActive:!1})));else if(n==="area")g=se.default.createElement(Os,{data:o,margin:m},p,d,f,l.map((h,v)=>se.default.createElement(ol,{key:h,type:"monotone",dataKey:h,stroke:s[v],strokeWidth:2,fill:s[v],fillOpacity:.12,dot:{r:3,strokeWidth:2,stroke:u,fill:s[v]},isAnimationActive:!1})));else if(n==="pie"){let h=l[0],v=[...o].sort((x,S)=>(Number(S[h])||0)-(Number(x[h])||0)),y=v.slice(0,ig),b=v.slice(ig);b.length>0&&(y[ig-1]={[a]:"Other",[h]:b.reduce((x,S)=>x+(Number(S[h])||0),Number(y[ig-1][h])||0)}),g=se.default.createElement(aE,{margin:m},d,f,se.default.createElement(p1,{data:y,dataKey:h,nameKey:a,innerRadius:44,outerRadius:80,paddingAngle:2,stroke:u,strokeWidth:2,isAnimationActive:!1},y.map((x,S)=>se.default.createElement(Ji,{key:S,fill:s[S]}))))}else g=se.default.createElement(rE,{data:o,margin:m,barCategoryGap:"25%",barGap:2},p,d,f,l.map((h,v)=>se.default.createElement(D1,{key:h,dataKey:h,fill:s[v],radius:[4,4,0,0],maxBarSize:24,isAnimationActive:!1})));return se.default.createElement("div",null,e.title!=null&&se.default.createElement("div",{className:"mb-1",style:Qf(t)},dt(e.title)),se.default.createElement("div",{style:{width:"100%",height:c$,minWidth:0}},se.default.createElement(Jl,{width:"100%",height:c$},g)))}function Hse({block:e,colors:t,darkMode:r,onAction:n}){let o=Array.isArray(e.items)?e.items:null;if(!o)return se.default.createElement(cl,{block:e,reason:"list needs an items array",colors:t,darkMode:r});let a=e.ordered?"ol":"ul";return se.default.createElement("div",null,e.title!=null&&se.default.createElement("div",{className:"mb-1",style:Qf(t)},dt(e.title)),se.default.createElement(a,{className:`${e.ordered?"list-decimal":"list-disc"} pl-5 text-sm space-y-0.5`,style:{color:t.textCell}},o.map((i,l)=>se.default.createElement("li",{key:l},typeof i=="string"?se.default.createElement($a,{text:i,darkMode:r,onUiAction:n}):dt(i)))))}function Vse({block:e,colors:t}){let r=Number(e.value),n=Number.isFinite(r)?Math.max(0,Math.min(100,r)):0;return se.default.createElement("div",null,se.default.createElement("div",{className:"flex items-center justify-between text-xs mb-1"},se.default.createElement("span",{style:{color:t.textCell}},dt(e.label)),se.default.createElement("span",{className:"font-mono",style:{color:t.textMuted}},Math.round(n),"%")),se.default.createElement("div",{style:{height:"8px",borderRadius:"999px",background:t.trackBg,overflow:"hidden"}},se.default.createElement("div",{style:{width:`${n}%`,height:"100%",background:bn,borderRadius:"999px",transition:"width 0.3s ease"}})))}var Kse=["text","textarea","number","select","checkbox"],dE=e=>dt(e.name||e.label),f$=e=>dt(e.label||e.name),p$=e=>Kse.includes(e.type)?e.type:"text";function qse({block:e,colors:t,darkMode:r,onAction:n}){let o=(Array.isArray(e.fields)?e.fields:[]).filter(f=>Zf(f)&&(f.name||f.label)),[a,i]=(0,se.useState)(()=>Object.fromEntries(o.map(f=>[dE(f),p$(f)==="checkbox"?!1:""]))),[l,s]=(0,se.useState)(!1);if(o.length===0)return se.default.createElement(cl,{block:e,reason:"form needs fields",colors:t,darkMode:r});let u=e.submit!=null?dt(e.submit):"Submit",c=(f,p)=>i(m=>({...m,[f]:p}));return se.default.createElement("form",{onSubmit:f=>{f.preventDefault();let p=o.map(m=>{let g=a[dE(m)];return`${f$(m)}: ${typeof g=="boolean"?g?"yes":"no":dt(g)}`}).join("; ");s(!0),n&&n({kind:"form",text:`${e.submit!=null?dt(e.submit):"Submitted"}: ${p}`,values:{...a}})},className:"space-y-2.5",style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",background:t.innerBg,padding:"12px"}},e.title!=null&&se.default.createElement("div",{style:Qf(t)},dt(e.title)),o.map(f=>{let p=dE(f),m=p$(f),g=f$(f),h=`genui-field-${p.replace(/\W+/g,"-")}`;return m==="checkbox"?se.default.createElement("label",{key:p,className:"flex items-center gap-2 text-sm",style:{color:t.textCell}},se.default.createElement("input",{type:"checkbox",checked:!!a[p],onChange:v=>c(p,v.target.checked),style:{accentColor:bn}}),g):se.default.createElement("div",{key:p},se.default.createElement("label",{htmlFor:h,className:"block text-xs mb-1",style:{color:t.textSecondary}},g,f.required?" *":""),m==="textarea"?se.default.createElement("textarea",{id:h,name:p,value:a[p],onChange:v=>c(p,v.target.value),placeholder:f.placeholder!=null?dt(f.placeholder):void 0,required:!!f.required,rows:3,className:"aa-field",style:{...cE(t),resize:"vertical"}}):m==="select"?se.default.createElement("select",{id:h,name:p,value:a[p],onChange:v=>c(p,v.target.value),required:!!f.required,className:"aa-field",style:cE(t)},se.default.createElement("option",{value:""},f.placeholder!=null?dt(f.placeholder):"Select\u2026"),(Array.isArray(f.options)?f.options:[]).map((v,y)=>se.default.createElement("option",{key:y,value:dt(v)},dt(v)))):se.default.createElement("input",{id:h,name:p,type:m==="number"?"number":"text",value:a[p],onChange:v=>c(p,m==="number"&&v.target.value!==""?Number(v.target.value):v.target.value),placeholder:f.placeholder!=null?dt(f.placeholder):void 0,required:!!f.required,className:"aa-field",style:cE(t)}))}),se.default.createElement("div",{className:"flex items-center gap-3 pt-1"},se.default.createElement("button",{type:"submit","data-testid":"genui-form-submit",style:{padding:"6px 14px",borderRadius:"8px",fontSize:"13px",fontWeight:500,background:bn,color:"#ffffff",border:"1px solid transparent",cursor:"pointer"}},u),l&&se.default.createElement("span",{className:"text-xs",style:{color:t.textMuted}},"Sent to the agent")))}function Gse({block:e,colors:t,darkMode:r,onAction:n}){let o=Array.isArray(e.options)?e.options:null,[a,i]=(0,se.useState)(null);return!o||o.length===0?se.default.createElement(cl,{block:e,reason:"choices needs options",colors:t,darkMode:r}):se.default.createElement("div",null,e.prompt!=null&&se.default.createElement("div",{className:"text-sm mb-1.5",style:{color:t.textCell}},dt(e.prompt)),se.default.createElement("div",{className:"flex flex-wrap gap-2"},o.map((l,s)=>{let u=dt(l),c=a===s;return se.default.createElement("button",{key:s,type:"button","data-testid":"genui-choice",onClick:()=>{i(s),n&&n({kind:"choice",text:u})},style:{padding:"5px 12px",borderRadius:"999px",fontSize:"13px",cursor:"pointer",border:`1px solid ${c?bn:t.inputBorder}`,background:c?bn:"transparent",color:c?"#ffffff":t.textCell}},u)})))}function Yse({url:e,alt:t,colors:r,darkMode:n}){let[o,a]=(0,se.useState)(!1);if(o)return se.default.createElement("img",{src:e,alt:t,style:{maxWidth:"100%",borderRadius:"8px",display:"block"}});let i=u$(e);return se.default.createElement("button",{type:"button",onClick:()=>a(!0),"data-testid":"genui-image-load",className:"text-xs w-full",style:{border:`1px dashed ${r.cardBorder}`,borderRadius:"8px",padding:"14px 12px",color:r.textMuted,background:n?"rgba(255,255,255,0.03)":"#f9fafb"}},"Load image from ",i||"another site")}function Xse({block:e,colors:t,darkMode:r}){if(!J1(e.url))return se.default.createElement(cl,{block:e,reason:"image URL must be http(s) or data:",colors:t,darkMode:r});let n=e.url.trim(),o=e.alt!=null?dt(e.alt):"";return se.default.createElement("figure",{style:{margin:0}},R1(n)?se.default.createElement("img",{src:n,alt:o,style:{maxWidth:"100%",borderRadius:"8px",display:"block"}}):se.default.createElement(Yse,{url:n,alt:o,colors:t,darkMode:r}),e.caption!=null&&se.default.createElement("figcaption",{className:"text-xs mt-1",style:{color:t.textMuted}},dt(e.caption)))}function Zse({block:e,colors:t,darkMode:r,onAction:n}){let[o,a]=(pE(d$,e.tone)||d$.info)[r?"dark":"light"];return se.default.createElement("div",{style:{background:o,borderLeft:`3px solid ${a}`,borderRadius:"8px",padding:"10px 12px"}},e.title!=null&&se.default.createElement("div",{className:"text-sm font-semibold mb-0.5",style:{color:a}},dt(e.title)),se.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},se.default.createElement($a,{text:dt(e.body),darkMode:r,onUiAction:n})))}function Qse({block:e,colors:t,darkMode:r}){return se.default.createElement("div",null,e.language!=null&&se.default.createElement("div",{className:"text-xs font-mono mb-1",style:{color:t.textMuted}},dt(e.language)),se.default.createElement("pre",{style:mE(r)},dt(e.code)))}function m$({block:e,colors:t,darkMode:r,onAction:n}){let o=e.text??e.body??e.content??e.markdown;return se.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},se.default.createElement($a,{text:dt(o),darkMode:r,onUiAction:n}))}var Jse=3;function ew({value:e,colors:t,darkMode:r,depth:n}){if(e==null||typeof e!="object")return typeof e=="boolean"?se.default.createElement("span",{className:"font-mono"},String(e)):typeof e=="number"?se.default.createElement("span",{style:{fontVariantNumeric:"tabular-nums"}},e.toLocaleString()):se.default.createElement("span",null,dt(e));if(n>=Jse)return se.default.createElement("pre",{style:{...mE(r),maxHeight:"160px",overflowY:"auto"}},JSON.stringify(e,null,2));if(Array.isArray(e)){if(e.length===0)return se.default.createElement("span",{style:{color:t.textMuted}},"\u2014");if(e.every(Zf)){let a=[...new Set(e.flatMap(i=>Object.keys(i)))];return se.default.createElement(h$,{columns:a,rows:e.map(i=>a.map(l=>i[l])),colors:t,renderCell:i=>se.default.createElement(ew,{value:i,colors:t,darkMode:r,depth:n+1})})}return e.every(a=>a==null||typeof a!="object")?se.default.createElement("span",null,e.map(dt).join(", ")):se.default.createElement("ul",{className:"list-disc pl-5 space-y-0.5"},e.map((a,i)=>se.default.createElement("li",{key:i},se.default.createElement(ew,{value:a,colors:t,darkMode:r,depth:n+1}))))}let o=Object.entries(e);return o.length===0?se.default.createElement("span",{style:{color:t.textMuted}},"{}"):se.default.createElement("table",{className:"text-sm",style:{borderCollapse:"collapse",width:n===0?"100%":"auto"}},se.default.createElement("tbody",null,o.map(([a,i])=>se.default.createElement("tr",{key:a},se.default.createElement("th",{scope:"row",className:"font-mono text-xs",style:{...fE(t,!1),color:t.textSecondary,fontWeight:500,whiteSpace:"nowrap",width:"1%"}},a),se.default.createElement("td",{style:fE(t,!1)},se.default.createElement(ew,{value:i,colors:t,darkMode:r,depth:n+1}))))))}function Rse({block:e,colors:t,darkMode:r}){let n="value"in e?e.value:e.data;return se.default.createElement("div",{style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",overflow:"hidden"}},e.title!=null&&se.default.createElement("div",{className:"px-3 pt-2",style:Qf(t)},dt(e.title)),se.default.createElement("div",{className:"px-1 pb-1",style:{overflowX:"auto"}},se.default.createElement(ew,{value:n,colors:t,darkMode:r,depth:0})))}var eue={card:zse,stat:y$,stats:Lse,table:$se,chart:Wse,list:Hse,progress:Vse,form:qse,choices:Gse,image:Xse,callout:Zse,code:Qse,object:Rse,text:m$,markdown:m$};function Ps({blocks:e,onAction:t,darkMode:r=!1}){let n=Array.isArray(e)?e.filter(Zf):[];if(n.length===0)return null;let o=Ro(r);return se.default.createElement("div",{className:"space-y-3",onClick:a=>a.stopPropagation()},n.map((a,i)=>{let l=typeof a.type=="string"?a.type.toLowerCase():"unknown",s=pE(eue,l);return se.default.createElement("div",{key:i,"data-testid":"genui-block","data-block-type":l},s?se.default.createElement(s,{block:a,colors:o,darkMode:r,onAction:t}):se.default.createElement(cl,{block:a,colors:o,darkMode:r}))}))}var tue=/(\*\*[^*]+\*\*|\*[^*\n]+\*|`[^`]+`|\[[^\]]+\]\((?:https?:\/\/|\/)[^)\s]+\))/g,lg=(e,t)=>e.split(tue).filter(Boolean).map((r,n)=>{let o=`${t}-${n}`;if(r.startsWith("**")&&r.endsWith("**"))return Mr.default.createElement("strong",{key:o},r.slice(2,-2));if(r.startsWith("*")&&r.endsWith("*")&&r.length>2)return Mr.default.createElement("em",{key:o},r.slice(1,-1));if(r.startsWith("`")&&r.endsWith("`"))return Mr.default.createElement("code",{key:o,className:"px-1 py-0.5 rounded text-[0.9em]",style:{background:"rgba(127,127,127,0.15)"}},r.slice(1,-1));let a=r.match(/^\[([^\]]+)\]\(((?:https?:\/\/|\/)[^)\s]+)\)$/);return a?Mr.default.createElement("a",{key:o,href:a[2],target:"_blank",rel:"noopener noreferrer",className:"underline text-blue-500"},a[1]):r}),x$=e=>/^\s*\|.*\|\s*$/.test(e),rue=e=>/^\s*\|(\s*:?-+:?\s*\|)+\s*$/.test(e),b$=e=>e.trim().replace(/^\|/,"").replace(/\|$/,"").split(/(?t.replace(/\\\|/g,"|").trim());function $a({text:e,onUiAction:t,darkMode:r}){if(!e)return null;let n=[],o=String(e).split(` -`),a=0,i=0;for(;aMr.default.createElement("th",{key:p,className:"text-left font-semibold px-2 py-1",style:{borderBottom:"1px solid rgba(127,127,127,0.35)"}},lg(f,`th${d}-${p}`))))),Mr.default.createElement("tbody",null,c.map((f,p)=>Mr.default.createElement("tr",{key:p},u.map((m,g)=>Mr.default.createElement("td",{key:g,className:"px-2 py-1 align-top",style:{borderBottom:"1px solid rgba(127,127,127,0.15)"}},lg(f[g]??"",`td${d}-${p}-${g}`)))))))));continue}if(/^\s*([-*]|\d+\.)\s+/.test(l)){let u=[];for(;aMr.default.createElement("li",{key:d},lg(c,`li${i}-${d}`)))));continue}if(l.trim()===""){n.push(Mr.default.createElement("div",{key:i++,className:"h-2"})),a+=1;continue}n.push(Mr.default.createElement("div",{key:i++},lg(l,`p${i}`))),a+=1}return Mr.default.createElement("div",{className:"break-words"},n)}var co=te(re()),nue=e=>{let t=e.mcp_server||e.server;return t?`MCP server \xB7 ${t}`:typeof e.name=="string"&&e.name.startsWith("mcp__")?`MCP server \xB7 ${e.name.split("__")[1]}`:e.gem?`gem \xB7 ${e.gem}`:e.source?String(e.source):"agent-defined \xB7 method on the agent class"},oue=e=>Array.isArray(e.parameters)?e.parameters:e.parameters&&typeof e.parameters=="object"?Object.keys(e.parameters.properties||e.parameters):[];function vE({tool:e,darkMode:t}){let r=oue(e);return co.default.createElement("div",{style:{display:"grid",gap:"4px"}},e.description&&co.default.createElement("div",{className:"text-sm",style:{color:t?"rgba(255,255,255,0.75)":"#4b5563"}},e.description),co.default.createElement("div",{className:"text-xs font-mono",style:{color:t?"rgba(255,255,255,0.45)":"#9ca3af",display:"flex",flexWrap:"wrap",columnGap:"16px",rowGap:"4px"}},co.default.createElement("span",null,"params: ",r.length>0?r.join(", "):"none"),co.default.createElement("span",null,"source: ",nue(e))))}function gE({tools:e,darkMode:t}){let[r,n]=(0,co.useState)(null),o=(e||[]).filter(l=>l&&l.name);if(o.length===0)return null;let a=o.find(l=>l.name===r),i=l=>({background:t?"rgba(34,197,94,0.12)":"#f0fdf4",color:t?"#86efac":"#15803d",border:`1px solid ${l?t?"#4ade80":"#22c55e":"transparent"}`,borderRadius:"6px",padding:"2px 8px",fontSize:"11px",cursor:"pointer"});return co.default.createElement("div",{style:{marginTop:"8px"}},co.default.createElement("div",{className:"flex items-center gap-1.5 flex-wrap font-mono"},co.default.createElement("span",{className:"text-xs uppercase",style:{letterSpacing:"0.05em",color:t?"rgba(255,255,255,0.45)":"#9ca3af"}},"tools"),o.map(l=>co.default.createElement("button",{key:l.name,onClick:s=>{s.stopPropagation(),n(r===l.name?null:l.name)},title:r===l.name?"Hide definition":"Show definition",style:i(r===l.name)},"\u2699 ",l.name))),a&&co.default.createElement("div",{onClick:l=>l.stopPropagation(),style:{marginTop:"6px",padding:"8px 10px",borderRadius:"8px",background:t?"rgba(34,197,94,0.06)":"#f7fef9",border:`1px solid ${t?"rgba(34,197,94,0.25)":"#bbf7d0"}`}},co.default.createElement(vE,{tool:a,darkMode:t})))}var aue=["application/json","application/xml","application/x-yaml","application/csv"],iue=/\.(csv|md|txt|json|ya?ml)$/i;function w$(e){let t=String(e?.type||e?.content_type||"").toLowerCase(),r=String(e?.name||e?.filename||"");return t.startsWith("image/")?"image":t==="application/pdf"?"document":t.startsWith("text/")||aue.includes(t)||iue.test(r)?"text":"file"}function S$(e){let t=Number(e);return!Number.isFinite(t)||t<0?"":t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}function A$(e){if(typeof e!="string")return!1;let t=e.trim();if(/^(data:image\/|blob:)/i.test(t))return!0;if(/^\/[\\/]/.test(t))return!1;if(t.startsWith("/"))return!0;if(!/^https?:\/\//i.test(t)||typeof window>"u"||!window.location)return!1;try{return new URL(t,window.location.href).origin===window.location.origin}catch{return!1}}var k$=e=>e==null?null:e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`,sg=e=>{if(e==null)return null;if(typeof e=="object")return JSON.stringify(e,null,2);try{return JSON.stringify(JSON.parse(e),null,2)}catch{return null}},lue=["text","output","body","content"],C$=e=>{if(e==null)return null;if(typeof e=="object")return e;try{return JSON.parse(e)}catch{return null}},sue=e=>{let t=C$(e.tool_result)??C$(e.content);if(!t||typeof t!="object"||Array.isArray(t))return null;let r=lue.find(a=>typeof t[a]=="string"&&t[a].trim().length>0);if(!r)return null;let n=[t.error&&"error",t.status!=null&&`status ${t.status}`,typeof t.url=="string"&&t.url.replace(/^https?:\/\//,""),typeof t.agent=="string"&&`\u2192 ${t.agent}`,t.truncated&&"truncated"].filter(Boolean).join(" \xB7 "),o=Object.fromEntries(Object.entries(t).filter(([a])=>a!==r));return{field:r,meta:n,body:t[r],rest:o}},uue=e=>!!(e.tool_name||e.tool_call_id||e.tool_arguments||e.tool_result||(e.tool_calls||[]).length>0||e.duration_ms!=null||sg(e.content)),E$=280,cue=["tool","system","developer"],ug=(e,t=E$)=>e.replace(/\s+/g," ").trim().slice(0,t),yE=e=>{if(e==null)return null;if(typeof e=="object")return JSON.stringify(e);try{return JSON.stringify(JSON.parse(e))}catch{return String(e)}},O$=e=>{let t=e.tool_calls;return t?Array.isArray(t)?t.map(r=>({name:r.function?.name||r.name||e.tool_name,args:yE(r.function?.arguments??r.arguments??r.input)})):[{name:e.tool_name,args:yE(t)}]:[]},T$=e=>!!(e&&String(e).trim()&&String(e).trim()!=="\u2014"),due=e=>{let t=(e||[]).filter(Boolean),r=new Map,n=new Set;return t.forEach((o,a)=>{if(o.role!=="assistant"||T$(o.content))return;let i=O$(o);if(i.length===0)return;let l=new Set;Array.isArray(o.tool_calls)?o.tool_calls.forEach(u=>u.id&&l.add(u.id)):o.tool_call_id&&l.add(o.tool_call_id);let s=[];for(let u=a+1;u0&&c.tool_call_id&&!l.has(c.tool_call_id))break;s.push(u)}s.length!==0&&(s.forEach((u,c)=>{let d=t[u],f=i.find(p=>p.name&&p.name===d.tool_name)||i[Math.min(c,i.length-1)];f&&f.args&&!d.tool_arguments&&r.set(u,{tool_arguments:f.args,created_at:o.created_at||d.created_at})}),n.add(a))}),t.map((o,a)=>r.has(a)?{...o,...r.get(a)}:o).filter((o,a)=>!n.has(a))},N$=e=>cue.includes(e.role)&&typeof e.content=="string"&&ug(e.content).length>=E$,fue=({message:e,darkMode:t})=>{let r=e.trace_duration_ms||0;if(!r||e.span_duration_ms==null)return null;let n=Math.min((e.span_start_ms||0)/r*100,98),o=Math.max(e.span_duration_ms/r*100,2),a=e.role==="tool"?"#22c55e":e.role==="assistant"?"#ef4444":"#60a5fa";return ke.default.createElement("span",{title:`${Math.round(e.span_duration_ms)}ms \xB7 starts at ${Math.round(e.span_start_ms||0)}ms of ${Math.round(r)}ms`,style:{position:"relative",width:"96px",height:"5px",borderRadius:"999px",background:t?"rgba(255,255,255,0.08)":"#f3f4f6",flexShrink:0,marginTop:"8px",display:"inline-block"}},ke.default.createElement("span",{style:{position:"absolute",top:0,bottom:0,left:`${n}%`,width:`${Math.min(o,100-n)}%`,borderRadius:"999px",background:a}}))},tw=e=>({background:e?"rgba(0,0,0,0.35)":"#f3f4f6",color:e?"#ffffff":"#111827",borderRadius:"6px",padding:"8px 10px",fontSize:"12px",overflowX:"auto",margin:0}),Ar=(e,t)=>{switch(e){case"user":return t?{background:"rgba(59,130,246,0.15)",color:"#93c5fd",label:"User"}:{background:"#eff6ff",color:"#1d4ed8",label:"User"};case"assistant":return t?{background:"rgba(239,68,68,0.12)",color:"#fca5a5",label:"Assistant"}:{background:"#fef2f2",color:"#b91c1c",label:"Assistant"};case"tool":return t?{background:"rgba(245,158,11,0.12)",color:"#fcd34d",label:"Tool"}:{background:"#fffbeb",color:"#b45309",label:"Tool"};case"system":return t?{background:"rgba(139,92,246,0.15)",color:"#c4b5fd",label:"System"}:{background:"#f5f3ff",color:"#6d28d9",label:"System"};case"developer":return t?{background:"rgba(20,184,166,0.15)",color:"#5eead4",label:"Dev"}:{background:"#f0fdfa",color:"#0f766e",label:"Dev"};default:return t?{background:"rgba(255,255,255,0.08)",color:"rgba(255,255,255,0.7)",label:e}:{background:"#f3f4f6",color:"#374151",label:e}}},_$={image:"IMG",document:"PDF",text:"TXT",file:"FILE"};function rw({attachments:e,darkMode:t,testId:r,onRemove:n,removeTestId:o}){let a=(e||[]).filter(Boolean);if(a.length===0)return null;let i=Ro(t);return ke.default.createElement("div",{className:"flex flex-wrap gap-2 mt-1.5"},a.map((l,s)=>{let u=String(l.content_type||""),c=(l.kind==="image"||u.startsWith("image/"))&&A$(l.url),d=S$(l.byte_size);return ke.default.createElement("span",{key:l.id??`${l.filename}-${s}`,"data-testid":r,title:[l.filename,u,d].filter(Boolean).join(" \xB7 "),className:"inline-flex items-center gap-2 rounded-lg px-2 py-1 text-xs",style:{background:i.mutedBg,border:`1px solid ${i.cardBorder}`,color:i.textCell,maxWidth:"260px"}},c?ke.default.createElement("img",{src:l.url,alt:l.filename||"",style:{width:"36px",height:"36px",objectFit:"cover",borderRadius:"4px",flexShrink:0}}):ke.default.createElement("span",{className:"font-mono",style:{color:i.textMuted,flexShrink:0}},_$[l.kind]||_$.file),ke.default.createElement("span",{className:"min-w-0"},ke.default.createElement("span",{className:"block truncate"},l.filename||"attachment"),d&&ke.default.createElement("span",{className:"block font-mono",style:{color:i.textMuted}},d)),n&&ke.default.createElement("button",{type:"button","data-testid":o,onClick:f=>{f.stopPropagation(),n(l,s)},title:"Remove","aria-label":`Remove ${l.filename||"attachment"}`,className:"font-mono",style:{color:i.textMuted,background:"none",border:"none",cursor:"pointer",padding:"0 2px"}},"\u2715"))}))}var M$=e=>{let t=new Set;return Array.isArray(e.tool_calls)?e.tool_calls.forEach(r=>r&&r.id!=null&&t.add(r.id)):e.tool_call_id&&t.add(e.tool_call_id),t},pue=(e,t)=>{let r=Xf(e);if(r)return r;let n=t.find(o=>o&&o.role==="assistant"&&(e.tool_call_id?M$(o).has(e.tool_call_id):Xf(o)));return n?Xf(n,{callId:e.tool_call_id}):null},mue=(e,t)=>{let r=M$(e);return t.some(n=>n&&n.role==="tool"&&n.tool_name===sc&&(!n.tool_call_id||r.size===0||r.has(n.tool_call_id)))};function ba({messages:e,darkMode:t,tools:r,onUiAction:n,onEditMessage:o,onDeleteMessage:a,testIdPrefix:i}){let[l,s]=(0,ke.useState)({}),[u,c]=(0,ke.useState)(null),[d,f]=(0,ke.useState)(""),[p,m]=(0,ke.useState)(!1),[g,h]=(0,ke.useState)(null),v=A=>s(M=>({...M,[A]:!M[A]})),y={textPrimary:t?"#ffffff":"#111827",textSecondary:t?"rgba(255,255,255,0.6)":"#6b7280",textMuted:t?"rgba(255,255,255,0.4)":"#9ca3af"},b=A=>i?`${i}-${A}`:void 0,x=A=>A.stopPropagation(),S=A=>{c(A.id),f(A.content||""),h(null)},w=()=>{c(null),h(null)},T=async A=>{if(!p){m(!0),h(null);try{await o(A,d),c(null)}catch(M){h(M.message||"Could not save the message")}finally{m(!1)}}},k=due(e);return ke.default.createElement("div",{className:"space-y-3"},k.map(A=>{let M=Ar(A.role,t),H=!!l[A.id],F=u===A.id,X=!!((o||a)&&["user","assistant"].includes(A.role)),P=A.role==="tool"&&A.tool_name===sc?pue(A,k):null,Y=A.role==="assistant"&&!F?uE(A.content):null,C=A.role==="assistant"&&!mue(A,k)?Xf(A):null,_=N$(A)&&!H,z=uue(A)||N$(A),D=sg(A.tool_arguments),E=sg(A.tool_result)||sg(A.content),j=A.tool_calls&&(!Array.isArray(A.tool_calls)||A.tool_calls.length>0)?sg(A.tool_calls):null,R=A.role==="tool"?sue(A):null,U=A.tool_name?(r||[]).find(V=>V&&V.name===A.tool_name):null,L=A.role==="tool"?yE(A.tool_arguments):null,K=A.role==="tool"&&!!L,ae=Ar("assistant",t),de=Ar("tool",t),ze=A.role==="tool"&&!A.tool_arguments&&k.some(V=>V&&V.role==="assistant"&&(A.tool_call_id&&V.tool_call_id===A.tool_call_id||Array.isArray(V.tool_calls)&&V.tool_calls.some(I=>I.id&&I.id===A.tool_call_id))),oe=A.role==="assistant"&&!T$(A.content)?O$(A):[],Ee=tw(t);return ke.default.createElement("div",{key:A.id,className:"group","data-testid":i,"data-message-id":i?A.id:void 0,"data-role":i?A.role:void 0},ke.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${z?"cursor-pointer":""}`,onClick:z?()=>v(A.id):void 0,style:H?{background:t?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.03)"}:{}},ke.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},(K?[ae,de]:[M]).map(V=>ke.default.createElement("span",{key:V.label,className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:V.background,color:V.color,textAlign:"center"}},V.label))),ke.default.createElement("div",{className:"min-w-0 flex-1"},ke.default.createElement("div",{className:"text-sm break-words",style:{color:y.textPrimary}},F?ke.default.createElement("div",{className:"space-y-2",onClick:x},ke.default.createElement("textarea",{"data-testid":b("editor"),value:d,onChange:V=>f(V.target.value),onKeyDown:V=>{V.key==="Escape"&&w(),V.key==="Enter"&&(V.metaKey||V.ctrlKey)&&T(A)},rows:Math.min(12,Math.max(3,d.split(` -`).length)),autoFocus:!0,className:"aa-field w-full",style:{padding:"8px 10px",borderRadius:"8px",border:`1px solid ${t?"rgba(255,255,255,0.2)":"#d1d5db"}`,background:t?"rgba(255,255,255,0.06)":"#ffffff",color:y.textPrimary,fontFamily:"inherit",fontSize:"13px",resize:"vertical"}}),ke.default.createElement("div",{className:"flex items-center gap-2 text-xs"},ke.default.createElement("button",{type:"button","data-testid":b("save"),onClick:()=>T(A),disabled:p,style:{padding:"4px 10px",borderRadius:"6px",background:"#ef4444",color:"#ffffff",border:"none",cursor:p?"wait":"pointer",fontWeight:500}},p?"Saving\u2026":"Save"),ke.default.createElement("button",{type:"button","data-testid":b("cancel"),onClick:w,disabled:p,style:{padding:"4px 10px",borderRadius:"6px",background:"transparent",color:y.textSecondary,border:`1px solid ${t?"rgba(255,255,255,0.2)":"#d1d5db"}`,cursor:"pointer"}},"Cancel"),g&&ke.default.createElement("span",{style:{color:"#dc2626"}},g))):P?ke.default.createElement("div",null,ke.default.createElement("div",{className:"font-mono text-xs mb-1",style:{color:de.color}},"\u2699 ",A.tool_name," \xB7 ",P.length," block",P.length===1?"":"s"),ke.default.createElement(Ps,{blocks:P,onAction:n,darkMode:t})):A.role==="tool"?ke.default.createElement("span",{style:{display:"grid",gap:"2px"}},L&&!ze&&ke.default.createElement("span",{className:"font-mono text-xs break-words"},A.tool_name&&ke.default.createElement("span",{style:{color:de.color}},"\u2699 ",A.tool_name," "),ke.default.createElement("span",{style:{color:K?ae.color:y.textMuted}},"in:")," ",ug(L,180),L.length>180?"\u2026":""),R?ke.default.createElement("span",null,A.tool_name&&!(L&&!ze)&&ke.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:de.color}},"\u2699 ",A.tool_name),(L||ze)&&ke.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:K?de.color:y.textMuted}},"out:"),R.meta&&ke.default.createElement("span",{className:"font-mono text-xs mr-2",style:{color:y.textMuted}},R.meta),"\u201C",R.body.replace(/\s+/g," ").trim().slice(0,180),R.body.length>180?"\u2026":"","\u201D"):A.content?ke.default.createElement("span",null,A.tool_name&&!(L&&!ze)&&ke.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:de.color}},"\u2699 ",A.tool_name),(L||ze)&&ke.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:K?de.color:y.textMuted}},"out:"),"\u201C",ug(A.content,180),A.content.replace(/\s+/g," ").trim().length>180?"\u2026":"","\u201D"):ke.default.createElement("span",{className:"whitespace-pre-wrap"},A.tool_name?`\u2192 ${A.tool_name}(...)`:"\u2014")):_?ke.default.createElement("span",{style:{color:y.textSecondary}},ug(A.content),"\u2026"):oe.length>0?ke.default.createElement("span",{style:{display:"grid",gap:"2px"}},oe.map((V,I)=>ke.default.createElement("span",{key:I,className:"font-mono text-xs break-words"},V.name&&ke.default.createElement("span",{style:{color:y.textMuted}},V.name," "),ke.default.createElement("span",{style:{color:y.textMuted}},"in:")," ",V.args?ke.default.createElement(ke.default.Fragment,null,ug(V.args,180),V.args.length>180?"\u2026":""):"\u2014"))):Y&&Y.blocks?ke.default.createElement(Ps,{blocks:Y.blocks,onAction:n,darkMode:t}):Y&&Y.object?ke.default.createElement(Ps,{blocks:[{type:"object",value:Y.object}],darkMode:t}):ke.default.createElement($a,{text:A.content||"\u2014",darkMode:t,onUiAction:n}),C&&!F&&ke.default.createElement("div",{className:"mt-2"},ke.default.createElement(Ps,{blocks:C,onAction:n,darkMode:t})),A.role==="user"&&ke.default.createElement(rw,{attachments:A.attachments,darkMode:t,testId:b("attachment")})),ke.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap",style:{color:y.textMuted}},X&&!F&&ke.default.createElement("span",{className:"flex items-center gap-2 opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity",onClick:x},o&&ke.default.createElement("button",{type:"button","data-testid":b("edit"),onClick:()=>S(A),className:"hover:underline",style:{color:y.textSecondary,background:"none",border:"none",padding:0,cursor:"pointer",font:"inherit"}},"Edit"),a&&ke.default.createElement("button",{type:"button","data-testid":b("delete"),onClick:()=>a(A),className:"hover:underline",style:{color:"#dc2626",background:"none",border:"none",padding:0,cursor:"pointer",font:"inherit"}},"Delete")),A.created_at&&ke.default.createElement("span",null,new Date(A.created_at).toLocaleTimeString()),A.tool_name&&A.role!=="tool"&&ke.default.createElement("span",{className:"px-1.5 py-0.5 rounded",style:{background:M.background,color:M.color}},"\u2699 ",A.tool_name),A.duration_ms!=null&&ke.default.createElement("span",null,k$(A.duration_ms)),(A.tool_calls||[]).length>0&&ke.default.createElement("span",null,A.tool_calls.length," tool call",A.tool_calls.length>1?"s":""),A.content_checksum&&ke.default.createElement("span",{title:"Content fingerprint"},"\u{1F512} ",A.content_checksum.slice(0,8)))),ke.default.createElement(fue,{message:A,darkMode:t}),z&&ke.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${H?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:y.textMuted}},ke.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),H&&ke.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:M.color+"55"}},ke.default.createElement("div",{className:"flex flex-wrap gap-x-5 gap-y-1 text-xs font-mono",style:{color:y.textSecondary}},A.created_at&&ke.default.createElement("span",null,new Date(A.created_at).toLocaleString()),A.tool_call_id&&ke.default.createElement("span",null,"call: ",A.tool_call_id),A.duration_ms!=null&&ke.default.createElement("span",null,"took ",k$(A.duration_ms)),A.content_checksum&&ke.default.createElement("span",null,"\u{1F512} ",A.content_checksum)),D&&ke.default.createElement("div",null,ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:K?ae.color:y.textMuted}},"Arguments",K?" \xB7 from the agent":""),ke.default.createElement("pre",{style:Ee},D)),R?ke.default.createElement("div",null,ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:K?de.color:y.textMuted}},"Result",K?" \xB7 from the tool":""),Object.keys(R.rest).length>0&&ke.default.createElement("pre",{style:Ee},JSON.stringify(R.rest,null,2)),ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mt-2 mb-1",style:{color:y.textMuted}},R.field," \xB7 ",R.body.length.toLocaleString()," chars"),ke.default.createElement("pre",{style:{...Ee,whiteSpace:"pre-wrap",maxHeight:"320px",overflowY:"auto"}},R.body.slice(0,8e3),R.body.length>8e3?` -\u2026`:"")):E?ke.default.createElement("div",null,ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:y.textMuted}},A.role==="tool"?"Result":"Content (parsed)"),ke.default.createElement("pre",{style:Ee},E)):A.role==="tool"&&A.content?ke.default.createElement("div",null,ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:K?de.color:y.textMuted}},"Result",K?" \xB7 from the tool":""," \xB7 ",A.content.length.toLocaleString()," chars"),ke.default.createElement("pre",{style:{...Ee,whiteSpace:"pre-wrap",maxHeight:"320px",overflowY:"auto"}},A.content.slice(0,8e3),A.content.length>8e3?` -\u2026`:"")):null,j&&ke.default.createElement("div",null,ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:y.textMuted}},"Requested tool calls"),ke.default.createElement("pre",{style:Ee},j)),U&&ke.default.createElement("div",null,ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:y.textMuted}},"Tool definition"),ke.default.createElement(vE,{tool:U,darkMode:t}))))}))}var pt=te(re());var nr=te(re());var Pr=e=>({cardBg:e?"#1f1f1f":"#ffffff",cardBorder:e?"#2a2a2a":"#e5e7eb",innerBg:e?"rgba(255,255,255,0.04)":"#f9fafb",panelBg:e?"rgba(0,0,0,0.35)":"#f9fafb",preBg:e?"rgba(255,255,255,0.06)":"#eef0f3",trackBg:e?"rgba(255,255,255,0.08)":"#f3f4f6",hoverBg:e?"rgba(255,255,255,0.04)":"#f9fafb",controlBg:e?"rgba(255,255,255,0.06)":"#f3f4f6",controlActiveBg:e?"#2a2a2a":"#ffffff",textPrimary:e?"#ffffff":"#111827",textSecondary:e?"rgba(255,255,255,0.6)":"#6b7280",textMuted:e?"rgba(255,255,255,0.4)":"#9ca3af",textBody:e?"rgba(255,255,255,0.75)":"#4b5563",link:"#3b82f6",good:e?"#4ade80":"#16a34a",bad:"#ef4444"}),P$=(e,t=200)=>{let r=String(e??"").replace(/\s+/g," ").trim();return r.length>t?`${r.slice(0,t)}\u2026`:r};function cc({open:e,darkMode:t,size:r=14,style:n}){return nr.default.createElement("svg",{className:`flex-shrink-0 transition-transform ${e?"rotate-180":""}`,width:r,height:r,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:Pr(t).textMuted,...n},"aria-hidden":"true"},nr.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))}function nw({darkMode:e,id:t,children:r,style:n,className:o=""}){let a=Pr(e);return nr.default.createElement("div",{id:t,className:`rounded-xl border overflow-hidden transition-colors ${o}`,style:{backgroundColor:a.cardBg,borderColor:a.cardBorder,...n}},r)}var Lo={context:132,duration:76,tokens:104,cost:88,status:68,count:96,age:76};function Jf({cells:e,darkMode:t,gap:r=16,className:n="",style:o}){let a=Pr(t),i=(e||[]).filter(Boolean);return i.length===0?null:nr.default.createElement("div",{className:`flex-shrink-0 text-sm ${n}`,style:{display:"grid",gridTemplateColumns:i.map(l=>l.width?`${l.width}px`:"minmax(0, auto)").join(" "),alignItems:"center",columnGap:`${r}px`,color:a.textSecondary,...o}},i.map(l=>{let s=l.content!=null&&l.content!==!1&&l.content!=="";return nr.default.createElement("div",{key:l.key,title:(s?l.title:l.empty)||void 0,className:"min-w-0 truncate",style:{textAlign:l.align||"right"}},s?l.content:nr.default.createElement("span",{style:{color:a.textMuted}},"\u2014"))}))}var D$=(e,{wrap:t=!0,maxHeight:r=320}={})=>({background:Pr(e).preBg,borderRadius:"6px",padding:"6px 8px",margin:"2px 0 4px 0",overflowX:"auto",overflowY:"auto",maxHeight:`${r}px`,whiteSpace:t?"pre-wrap":"pre"}),vue=e=>{if(e==null)return{text:"",json:!1};if(typeof e=="object")return{text:JSON.stringify(e,null,2),json:!0};let t=String(e);if(!/^[[{]/.test(t.trim()))return{text:t,json:!1};try{return{text:JSON.stringify(JSON.parse(t),null,2),json:!0}}catch{return{text:t,json:!1}}};function Rf({lines:e,darkMode:t,onClick:r,indent:n=0,size:o="12px",style:a,max:i=200,hold:l=!1}){let[s,u]=ep(),c=Pr(t),d=(e||[]).filter(f=>f&&(f.text||l));return d.some(f=>f.text)?nr.default.createElement("div",{onClick:r,className:"min-w-0",style:{display:"grid",gap:"2px",paddingLeft:n?`${n}px`:0,fontFamily:Ve.mono,fontSize:o,color:c.textSecondary,cursor:r?"pointer":"default",...a}},d.map((f,p)=>{let m=`${f.label}-${p}`,g=s(m),h=f.max||i,v=!f.text,y=String(f.text??"").replace(/\s+/g," ").trim(),b=vue(f.text),x=!v&&(b.json||y.length>60||y!==String(f.text).trim());return nr.default.createElement("div",{key:m},nr.default.createElement("div",{onClick:x?S=>{S.stopPropagation(),u(m)}:void 0,title:x?g?"Collapse":"Expand":void 0,style:{cursor:x?"pointer":"default",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:0}},nr.default.createElement("span",{style:{color:f.color||c.textMuted}},x?g?"\u25BE":"\u25B8":"\xA0"," ",f.label,":")," ",!g&&(v?nr.default.createElement("span",{style:{color:c.textMuted}},"\u2014"):P$(y,h))),g&&nr.default.createElement("pre",{onClick:S=>S.stopPropagation(),style:D$(t,{wrap:!b.json})},b.text))})):null}function cg({options:e,value:t,onChange:r,darkMode:n,label:o,style:a}){let i=Pr(n);return nr.default.createElement("div",{className:"flex items-center gap-1 flex-shrink-0",style:a},o&&nr.default.createElement("span",{className:"text-xs mr-1",style:{color:i.textMuted}},o),e.map(l=>nr.default.createElement("button",{key:l.id,type:"button",onClick:s=>{s.stopPropagation(),r(l.id)},title:l.hint,className:"px-2 py-0.5 text-xs rounded transition-colors",style:t===l.id?{background:i.controlActiveBg,color:i.textPrimary,boxShadow:n?"none":"0 1px 2px rgba(0,0,0,0.08)"}:{color:i.textSecondary}},l.label)))}function I$({label:e,body:t,open:r,onToggle:n,darkMode:o,prose:a=!1,max:i=140}){let l=Pr(o);return nr.default.createElement("div",null,nr.default.createElement("div",{onClick:s=>{s.stopPropagation(),n()},title:r?"Collapse":"Expand",style:{cursor:"pointer",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},nr.default.createElement("span",{style:{color:l.textMuted}},r?"\u25BE":"\u25B8"," ",e,":")," ",!r&&nr.default.createElement("span",{style:{color:l.textMuted}},P$(t,i))),r&&nr.default.createElement("pre",{onClick:s=>s.stopPropagation(),style:D$(o,{wrap:a})},t))}function ep(e={}){let[t,r]=(0,nr.useState)(e),n=(0,nr.useCallback)(a=>{r(i=>({...i,[a]:!i[a]}))},[]);return[(0,nr.useCallback)(a=>!!t[a],[t]),n,r]}var hE={root:"#9ca3af",prompt:"#60a5fa",generate:"#a855f7",llm:"#ef4444",thinking:"#fbbf24",tool:"#22c55e",response:"#2dd4bf",embedding:"#818cf8"},z$=[{id:"time",label:"Time",hint:"Chronological \u2014 reads as a waterfall"},{id:"duration",label:"Slowest",hint:"Longest-running first"},{id:"name",label:"Name",hint:"Group repeated tool calls together"}],Dr=e=>e==null?"\u2014":e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`,xE=e=>{switch(e){case"root":return Yt.spans.root;case"prompt":return Yt.spans.prompt;case"generate":return Yt.spans.generate;case"llm":return Yt.spans.llm;case"thinking":return Yt.spans.thinking;case"tool":return Yt.spans.tool;case"response":return Yt.spans.response;default:return"-"}},gue=(e,t)=>{let r=Math.max(e||0,1),n=Math.max(t||1,1);if(n<=1)return 100;let o=Math.log(r)/Math.log(n);return Math.min(100,Math.max(4,o*100))},yue=(e,t)=>{let r=[...e||[]];switch(t){case"duration":return r.sort((n,o)=>(o.duration||0)-(n.duration||0));case"name":return r.sort((n,o)=>(n.name||"").localeCompare(o.name||""));default:return r.sort((n,o)=>(n.start||0)-(o.start||0))}},hue=e=>{let t=e.tokens||{};return(t.input||0)+(t.output||0)+(t.thinking||0)},xue=(e,t)=>{if(!t.duration_ms)return Dr(e.duration);let r=(e.duration||0)/t.duration_ms*100;return`${Dr(e.duration)} \xB7 ${r<1?r.toFixed(2):r.toFixed(1)}%`},bue=e=>{if(typeof e!="string")return null;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return null}},j$=e=>e.endsWith(".instructions")?0:e.endsWith(".tools")?1:e.endsWith(".messages")?3:2,bE=e=>{let t=e.spans||[],r=a=>{for(let i of t){let l=(i.attributes||{})[a];if(l)return l}return null},n=r("llm.prompt");if(!n){let a=r("prompt.input.messages");if(a)try{n=[...JSON.parse(a)].reverse().find(s=>s&&s.role==="user"&&s.content)?.content}catch{}}let o=r("llm.completion")||r("llm.output.message");return{input:n,output:o}},wue=e=>{let t=e.attributes||{},r=null,n="input",o="user";if(t["prompt.input.messages"])try{let u=[...JSON.parse(t["prompt.input.messages"])].reverse().find(c=>c&&c.role==="user"&&c.content);typeof u?.content=="string"&&(r=u.content)}catch{}if(!r&&t["llm.prompt"]&&(r=String(t["llm.prompt"])),!r&&(t["tool.input.args"]||t["tool.arguments"])){let s=t["tool.input.args"]||t["tool.arguments"];r=typeof s=="string"?s:JSON.stringify(s),n="in",o="assistant"}let a=null,i="output",l="assistant";return t["llm.output.message"]||t["llm.completion"]?a=t["llm.output.message"]||t["llm.completion"]:(t["tool.output.result"]||t["tool.result"])&&(a=t["tool.output.result"]||t["tool.result"],i="out",l="tool"),a!=null&&typeof a!="string"&&(a=JSON.stringify(a)),{input:r,output:a,inputLabel:n,inputTone:o,outputLabel:i,outputTone:l}},Sue=(e,t)=>{let r=wue(e),n=bE(t);return r.input&&r.input===n.input&&(r.input=null),r.output&&r.output===n.output&&(r.output=null),r},Aue=e=>{let t={...e.attributes||{}},r=f=>{let p=t[f];return delete t[f],p},n=[],o=f=>n.push({id:`${e.span_id}-m${n.length}`,...f}),a=r("prompt.input.instructions")||r("llm.instructions");a&&o({role:"system",content:String(a)});let i=r("prompt.input.messages");if(i)try{JSON.parse(i).forEach(f=>{f&&o({role:f.role||"user",content:typeof f.content=="string"?f.content:JSON.stringify(f.content),tool_call_id:f.tool_call_id,tool_calls:f.tool_calls})})}catch{t["prompt.input.messages"]=i}let l=r("llm.prompt");l&&o({role:"user",content:String(l)});let s=r("tool.input.args")||r("tool.arguments"),u=r("tool.output.result")||r("tool.result");if(s||u){let f=r("tool.name");o({role:"tool",tool_name:f||(e.name||"").replace(/^tool\./,""),tool_arguments:s,content:u?String(u):null})}let c=r("llm.completion"),d=r("llm.output.message");return(c||d)&&o({role:"assistant",content:String(c||d)}),{messages:n,rest:t}},wE=e=>{for(let t of e?.spans||[]){let r=(t.attributes||{})["prompt.input.tools"];if(r)try{let n=typeof r=="string"?JSON.parse(r):r;if(Array.isArray(n)&&n.length>0)return n}catch{}}return[]};function kue({span:e,darkMode:t,tools:r=[]}){let[n,o]=ep(),a=Pr(t),{messages:i,rest:l}=Aue(e),s=null,u=l["prompt.input.tools"];if(u)try{let p=typeof u=="string"?JSON.parse(u):u;Array.isArray(p)&&p.length>0&&(s=p,delete l["prompt.input.tools"])}catch{}let c=Object.entries(l).sort((p,m)=>j$(p[0])-j$(m[0])),d=i.length===1&&i[0].role==="tool"?i[0]:null,f=d?.tool_arguments==null?null:typeof d.tool_arguments=="string"?d.tool_arguments:JSON.stringify(d.tool_arguments);return pt.default.createElement("div",{onClick:p=>p.stopPropagation(),style:{margin:"4px 0 8px 0",padding:"10px 12px",borderRadius:"8px",background:a.panelBg,border:`1px solid ${a.cardBorder}`,fontFamily:Ve.mono,fontSize:"12px",color:a.textBody,cursor:"default"}},pt.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 20px"}},pt.default.createElement("span",null,"duration: ",Dr(e.duration)),pt.default.createElement("span",null,"status: ",e.status||"OK"),hue(e)>0&&pt.default.createElement("span",null,"tokens in:",e.tokens.input||0," out:",e.tokens.output||0,e.tokens.thinking>0?` thinking:${e.tokens.thinking}`:""),pt.default.createElement("span",{style:{color:a.textMuted}},"span: ",e.span_id)),d&&pt.default.createElement("div",{style:{marginTop:"8px",display:"grid",gap:"4px"}},pt.default.createElement("div",{style:{fontSize:"12px",wordBreak:"break-all"}},pt.default.createElement("span",{style:{color:Ar("tool",t).color}},"\u2699 ",d.tool_name),f&&pt.default.createElement(pt.default.Fragment,null," ",pt.default.createElement("span",{style:{color:Ar("assistant",t).color}},"in:")," ",pt.default.createElement("span",{style:{color:a.textBody}},f))),d.content&&pt.default.createElement("div",{style:{fontSize:"12px"}},pt.default.createElement("span",{style:{color:Ar("tool",t).color}},"out:")," ",pt.default.createElement("span",{style:{color:a.textBody,whiteSpace:"pre-wrap",display:"inline-block",maxHeight:"240px",overflowY:"auto",verticalAlign:"top",maxWidth:"100%"}},d.content))),i.length>0&&!d&&pt.default.createElement("div",{style:{marginTop:"10px",fontFamily:"ui-sans-serif, system-ui, sans-serif"}},pt.default.createElement(ba,{messages:i,darkMode:t,tools:s||r})),s&&pt.default.createElement(gE,{tools:s,darkMode:t}),c.length>0&&pt.default.createElement("div",{style:{marginTop:"6px",display:"grid",gap:"2px"}},c.map(([p,m])=>{let g=p.match(/args|result|input|output/)?bue(m):null,h=!g&&(p.endsWith(".instructions")||p.match(/input|output|result/))&&typeof m=="string"?m:null,v=g||h;if(!v)return pt.default.createElement("div",{key:p,style:{wordBreak:"break-all"}},pt.default.createElement("span",{style:{color:a.textMuted}},p,":")," ",typeof m=="string"?m:JSON.stringify(m));let y=`${e.span_id}:${p}`;return pt.default.createElement(I$,{key:p,label:p,body:v,prose:!g,darkMode:t,open:n(y),onToggle:()=>o(y)})})))}function Cue({span:e,trace:t,darkMode:r,sort:n,longest:o,expanded:a,onToggle:i,tools:l}){let s=Pr(r),u=Object.keys(e.attributes||{}).length>0,c=a?null:Sue(e,t);return pt.default.createElement(pt.default.Fragment,null,pt.default.createElement("div",{className:`py-0.5 px-1 -mx-1 rounded transition-colors ${u?`cursor-pointer ${r?"hover:bg-white/5":"hover:bg-gray-100"}`:""}`,style:{paddingLeft:n==="time"?`${(e.nested||0)*16}px`:0,background:a?s.hoverBg:void 0},onClick:u?()=>i():void 0,title:u?`${e.name} \u2014 click for span details`:e.name},pt.default.createElement("div",{className:"flex items-baseline gap-2 min-w-0"},pt.default.createElement("span",{className:"flex-shrink-0",style:{color:e.type==="thinking"?void 0:s.textMuted}},xE(e.type)),pt.default.createElement("span",{className:"text-sm font-medium truncate",style:{color:e.error?s.bad:s.textPrimary}},e.name),pt.default.createElement("span",{className:"text-xs ml-auto flex-shrink-0",style:{fontFamily:Ve.mono,color:s.textMuted}},xue(e,t)),u&&pt.default.createElement(cc,{open:a,darkMode:r,size:13,style:{marginLeft:"2px"}})),pt.default.createElement("div",{className:"h-3 relative rounded mt-0.5",style:{background:s.trackBg}},pt.default.createElement("div",{className:"absolute h-3 rounded",style:{background:e.error?"#f87171":hE[e.type]||"#9ca3af",left:n==="time"?`${t.duration_ms?e.start/t.duration_ms*100:0}%`:0,width:n==="time"?`${t.duration_ms?Math.max(e.duration/t.duration_ms*100,1):1}%`:`${gue(e.duration,o)}%`}})),c&&pt.default.createElement(Rf,{darkMode:r,size:"11px",style:{marginTop:"2px"},lines:[{label:c.inputLabel,text:c.input,color:Ar(c.inputTone,r).color,max:160},{label:c.outputLabel,text:c.output,color:Ar(c.outputTone,r).color,max:160}]})),a&&pt.default.createElement(kue,{span:e,darkMode:r,tools:l}))}function SE({trace:e,darkMode:t,sort:r="time",tools:n,keyPrefix:o=""}){let[a,i]=ep(),l=Pr(t),s=yue(e?.spans,r),u=n||wE(e);if(s.length===0)return pt.default.createElement("div",{className:"text-sm py-2",style:{color:l.textMuted}},"No spans recorded for this trace.");let c=Math.max(...s.map(d=>d.duration||0),1);return pt.default.createElement("div",{className:"space-y-2"},s.map((d,f)=>{let p=`${o}${d.span_id||f}`;return pt.default.createElement(Cue,{key:p,span:d,trace:e,darkMode:t,sort:r,longest:c,tools:u,expanded:a(p),onToggle:()=>i(p)})}))}var Nue=[{id:"spans",label:"Spans",hint:"Timing waterfall with span details"},{id:"conversation",label:"Conversation",hint:"The run as a message stream \u2014 prompt, tool calls, response"}],_ue=e=>{let t=0,r=[];(e?.spans||[]).forEach(a=>{(a.nested||0)!==0&&(a.type==="tool"?r.push(a):(a.type==="llm"||a.type==="generate")&&(t=Math.max(t,a.duration||0)))});let n=r.reduce((a,i)=>a+(i.duration||0),0);t=Math.max(t-n,0);let o=e?.duration_ms||t+n||1;return{generation:t,tools:r,toolTotal:n,total:o,overhead:Math.max(o-t-n,0)}};function Eue({trace:e,darkMode:t}){let r=Pr(t),{generation:n,tools:o,toolTotal:a,total:i,overhead:l}=_ue(e);if(n===0&&a===0||n/i>=.99&&a/i<.01)return null;let s=c=>`${(c/i*100).toFixed(c/i<.01?2:1)}%`,u=(c,d)=>Ke.default.createElement("div",{style:{width:`${Math.max(c/i*100,.4)}%`,background:d,height:"100%"}});return Ke.default.createElement("div",{style:{marginTop:"14px",paddingTop:"12px",borderTop:`1px solid ${r.cardBorder}`}},Ke.default.createElement("div",{style:{fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em",color:r.textSecondary,marginBottom:"6px"}},"Time breakdown \u2014 generation vs tools"),Ke.default.createElement("div",{style:{display:"flex",height:"10px",borderRadius:"5px",overflow:"hidden",background:r.trackBg}},u(n,"#ef4444"),u(a,"#10b981"),l>0&&u(l,t?"rgba(255,255,255,0.2)":"#d1d5db")),Ke.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"8px",fontSize:"12px",fontFamily:Ve.mono,color:r.textBody}},Ke.default.createElement("span",null,Ke.default.createElement("span",{style:{color:"#ef4444"}},"\u25A0")," generation ",Dr(n)," (",s(n),")"),Ke.default.createElement("span",null,Ke.default.createElement("span",{style:{color:"#10b981"}},"\u25A0")," tools ",Dr(a)," (",s(a),")"),l>0&&Ke.default.createElement("span",null,Ke.default.createElement("span",{style:{color:r.textSecondary}},"\u25A0")," overhead ",Dr(l)," (",s(l),")")),o.length>0&&Ke.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"4px",fontSize:"12px",fontFamily:Ve.mono,color:r.textSecondary}},o.map((c,d)=>Ke.default.createElement("span",{key:d},c.name," ",Dr(c.duration)," (",s(c.duration||0),")"))))}function Oue({trace:e,darkMode:t}){let[r,n]=(0,Ke.useState)(null),[o,a]=(0,Ke.useState)(!1),i=Pr(t);if((0,Ke.useEffect)(()=>{if(e?.id==null)return;let s=!0;return n(null),a(!1),fetch(`/api/interactions/trace-${e.id}`).then(u=>u.ok?u.json():Promise.reject(new Error("request failed"))).then(u=>s&&n(u.interaction)).catch(()=>s&&a(!0)),()=>{s=!1}},[e?.id]),o)return Ke.default.createElement("div",{className:"text-sm py-4",style:{color:i.bad}},"Couldn't load the conversation for this trace.");if(!r)return Ke.default.createElement("div",{className:"text-sm py-4",style:{color:i.textMuted}},"Loading conversation\u2026");let l=r.instructions?[{id:`trace-${e.id}-system`,role:"system",content:r.instructions,created_at:r.created_at},...r.messages||[]]:r.messages||[];return l.length===0?Ke.default.createElement("div",{className:"text-sm py-4",style:{color:i.textMuted}},"This trace predates content capture \u2014 no conversation to show."):Ke.default.createElement(ba,{messages:l,darkMode:t,tools:wE(e)})}function dg({trace:e,darkMode:t,compact:r=!1,showConversation:n=!0}){let[o,a]=(0,Ke.useState)("spans"),[i,l]=(0,Ke.useState)("time"),s=Pr(t),u=(e?.spans||[]).length,c=Q1(e),d=e?.tokens||{},f=(0,Ke.useCallback)(p=>a(n?p:"spans"),[n]);return e?Ke.default.createElement("div",null,Ke.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2 mb-2"},Ke.default.createElement("div",{className:"flex items-center gap-1"},n&&Ke.default.createElement(cg,{options:Nue,value:o,onChange:f,darkMode:t}),Ke.default.createElement("span",{className:"text-xs ml-2",style:{color:s.textSecondary}},u," ",u===1?"span":"spans")),o==="spans"&&u>0&&Ke.default.createElement(cg,{options:z$,value:i,onChange:l,darkMode:t,label:"Sort"})),o==="conversation"?Ke.default.createElement("div",{className:"rounded-lg border p-4",style:{background:s.cardBg,borderColor:s.cardBorder}},Ke.default.createElement(Oue,{trace:e,darkMode:t})):Ke.default.createElement(Ke.default.Fragment,null,i==="time"?Ke.default.createElement("div",{className:"flex justify-between text-xs mb-2",style:{color:s.textMuted}},Ke.default.createElement("span",null,"0ms"),Ke.default.createElement("span",null,Math.round((e.duration_ms||0)*.33),"ms"),Ke.default.createElement("span",null,Math.round((e.duration_ms||0)*.66),"ms"),Ke.default.createElement("span",null,Dr(e.duration_ms))):Ke.default.createElement("div",{className:"text-xs mb-2",style:{color:s.textMuted}},"Bar length compares duration on a log scale"),Ke.default.createElement(SE,{trace:e,darkMode:t,sort:i,keyPrefix:`${e.id||e.trace_id}:`})),c&&Ke.default.createElement("div",{className:"mt-3"},Ke.default.createElement(Ms,{...c,label:"Context pressure",darkMode:t})),Ke.default.createElement(Eue,{trace:e,darkMode:t}),!r&&Ke.default.createElement("div",{className:"mt-4 pt-4 border-t flex items-center flex-wrap gap-x-6 gap-y-1 text-sm",style:{borderColor:s.cardBorder,color:s.textSecondary}},Ke.default.createElement("span",null,"Tokens:"),d.thinking>0&&Ke.default.createElement("span",{className:"text-amber-500",style:{fontFamily:Ve.mono}},"T:",d.thinking.toLocaleString()),Ke.default.createElement("span",{className:"text-blue-500",style:{fontFamily:Ve.mono}},"in:",(d.input||0).toLocaleString()),Ke.default.createElement("span",{className:"text-green-500",style:{fontFamily:Ve.mono}},"out:",(d.output||0).toLocaleString()),e.provider&&Ke.default.createElement("span",{style:{fontFamily:Ve.mono}},e.provider,e.model?` \xB7 ${e.model}`:"")),e.error&&Ke.default.createElement("div",{className:"mt-4 p-3 rounded-lg border",style:{background:t?"rgba(239,68,68,0.1)":"#fef2f2",borderColor:t?"rgba(239,68,68,0.3)":"#fecaca"}},Ke.default.createElement("span",{className:"text-sm",style:{color:t?"#fca5a5":"#b91c1c"}},e.error))):null}var Tue=e=>{let t=(e?.input||0)+(e?.output||0)+(e?.thinking||0);return t?t>=1e3?`${(t/1e3).toFixed(1)}K`:`${t}`:null},Mue=e=>e==null?null:`$${e.toFixed(4)}`;function ow({trace:e,darkMode:t,expanded:r,onToggle:n}){let o=Pr(t),a=bE(e),i=Q1(e),l=e.status!=="ERROR",s=Tue(e.tokens);return kr.default.createElement(nw,{darkMode:t,id:`trace-row-${e.id}`},kr.default.createElement("div",{className:`p-4 flex items-center justify-between flex-wrap gap-y-2 cursor-pointer transition-colors ${t?"hover:bg-white/5":"hover:bg-gray-50"}`,onClick:n,style:r?{background:o.hoverBg}:void 0},kr.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},kr.default.createElement("span",{className:"px-2 py-1 text-xs rounded flex-shrink-0",style:{fontFamily:Ve.mono,background:o.controlBg,color:o.textSecondary}},"TRACE"),kr.default.createElement("span",{className:"text-sm flex-shrink-0",style:{fontFamily:Ve.mono,color:o.textMuted}},e.short_id),kr.default.createElement("span",{className:"text-sm font-medium truncate",style:{color:o.textPrimary}},e.display_name)),kr.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0"},kr.default.createElement(Jf,{darkMode:t,cells:[{key:"model",title:"Model that generated this trace",empty:"No model recorded for this trace",content:e.model&&kr.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded",style:{fontFamily:Ve.mono,background:t?"rgba(99,102,241,0.2)":"#eef2ff",color:t?"#a5b4fc":"#4338ca"}},e.model)},{key:"context",width:Lo.context,empty:"Context: no generation in this trace reported its token counts",content:i&&kr.default.createElement(Ms,{compact:!0,...i,label:"Context",darkMode:t})},{key:"duration",width:Lo.duration,title:"Wall-clock duration",empty:"No duration recorded for this trace",content:e.duration_ms!=null&&kr.default.createElement(kr.default.Fragment,null,kr.default.createElement("i",{className:"fa-solid fa-clock mr-1"}),Dr(e.duration_ms))},{key:"tokens",width:Lo.tokens,title:"Tokens in, out and thinking",empty:"No token counts recorded for this trace",content:s&&`${s} tokens`},{key:"cost",width:Lo.cost,title:"Estimated cost of this trace",empty:"Nothing to price \u2014 this trace recorded no tokens",content:e.estimated_cost!=null&&kr.default.createElement(kr.default.Fragment,null,kr.default.createElement("i",{className:"fa-solid fa-coins mr-1"}),Mue(e.estimated_cost))},{key:"status",width:Lo.status,title:l?"Trace completed":e.error||"Trace ended in an error",content:kr.default.createElement("span",{style:{color:l?o.good:o.bad}},kr.default.createElement("i",{className:`fa-solid ${l?"fa-check":"fa-xmark"} mr-1`}),l?"OK":"ERROR")}]}),kr.default.createElement(cc,{open:r,darkMode:t}))),!r&&kr.default.createElement(Rf,{darkMode:t,onClick:n,hold:!0,style:{padding:"0 16px 12px"},lines:[{label:"input",text:a.input,color:Ar("user",t).color},{label:"output",text:a.output,color:Ar("assistant",t).color}]}),r&&kr.default.createElement("div",{className:"border-t p-4",style:{borderColor:o.cardBorder,background:o.innerBg}},kr.default.createElement(dg,{trace:e,darkMode:t})))}function Re(e=""){return`${(window.ACTIVE_AGENT_DASHBOARD?.mountPath||"").replace(/\/$/,"")}${e}`||"/"}function aw(e=""){window.history.pushState({},"",Re(e))}function dl(e=window.location.pathname){let t=(window.ACTIVE_AGENT_DASHBOARD?.mountPath||"").replace(/\/$/,"");return t&&(e===t||e.startsWith(`${t}/`))?e.slice(t.length)||"/":e}function Ds(e){if(!e)return;let t=dl(e);aw(t),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Re(t)}}))}var L$=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],Pue=3e4,Due=e=>{let t={};return e.forEach((r,n)=>{t[r]=L$[n%L$.length]}),t},Iue=e=>{let t={};return e.forEach(r=>{(r.spans||[]).forEach(n=>{if((n.nested||0)===0)return;let o=n.name||n.type||"unknown";t[o]||(t[o]={name:o,type:n.type,count:0,total:0,max:0,errors:0});let a=t[o];a.count+=1,a.total+=n.duration||0,a.max=Math.max(a.max,n.duration||0),n.error&&(a.errors+=1)})}),Object.values(t).map(r=>({...r,avg:r.total/r.count})).sort((r,n)=>n.total-r.total)},jue=(e,t,r,n=60)=>{let o=Date.now(),a=[],i=n*1e3,l=Math.max(1,Math.round(r*60/n));for(let s=l-1;s>=0;s--){let u=o-(s+1)*i,c=o-s*i,d=e.filter(p=>p.timestamp_ms>=u&&p.timestamp_ms{f[p]=d.filter(m=>m.agent===p).length}),a.push({time:r>1440?new Date(c).toLocaleString([],{month:"short",day:"numeric",hour:"2-digit"}):new Date(c).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),timestamp:c,requests:d.length,errors:d.filter(p=>p.status==="ERROR").length,avgLatency:d.length>0?Math.round(d.reduce((p,m)=>p+(m.duration_ms||0),0)/d.length):0,traces:d,...f})}return a};function dc({agentClass:e=null,embedded:t=!1}){let{darkMode:r}=Nt(),[n,o]=(0,$.useState)([]),[a,i]=(0,$.useState)([]),[l,s]=(0,$.useState)({}),[u,c]=(0,$.useState)(!0),[d,f]=(0,$.useState)(null),[p,m]=(0,$.useState)(null),g=(0,$.useRef)(new URLSearchParams(window.location.search).get("trace")),[h,v]=(0,$.useState)(null),[y,b]=(0,$.useState)({status:"all",agent:"all",action:"all"}),[x,S]=(0,$.useState)("time"),[w,T]=(0,$.useState)(null),[k,A]=(0,$.useState)("timeline"),[M,H]=(0,$.useState)("popular"),{timeWindow:F}=si(),X=(0,$.useCallback)(async()=>{try{let N=e?`&agent=${encodeURIComponent(e)}`:"",O=await fetch(`/api/traces?minutes=${F.minutes}${N}`);if(!O.ok)throw new Error(`Request failed (${O.status})`);let Z=await O.json();o(Z.traces||[]),i(e?[e]:Z.agents||[]),s(Z.agent_ids||{}),f(null)}catch(N){f(N.message)}finally{c(!1)}},[F.minutes,e]);(0,$.useEffect)(()=>{X();let N=setInterval(X,Pue);return()=>clearInterval(N)},[X]);let P=(0,$.useMemo)(()=>Due(a),[a]);(0,$.useEffect)(()=>{T(null)},[F.id]);let Y=(0,$.useMemo)(()=>jue(n,a,F.minutes,F.bucketSeconds),[n,a,F]),C=Math.max(0,Math.ceil(Y.length/6)-1),_=(0,$.useMemo)(()=>{let N=n;if(w!==null){let O=Y[w];O&&(N=O.traces||[])}if(y.status!=="all"&&(N=N.filter(O=>y.status==="success"?O.status!=="ERROR":O.status==="ERROR")),y.agent!=="all"&&(N=N.filter(O=>O.agent===y.agent)),y.action!=="all")if(y.action.includes("#")){let[O,Z]=y.action.split("#");N=N.filter(B=>B.agent===O&&B.action===Z)}else N=N.filter(O=>O.action===y.action);return x==="latency"&&(N=[...N].sort((O,Z)=>(Z.duration_ms||0)-(O.duration_ms||0))),h&&!N.some(O=>O.id===h.id)&&(N=[h,...N]),N},[n,w,Y,y,x,h]);(0,$.useEffect)(()=>{let N=g.current;if(!N)return;let O=B=>{g.current=null,m(B.id),setTimeout(()=>{document.getElementById(`trace-row-${B.id}`)?.scrollIntoView({behavior:"smooth",block:"start"})},150)},Z=n.find(B=>B.id===N||B.trace_id===N||B.short_id&&String(N).startsWith(B.short_id));if(Z){O(Z);return}n.length!==0&&fetch(`/api/traces/${encodeURIComponent(N)}`).then(B=>B.ok?B.json():Promise.reject(new Error("not found"))).then(({trace:B})=>{v(B),O(B)}).catch(()=>{g.current=null})},[n]);let z=(0,$.useMemo)(()=>{let N=w!==null?Y[w]?.traces||[]:n,O={};N.forEach(B=>{B.agent&&(O[B.agent]||(O[B.agent]={agent:B.agent,count:0,totalDuration:0,cost:0,errors:0,actions:{},tokens:{thinking:0,input:0,output:0}}),O[B.agent].count++,O[B.agent].totalDuration+=B.duration_ms||0,O[B.agent].cost+=B.estimated_cost||0,B.status==="ERROR"&&O[B.agent].errors++,B.tokens&&(O[B.agent].tokens.thinking+=B.tokens.thinking||0,O[B.agent].tokens.input+=B.tokens.input||0,O[B.agent].tokens.output+=B.tokens.output||0),B.action&&(O[B.agent].actions[B.action]=(O[B.agent].actions[B.action]||0)+1))});let Z={popular:B=>B.count,longest:B=>B.totalDuration/(B.count||1),cost:B=>B.cost,tokens:B=>(B.tokens.input||0)+(B.tokens.output||0)+(B.tokens.thinking||0),errors:B=>B.errors}[M]||(B=>B.count);return Object.values(O).sort((B,we)=>Z(we)-Z(B)||we.count-B.count)},[n,Y,w,M]),D=(0,$.useMemo)(()=>{let N=w!==null?Y[w]?.traces||[]:n,O={};return N.forEach(Z=>{if(!Z.agent)return;let B=`${Z.agent}#${Z.action||"unknown"}`;O[B]||(O[B]={key:B,agent:Z.agent,action:Z.action||"unknown",count:0,totalDuration:0,errors:0,minDuration:1/0,maxDuration:0,tokens:{thinking:0,input:0,output:0}}),O[B].count++,O[B].totalDuration+=Z.duration_ms||0,O[B].minDuration=Math.min(O[B].minDuration,Z.duration_ms||0),O[B].maxDuration=Math.max(O[B].maxDuration,Z.duration_ms||0),Z.status==="ERROR"&&O[B].errors++,Z.tokens&&(O[B].tokens.thinking+=Z.tokens.thinking||0,O[B].tokens.input+=Z.tokens.input||0,O[B].tokens.output+=Z.tokens.output||0)}),Object.values(O).forEach(Z=>{Z.minDuration===1/0&&(Z.minDuration=0)}),Object.values(O).sort((Z,B)=>B.count-Z.count)},[n,Y,w]),E=(0,$.useMemo)(()=>{let N=w!==null?Y[w]?.traces||[]:n,O={};return N.forEach(Z=>{(Z.spans||[]).forEach(B=>{if(B.type!=="tool")return;let we=B.attributes?.["tool.name"]||B.name?.replace(/^tool\./,"")||"unknown";O[we]||(O[we]={name:we,count:0,totalDuration:0,maxDuration:0,errors:0,agents:new Set}),O[we].count++,O[we].totalDuration+=B.duration||0,O[we].maxDuration=Math.max(O[we].maxDuration,B.duration||0),B.error&&O[we].errors++,Z.agent&&O[we].agents.add(`${Z.agent}#${Z.action||"unknown"}`)})}),Object.values(O).map(Z=>({...Z,agents:[...Z.agents],avgDuration:Z.count?Z.totalDuration/Z.count:0})).sort((Z,B)=>B.totalDuration-Z.totalDuration)},[n,Y,w]),j=(0,$.useMemo)(()=>y.agent==="all"?D.map(N=>N.key):D.filter(N=>N.agent===y.agent).map(N=>N.key),[y.agent,D]),R=(0,$.useMemo)(()=>Iue(_),[_]),U=N=>{if(N&&N.activeTooltipIndex!==void 0){let O=N.activeTooltipIndex;T(w===O?null:O),m(null)}},L=N=>(N?.input||0)+(N?.output||0)+(N?.thinking||0),K=N=>{let O=N.count?N.errors/N.count:0;return[{label:`Calls ${F.label||""}`.trim(),value:N.count.toLocaleString()},{label:"Errors",value:`${(O*100).toFixed(1)}%`,tone:N.errors>0?"bad":"good"},{label:"Avg time",value:`${Math.round(N.totalDuration/(N.count||1))}ms`},{label:"Tokens",value:L(N.tokens).toLocaleString()},{label:"Cost",value:ae(N.cost),title:"Estimated from token counts at this model's published rates",tone:N.cost?void 0:"muted"},{label:"Actions",value:(N.agents?.length||0).toLocaleString()}]},ae=N=>N?N<.01?"<$0.01":`$${N.toFixed(2)}`:"\u2014",de=$.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:"8px",marginBottom:"12px"}},$.default.createElement("span",{style:{fontSize:"12px",color:r?"rgba(255,255,255,0.5)":"#6b7280"}},"Rank by"),$.default.createElement("select",{value:M,onChange:N=>H(N.target.value),style:{fontSize:"12px",padding:"4px 8px",borderRadius:"6px",border:`1px solid ${r?"rgba(255,255,255,0.15)":"#e5e7eb"}`,background:r?"rgba(255,255,255,0.05)":"#ffffff",color:r?"#f9fafb":"#111827"}},$.default.createElement("option",{value:"popular"},"Most calls"),$.default.createElement("option",{value:"longest"},"Longest average"),$.default.createElement("option",{value:"cost"},"Highest cost"),$.default.createElement("option",{value:"tokens"},"Most tokens"),$.default.createElement("option",{value:"errors"},"Most errors"))),ze=N=>b(O=>({...O,agent:O.agent===N?"all":N})),oe=N=>{let O=l[N];if(!O)return ze(N);let Z=Re(`/agents/${O}`);window.history.pushState(window.history.state,"",Z),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Z}}))},Ee=N=>{let O=R[0]?.total||1,Z=N?"rgba(0,0,0,0.3)":"white",B=N?"1px solid rgba(255,255,255,0.1)":"1px solid #e5e7eb",we=N?"white":"#111827",ee=N?"rgba(255,255,255,0.5)":"#6b7280",ue={llm:"#ef4444",tool:"#10b981",generate:"#8b5cf6",prompt:"#3b82f6"};return $.default.createElement("div",{style:{padding:N?"0 24px 24px 24px":0}},$.default.createElement("div",{style:{background:Z,border:B,borderRadius:"12px",padding:"16px"}},$.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:we,marginBottom:"4px"}},"Slowest operations"),$.default.createElement("div",{style:{fontSize:"12px",color:ee,marginBottom:"14px"}},"Span durations aggregated across ",_.length," trace",_.length===1?"":"s"," \u2014 ranked by total time"),R.length===0?$.default.createElement("div",{style:{fontSize:"13px",color:ee,padding:"12px 0"}},"No spans in the current selection"):$.default.createElement("div",{style:{display:"grid",gap:"10px"}},R.map(W=>$.default.createElement("div",{key:W.name,style:{display:"flex",alignItems:"center",gap:"12px"}},$.default.createElement("div",{style:{width:"220px",flexShrink:0,display:"flex",alignItems:"center",gap:"8px"}},$.default.createElement("span",{style:{color:ee}},xE(W.type)),$.default.createElement("span",{style:{fontSize:"13px",color:W.errors>0?"#ef4444":we,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},W.name)),$.default.createElement("div",{style:{flex:1,height:"18px",background:N?"rgba(255,255,255,0.06)":"#f3f4f6",borderRadius:"4px",position:"relative"}},$.default.createElement("div",{style:{position:"absolute",top:"3px",left:0,height:"12px",borderRadius:"3px",width:`${Math.max(W.total/O*100,.5)}%`,background:ue[W.type]||"#6366f1"}})),$.default.createElement("div",{style:{width:"260px",flexShrink:0,fontSize:"12px",color:ee,fontFamily:Ve.mono,textAlign:"right"}},W.count,"\xD7 \xB7 avg ",Dr(W.avg)," \xB7 max ",Dr(W.max)," \xB7 \u03A3 ",Dr(W.total)))))))};if(u)return $.default.createElement("div",{className:"flex items-center justify-center h-64"},$.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let V={requests:Y.reduce((N,O)=>N+O.requests,0),errors:Y.reduce((N,O)=>N+O.errors,0),avgLatency:(()=>{let N=Y.filter(O=>O.requests>0);return N.length===0?0:Math.round(N.reduce((O,Z)=>O+Z.avgLatency,0)/N.length)})(),throughput:(Y.reduce((N,O)=>N+O.requests,0)/F.minutes).toFixed(1)},I=n.length===0;return r?$.default.createElement("div",{className:"preview-content",style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)"}},$.default.createElement("div",{style:{padding:"24px 24px 0 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",marginBottom:"16px",paddingBottom:"16px"}},$.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},$.default.createElement("div",null,!t&&$.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:"white",margin:0}},"Traces"),$.default.createElement("p",{style:{fontSize:"14px",color:"rgba(255,255,255,0.6)",marginTop:"4px"}},w!==null?`Viewing ${Y[w]?.time} \u2022 ${_.length} requests`:`Last ${F.label} \u2022 Click timeline to drill down`)),$.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},$.default.createElement("div",{style:{display:"flex",background:"rgba(255,255,255,0.1)",borderRadius:"8px",padding:"2px"}},["timeline","agents","actions","tools","spans"].map(N=>$.default.createElement("button",{key:N,onClick:()=>A(N),style:{padding:"6px 12px",background:k===N?"#ef4444":"transparent",color:"white",borderRadius:"6px",border:"none",fontSize:"13px",cursor:"pointer",textTransform:"capitalize"}},N))),!e&&$.default.createElement("select",{value:y.agent,onChange:N=>b({...y,agent:N.target.value,action:"all"}),style:{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px",maxWidth:"180px",textOverflow:"ellipsis"}},$.default.createElement("option",{value:"all"},"All Agents"),a.map(N=>$.default.createElement("option",{key:N,value:N},N))),$.default.createElement("select",{value:y.action,onChange:N=>b({...y,action:N.target.value}),style:{padding:"8px 12px",background:y.action!=="all"?"rgba(239, 68, 68, 0.3)":"rgba(255,255,255,0.1)",border:y.action!=="all"?"1px solid #ef4444":"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px",maxWidth:"220px",textOverflow:"ellipsis"}},$.default.createElement("option",{value:"all"},"All Actions"),j.map(N=>$.default.createElement("option",{key:N,value:N},N))),$.default.createElement("select",{value:y.status,onChange:N=>b({...y,status:N.target.value}),style:{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px"}},$.default.createElement("option",{value:"all"},"All Status"),$.default.createElement("option",{value:"success"},"Success"),$.default.createElement("option",{value:"error"},"Error")),$.default.createElement("select",{value:x,onChange:N=>S(N.target.value),style:{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px"}},$.default.createElement("option",{value:"time"},"Newest first"),$.default.createElement("option",{value:"latency"},"Slowest first")),w!==null&&$.default.createElement("button",{onClick:()=>T(null),style:{padding:"8px 16px",background:"rgba(255,255,255,0.2)",color:"white",borderRadius:"8px",border:"none",fontSize:"14px",fontWeight:"500",cursor:"pointer"}},"Clear Selection")))),d&&$.default.createElement("div",{style:{margin:"0 24px 16px 24px",padding:"12px 16px",background:"rgba(239, 68, 68, 0.1)",borderRadius:"8px",color:"#ef4444",fontSize:"13px"}},"Failed to load traces: ",d),$.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},$.default.createElement("div",{style:{background:"rgba(0,0,0,0.3)",borderRadius:"12px",padding:"16px",border:"1px solid rgba(255,255,255,0.1)"}},$.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"12px"}},$.default.createElement("div",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},"Agent Requests / Minute"),$.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},Object.entries(P).map(([N,O])=>$.default.createElement("div",{key:N,style:{display:"flex",alignItems:"center",gap:"6px"}},$.default.createElement("div",{style:{width:"10px",height:"10px",borderRadius:"2px",background:O}}),$.default.createElement("span",{style:{fontSize:"11px",color:"rgba(255,255,255,0.7)"}},N.replace("Agent","")))))),$.default.createElement("div",{style:{height:"150px"}},$.default.createElement(Jl,{width:"100%",height:"100%"},$.default.createElement(Os,{data:Y,onClick:U,style:{cursor:"pointer"}},$.default.createElement("defs",null,Object.entries(P).map(([N,O])=>$.default.createElement("linearGradient",{key:N,id:`gradient-${N}`,x1:"0",y1:"0",x2:"0",y2:"1"},$.default.createElement("stop",{offset:"5%",stopColor:O,stopOpacity:.8}),$.default.createElement("stop",{offset:"95%",stopColor:O,stopOpacity:.1})))),$.default.createElement(rl,{strokeDasharray:"3 3",stroke:"rgba(255,255,255,0.1)"}),$.default.createElement(il,{dataKey:"time",stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,interval:C}),$.default.createElement(sl,{stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,axisLine:!1,allowDecimals:!1}),$.default.createElement(vs,{contentStyle:{background:"rgba(0,0,0,0.9)",border:"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",padding:"12px"},labelStyle:{color:"white",fontWeight:"600",marginBottom:"8px"},itemStyle:{color:"rgba(255,255,255,0.8)",fontSize:"12px"},formatter:(N,O)=>[N,O.replace("Agent","")]}),Object.keys(P).map(N=>$.default.createElement(ol,{key:N,type:"monotone",dataKey:N,stackId:"1",stroke:P[N],fill:`url(#gradient-${N})`}))))),$.default.createElement("div",{style:{display:"flex",gap:"24px",marginTop:"12px",paddingTop:"12px",borderTop:"1px solid rgba(255,255,255,0.1)"}},$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"white"}},V.requests),$.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Total Requests")),$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#ef4444"}},V.errors),$.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Errors")),$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#10b981"}},V.avgLatency,"ms"),$.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Avg Latency")),$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#f59e0b"}},V.throughput,"/min"),$.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Throughput"))))),k==="agents"&&$.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},de,$.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(280px, 1fr))",gap:"16px"}},z.map(N=>$.default.createElement(yd,{key:N.agent,name:N.agent,accentColor:P[N.agent],subtitle:N.agents?.length?N.agents.join(", "):void 0,badge:$.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:P[N.agent]+"30",color:P[N.agent],borderRadius:"4px",whiteSpace:"nowrap"}},N.count," calls"),onClick:()=>oe(N.agent),stats:K(N),footer:$.default.createElement($.default.Fragment,null,$.default.createElement("span",null,l[N.agent]?"Open agent \u2192":"Not linked to an agent record"),$.default.createElement("button",{onClick:O=>{O.stopPropagation(),ze(N.agent)},style:{background:"none",border:"none",padding:0,cursor:"pointer",color:y.agent===N.agent?"#ef4444":"inherit",font:"inherit"}},y.agent===N.agent?"Clear filter":"Filter traces"))})))),k==="actions"&&$.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},$.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:"12px"}},D.map(N=>{let O=y.action===N.key;return $.default.createElement("div",{key:N.key,onClick:()=>{b({...y,action:O?"all":N.key}),A("timeline")},style:{background:O?"rgba(239, 68, 68, 0.15)":"rgba(0,0,0,0.3)",borderRadius:"10px",padding:"14px",border:O?"1px solid #ef4444":`1px solid ${P[N.agent]}30`,cursor:"pointer",transition:"all 0.15s"}},$.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"10px"}},$.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},$.default.createElement("div",{style:{width:"6px",height:"6px",borderRadius:"50%",background:P[N.agent]}}),$.default.createElement("span",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},N.agent),$.default.createElement("span",{style:{fontSize:"13px",color:"rgba(255,255,255,0.7)"}},"#",N.action)),$.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:P[N.agent]+"30",color:P[N.agent],borderRadius:"4px"}},N.count," calls")),$.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Avg"),$.default.createElement("div",{style:{fontSize:"13px",color:"white",fontWeight:"500"}},Math.round(N.totalDuration/N.count),"ms")),$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Min/Max"),$.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},Math.round(N.minDuration),"ms / ",Math.round(N.maxDuration),"ms")),$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Errors"),$.default.createElement("div",{style:{fontSize:"13px",color:N.errors>0?"#ef4444":"#10b981"}},N.errors," (",(N.errors/N.count*100).toFixed(0),"%)")),$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Tokens"),$.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},L(N.tokens).toLocaleString()))))}))),k==="spans"&&Ee(!0),k==="timeline"&&!I&&$.default.createElement("div",{className:"space-y-4"},_.length===0?$.default.createElement("div",{style:{textAlign:"center",padding:"32px",color:"rgba(255,255,255,0.5)",fontSize:"14px"}},"No traces match filters"):_.map(N=>$.default.createElement(ow,{key:N.id,trace:N,darkMode:!0,expanded:p===N.id,onToggle:()=>m(p===N.id?null:N.id)}))),I&&k==="timeline"&&$.default.createElement("div",{style:{textAlign:"center",padding:"48px 0"}},$.default.createElement("div",{style:{color:"rgba(255,255,255,0.5)",fontSize:"18px"}},"No traces yet"),$.default.createElement("p",{style:{color:"rgba(255,255,255,0.4)",fontSize:"14px",marginTop:"8px"}},"Run an agent, or point your app's ActiveAgent telemetry at this workspace to see traces appear here"))):$.default.createElement("div",{className:"space-y-6"},$.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2"},$.default.createElement("div",null,$.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Traces"),$.default.createElement("p",{className:"text-sm text-gray-500"},w!==null?`Viewing ${Y[w]?.time} \u2022 ${_.length} requests`:`Last ${F.label} \u2022 Click timeline to drill down`)),$.default.createElement("div",{className:"flex items-center space-x-3 flex-wrap gap-y-2 min-w-0"},$.default.createElement(ui,null),$.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},["timeline","agents","actions","tools","spans"].map(N=>$.default.createElement("button",{key:N,onClick:()=>A(N),className:`px-3 py-1 text-sm rounded-md transition-colors capitalize ${k===N?"bg-white shadow text-gray-900":"text-gray-600"}`},N))),$.default.createElement("select",{value:y.agent,onChange:N=>b({...y,agent:N.target.value,action:"all"}),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500",style:{maxWidth:"180px",textOverflow:"ellipsis"}},$.default.createElement("option",{value:"all"},"All Agents"),a.map(N=>$.default.createElement("option",{key:N,value:N},N))),$.default.createElement("select",{value:y.action,onChange:N=>b({...y,action:N.target.value}),className:`px-3 py-2 border rounded-lg text-sm focus:ring-2 focus:ring-red-500 ${y.action!=="all"?"border-red-500 bg-red-50":"border-gray-300"}`,style:{maxWidth:"220px",textOverflow:"ellipsis"}},$.default.createElement("option",{value:"all"},"All Actions"),j.map(N=>$.default.createElement("option",{key:N,value:N},N))),$.default.createElement("select",{value:y.status,onChange:N=>b({...y,status:N.target.value}),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},$.default.createElement("option",{value:"all"},"All Status"),$.default.createElement("option",{value:"success"},"Success"),$.default.createElement("option",{value:"error"},"Error")),$.default.createElement("select",{value:x,onChange:N=>S(N.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},$.default.createElement("option",{value:"time"},"Newest first"),$.default.createElement("option",{value:"latency"},"Slowest first")),w!==null&&$.default.createElement("button",{onClick:()=>T(null),className:"px-4 py-2 bg-gray-200 text-gray-700 rounded-lg hover:bg-gray-300 transition-colors text-sm font-medium"},"Clear Selection"))),d&&$.default.createElement("div",{className:"p-3 bg-red-50 border border-red-200 rounded-lg text-sm text-red-700"},"Failed to load traces: ",d),$.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},$.default.createElement("div",{className:"flex justify-between items-center mb-3"},$.default.createElement("h3",{className:"text-sm font-semibold text-gray-700"},"Agent Requests / Minute"),$.default.createElement("div",{className:"flex gap-4 flex-wrap"},Object.entries(P).map(([N,O])=>$.default.createElement("div",{key:N,className:"flex items-center gap-1.5"},$.default.createElement("div",{className:"w-2.5 h-2.5 rounded-sm",style:{background:O}}),$.default.createElement("span",{className:"text-xs text-gray-500"},N.replace("Agent","")))))),$.default.createElement("div",{className:"h-36"},$.default.createElement(Jl,{width:"100%",height:"100%"},$.default.createElement(Os,{data:Y,onClick:U,style:{cursor:"pointer"}},$.default.createElement("defs",null,Object.entries(P).map(([N,O])=>$.default.createElement("linearGradient",{key:N,id:`gradient-light-${N}`,x1:"0",y1:"0",x2:"0",y2:"1"},$.default.createElement("stop",{offset:"5%",stopColor:O,stopOpacity:.6}),$.default.createElement("stop",{offset:"95%",stopColor:O,stopOpacity:.05})))),$.default.createElement(rl,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),$.default.createElement(il,{dataKey:"time",stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,interval:C}),$.default.createElement(sl,{stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,axisLine:!1,allowDecimals:!1}),$.default.createElement(vs,{contentStyle:{background:"white",border:"1px solid #e5e7eb",borderRadius:"8px",boxShadow:"0 4px 6px -1px rgba(0,0,0,0.1)"},labelStyle:{color:"#111827",fontWeight:"600",marginBottom:"8px"},formatter:(N,O)=>[N,O.replace("Agent","")]}),Object.keys(P).map(N=>$.default.createElement(ol,{key:N,type:"monotone",dataKey:N,stackId:"1",stroke:P[N],fill:`url(#gradient-light-${N})`}))))),$.default.createElement("div",{className:"flex gap-6 mt-3 pt-3 border-t border-gray-100"},$.default.createElement("div",null,$.default.createElement("div",{className:"text-lg font-bold text-gray-900"},V.requests),$.default.createElement("div",{className:"text-xs text-gray-500"},"Total Requests")),$.default.createElement("div",null,$.default.createElement("div",{className:"text-lg font-bold text-red-500"},V.errors),$.default.createElement("div",{className:"text-xs text-gray-500"},"Errors")),$.default.createElement("div",null,$.default.createElement("div",{className:"text-lg font-bold text-green-600"},V.avgLatency,"ms"),$.default.createElement("div",{className:"text-xs text-gray-500"},"Avg Latency")),$.default.createElement("div",null,$.default.createElement("div",{className:"text-lg font-bold text-amber-500"},V.throughput,"/min"),$.default.createElement("div",{className:"text-xs text-gray-500"},"Throughput")))),k==="agents"&&$.default.createElement("div",null,de,$.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"},z.map(N=>$.default.createElement(yd,{key:N.agent,name:N.agent,accentColor:P[N.agent],subtitle:N.agents?.length?N.agents.join(", "):void 0,badge:$.default.createElement("span",{className:"text-sm px-2 py-0.5 rounded",style:{background:P[N.agent]+"20",color:P[N.agent]}},N.count," calls"),onClick:()=>oe(N.agent),stats:K(N),footer:$.default.createElement($.default.Fragment,null,$.default.createElement("span",null,l[N.agent]?"Open agent \u2192":"Not linked to an agent record"),$.default.createElement("button",{onClick:O=>{O.stopPropagation(),ze(N.agent)},className:y.agent===N.agent?"text-red-600":"hover:text-gray-700"},y.agent===N.agent?"Clear filter":"Filter traces"))})))),k==="actions"&&$.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3"},D.map(N=>{let O=y.action===N.key;return $.default.createElement("div",{key:N.key,onClick:()=>{b({...y,action:O?"all":N.key}),A("timeline")},className:`rounded-xl p-4 cursor-pointer transition-all ${O?"bg-red-50 border-2 border-red-500":"bg-white border border-gray-200 hover:border-gray-300"}`,style:{borderLeftColor:P[N.agent],borderLeftWidth:O?"2px":"4px"}},$.default.createElement("div",{className:"flex items-center justify-between mb-3"},$.default.createElement("div",{className:"flex items-center gap-2"},$.default.createElement("div",{className:"w-2 h-2 rounded-full",style:{background:P[N.agent]}}),$.default.createElement("span",{className:"font-semibold text-gray-900"},N.agent),$.default.createElement("span",{className:"text-gray-500"},"#",N.action)),$.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded",style:{background:P[N.agent]+"20",color:P[N.agent]}},N.count," calls")),$.default.createElement("div",{className:"flex flex-wrap gap-4 text-sm"},$.default.createElement("div",null,$.default.createElement("div",{className:"text-xs text-gray-500"},"Avg"),$.default.createElement("div",{className:"font-medium"},Math.round(N.totalDuration/N.count),"ms")),$.default.createElement("div",null,$.default.createElement("div",{className:"text-xs text-gray-500"},"Min/Max"),$.default.createElement("div",{className:"text-gray-600"},Math.round(N.minDuration),"ms / ",Math.round(N.maxDuration),"ms")),$.default.createElement("div",null,$.default.createElement("div",{className:"text-xs text-gray-500"},"Errors"),$.default.createElement("div",{className:N.errors>0?"text-red-600":"text-green-600"},N.errors," (",(N.errors/N.count*100).toFixed(0),"%)")),$.default.createElement("div",null,$.default.createElement("div",{className:"text-xs text-gray-500"},"Tokens"),$.default.createElement("div",{className:"text-gray-600"},L(N.tokens).toLocaleString()))))})),k==="tools"&&(E.length===0?$.default.createElement("div",{className:"text-center py-8 text-gray-500 text-sm"},"No tool calls in this window"):$.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},$.default.createElement("div",{className:"flex items-center gap-4 px-4 py-2 text-xs font-medium text-gray-500 border-b border-gray-100"},$.default.createElement("div",{className:"flex-1"},"Tool"),$.default.createElement("div",{className:"w-20 text-right"},"Calls"),$.default.createElement("div",{className:"w-24 text-right"},"Total time"),$.default.createElement("div",{className:"w-20 text-right"},"Avg"),$.default.createElement("div",{className:"w-20 text-right"},"Slowest")),E.map(N=>{let O=E[0].totalDuration?N.totalDuration/E[0].totalDuration*100:0;return $.default.createElement("div",{key:N.name,className:"px-4 py-2 border-b border-gray-50 last:border-0"},$.default.createElement("div",{className:"flex items-center gap-4 text-sm"},$.default.createElement("div",{className:"flex-1 min-w-0"},$.default.createElement("div",{className:"font-medium text-gray-900 truncate",title:N.name},N.name),N.agents.length>0&&$.default.createElement("div",{className:"text-xs text-gray-400 truncate",title:N.agents.join(", ")},N.agents.join(", "))),$.default.createElement("div",{className:"w-20 text-right text-gray-700",style:{fontFamily:Ve.mono}},N.count.toLocaleString(),N.errors>0&&$.default.createElement("span",{className:"text-red-600 ml-1",title:`${N.errors} failed`},"(",N.errors,")")),$.default.createElement("div",{className:"w-24 text-right text-gray-900 font-medium",style:{fontFamily:Ve.mono}},Dr(N.totalDuration)),$.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:Ve.mono}},Dr(N.avgDuration)),$.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:Ve.mono}},Dr(N.maxDuration))),$.default.createElement("div",{className:"h-1 bg-gray-100 rounded mt-1.5"},$.default.createElement("div",{className:"h-1 bg-green-500 rounded",style:{width:`${Math.max(O,1)}%`}})))}))),k==="spans"&&Ee(!1),k==="timeline"&&!I&&$.default.createElement("div",{className:"space-y-4"},_.length===0?$.default.createElement("div",{className:"text-center py-8 text-gray-500"},"No traces match filters"):_.map(N=>$.default.createElement(ow,{key:N.id,trace:N,darkMode:!1,expanded:p===N.id,onToggle:()=>m(p===N.id?null:N.id)}))),I&&k==="timeline"&&$.default.createElement("div",{className:"text-center py-12"},$.default.createElement("div",{className:"text-gray-400 text-lg"},"No traces yet"),$.default.createElement("p",{className:"text-gray-500 text-sm mt-2"},"Run an agent, or point your app's ActiveAgent telemetry at this workspace to see traces appear here")))}var fe=te(re());var iw=te(re());function AE({trace:e,darkMode:t,height:r=8}){let n=Pr(t);if(!e)return iw.default.createElement("div",{className:"rounded",style:{height:`${r}px`,background:n.trackBg}});let o=e.spans||[],a=e.duration_ms||1,i=[...o].sort((l,s)=>(l.nested||0)-(s.nested||0));return iw.default.createElement("div",{style:{position:"relative",height:`${r}px`,borderRadius:"999px",background:n.trackBg,overflow:"hidden",flex:1}},i.map((l,s)=>iw.default.createElement("div",{key:l.span_id||s,title:`${l.name} \xB7 ${Dr(l.duration)}`,style:{position:"absolute",top:0,bottom:0,left:`${Math.min(l.start/a*100,99)}%`,width:`${Math.max(l.duration/a*100,.8)}%`,background:l.error?"#ef4444":hE[l.type]||"#9ca3af"}})))}var zue=e=>{let t=null;if((e?.generations||[]).forEach(a=>{let i=a.tokens||{},l=(i.input||0)+(i.output||0);l>0&&(!t||l>t.total)&&(t={input:i.input||0,output:i.output||0,cached:i.cached||0,thinking:i.thinking||0,model:a.model,total:l})}),!t)return null;let r=Ts(e?.instructions),n=0;(e?.messages||[]).forEach(a=>{a.role==="tool"&&(n+=Ts(a.content)+Ts(a.tool_arguments))}),n=Math.min(n,t.input);let o=Math.max(t.input-r-n,0);return{used:t.total,limit:ag(t.model),cached:t.cached,thinking:t.thinking,segments:[{key:"messages",label:"Messages",tokens:o},{key:"tool_results",label:"Tool results",tokens:n},{key:"instructions",label:"Instructions",tokens:r},{key:"output",label:"Generated output",tokens:t.output}]}},B$=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],Lue=[{id:"recent",label:"Recent"},{id:"tokens",label:"Tokens"},{id:"messages",label:"Messages"}],Bue=[{id:"conversation",label:"Conversation",hint:"Messages, tool calls and responses in order"},{id:"spans",label:"Spans",hint:"Each generation as a trace \u2014 waterfall, span details, timings"}],$ue=3e4,fl=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString(),$$=e=>{if(!e)return"";let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);return t<60?"just now":t<3600?`${Math.floor(t/60)}m ago`:t<86400?`${Math.floor(t/3600)}h ago`:`${Math.floor(t/86400)}d ago`};function Fue({generation:e,darkMode:t,maxMs:r,expanded:n,onToggle:o}){let a=Pr(t),[i,l]=(0,fe.useState)(null),[s,u]=(0,fe.useState)(!1),c=e.trace_id,d=(e.duration_seconds||0)*1e3;(0,fe.useEffect)(()=>{if(!c)return;let m=!0;return fetch(`/api/traces/${encodeURIComponent(c)}`).then(g=>g.ok?g.json():Promise.reject(new Error("not found"))).then(({trace:g})=>m&&l(g)).catch(()=>m&&u(!0)),()=>{m=!1}},[c]);let f=!!i,p=(i?.spans||[]).length;return fe.default.createElement("div",{className:`rounded-lg px-2 py-1.5 -mx-2 transition-colors ${f?t?"hover:bg-white/5":"hover:bg-gray-100":""}`,style:n?{background:a.hoverBg}:void 0},fe.default.createElement("div",{className:f?"cursor-pointer":void 0,onClick:f?o:void 0,title:f?`${p} spans \u2014 click for the trace`:void 0},fe.default.createElement("div",{className:"flex flex-wrap items-center gap-3 text-xs font-mono",style:{color:a.textSecondary}},fe.default.createElement("span",{title:e.cache_hit?`${fl(e.tokens.cached)} cached prompt tokens`:"No prompt cache hit",style:{color:e.cache_hit?a.good:a.textMuted}},e.cache_hit?"\u26A1 cache hit":"\u25CF generated"),e.thinking&&fe.default.createElement("span",{className:"text-amber-500",title:`${fl(e.tokens.thinking)} thinking tokens`},"\u{1F9E0} ",fl(e.tokens.thinking)),fe.default.createElement("span",null,e.model||"unknown-model"),e.provider&&fe.default.createElement("span",null,e.provider),fe.default.createElement("span",{className:"text-blue-500"},"in:",fl(e.tokens.input)),fe.default.createElement("span",{className:"text-green-500"},"out:",fl(e.tokens.output)),e.finish_reason&&fe.default.createElement("span",null,e.finish_reason),e.duration_seconds!=null&&fe.default.createElement("span",null,Dr(d)),c&&fe.default.createElement("a",{href:Re(`/traces?trace=${c}`),title:`${c} \u2014 open in Traces`,style:{color:a.link},className:"hover:underline",onClick:m=>m.stopPropagation()},"trace:",c.slice(0,8)," \u2192"),s&&fe.default.createElement("span",{style:{color:a.textMuted}},"trace unavailable")),fe.default.createElement("div",{className:"flex items-center gap-2 mt-1"},c&&!s?fe.default.createElement(AE,{trace:i,darkMode:t}):d>0?fe.default.createElement("div",{className:"rounded flex-1",style:{height:"8px",background:a.trackBg}},fe.default.createElement("div",{className:"rounded",style:{height:"8px",width:`${Math.max(d/r*100,2)}%`,background:"#ef4444"}})):null,f&&fe.default.createElement(fe.default.Fragment,null,fe.default.createElement("span",{className:"font-mono flex-shrink-0",style:{fontSize:"10px",color:a.textMuted}},p," ",p===1?"span":"spans"),fe.default.createElement(cc,{open:n,darkMode:t,size:12})))),n&&i&&fe.default.createElement("div",{className:"mt-2 rounded-lg border p-3",style:{background:a.cardBg,borderColor:a.cardBorder}},fe.default.createElement(dg,{trace:i,darkMode:t,compact:!0})))}function pl({agentId:e=null,embedded:t=!1}){let{darkMode:r}=Nt(),[n,o]=(0,fe.useState)([]),[a,i]=(0,fe.useState)(!0),[l,s]=(0,fe.useState)(null),[u,c]=(0,fe.useState)(null),[d,f]=(0,fe.useState)({}),{timeWindow:p}=si(),m=(0,fe.useCallback)(async()=>{try{let X=await fetch(`/api/interactions?minutes=${p.minutes}${e?`&agent_id=${e}`:""}`);if(!X.ok)throw new Error(`Request failed (${X.status})`);let P=await X.json();o(P.interactions||[]),s(null)}catch(X){s(X.message)}finally{i(!1)}},[p.minutes,e]);(0,fe.useEffect)(()=>{m();let X=setInterval(m,$ue);return()=>clearInterval(X)},[m]);let[g,h]=(0,fe.useState)("recent"),v=(0,fe.useMemo)(()=>{let X=[...new Set(n.map(P=>P.display_name).filter(Boolean))].sort();return Object.fromEntries(X.map((P,Y)=>[P,B$[Y%B$.length]]))},[n]),y=(0,fe.useMemo)(()=>{let X=n.reduce((Y,C)=>Y+(C.tokens?.total||0),0),P=new Set(n.map(Y=>Y.display_name).filter(Boolean));return{interactions:n.length,tokens:X,agents:P.size,avgTokens:n.length?Math.round(X/n.length):0}},[n]),b=(0,fe.useMemo)(()=>{if(n.length===0)return[];let X=Date.now(),P=p.bucketSeconds*1e3,Y=Math.max(1,Math.round(p.minutes*60/p.bucketSeconds)),C=Object.keys(v);return Array.from({length:Y},(_,z)=>{let D=X-(Y-1-z)*P,E=D-P,j=n.filter(R=>{let U=new Date(R.last_activity_at).getTime();return U>=E&&U1440?new Date(D).toLocaleString([],{month:"short",day:"numeric",hour:"2-digit"}):new Date(D).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),...Object.fromEntries(C.map(R=>[R,j.filter(U=>U.display_name===R).length]))}})},[n,v,p]),x=Math.max(0,Math.ceil(b.length/6)-1),S=(0,fe.useCallback)(X=>{let P=[...X];switch(g){case"tokens":return P.sort((Y,C)=>(C.tokens?.total||0)-(Y.tokens?.total||0));case"messages":return P.sort((Y,C)=>(C.message_count||0)-(Y.message_count||0));default:return P.sort((Y,C)=>String(C.last_activity_at).localeCompare(String(Y.last_activity_at)))}},[g]),w=(0,fe.useMemo)(()=>{let X=new Map;n.forEach(Y=>{let C=Y.agent_name||Y.agent?.name||"Unattributed",_=Y.action_name,z=`${C}#${_||""}`;X.has(z)||X.set(z,{key:z,title:_?`${C} ${_.charAt(0).toUpperCase()}${_.slice(1)} Agent Interactions`:`${C} Interactions`,sessions:[],tokens:0,lastActivity:Y.last_activity_at});let D=X.get(z);D.sessions.push(Y),D.tokens+=Y.tokens?.total||0,Y.last_activity_at>D.lastActivity&&(D.lastActivity=Y.last_activity_at)});let P=[...X.values()].map(Y=>({...Y,sessions:S(Y.sessions)}));return g==="tokens"?P.sort((Y,C)=>C.tokens-Y.tokens):g==="messages"?P.sort((Y,C)=>C.sessions.length-Y.sessions.length):P.sort((Y,C)=>String(C.lastActivity).localeCompare(String(Y.lastActivity)))},[n,g,S]),T=async X=>{if(u===X){c(null);return}if(c(X),!d[X])try{let P=await fetch(`/api/interactions/${X}`);if(P.ok){let Y=await P.json();f(C=>({...C,[X]:Y.interaction}))}}catch{}},[k,A]=(0,fe.useState)({}),[M,H]=ep(),F=Pr(r);return a?fe.default.createElement("div",{className:"flex items-center justify-center h-64"},fe.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):fe.default.createElement("div",{className:"space-y-6"},fe.default.createElement("div",{className:"flex items-start justify-between"},!t&&fe.default.createElement("div",null,fe.default.createElement("h1",{className:"text-2xl font-bold",style:{color:F.textPrimary}},"Interactions"),fe.default.createElement("p",{className:"text-sm mt-1",style:{color:F.textSecondary}},"Persisted conversation streams per agent \u2014 messages, generations and provenance")),fe.default.createElement("div",{className:"flex items-center gap-3"},fe.default.createElement("div",{className:"flex items-center rounded-lg p-1",style:{background:r?"rgba(255,255,255,0.06)":"#f3f4f6"}},fe.default.createElement("span",{className:"text-xs px-1",style:{color:F.textMuted}},"Sort"),Lue.map(X=>fe.default.createElement("button",{key:X.id,onClick:()=>h(X.id),className:"px-2 py-1 text-xs rounded transition-colors",style:g===X.id?{background:r?"#2a2a2a":"#ffffff",color:F.textPrimary,boxShadow:r?"none":"0 1px 2px rgba(0,0,0,0.08)"}:{color:F.textSecondary}},X.label))),fe.default.createElement(ui,null))),l&&fe.default.createElement("div",{className:"p-3 rounded-lg text-sm",style:{background:r?"rgba(239,68,68,0.1)":"#fef2f2",color:"#ef4444"}},"Failed to load interactions: ",l),n.length>0&&fe.default.createElement("div",{className:"rounded-xl border p-4",style:{backgroundColor:F.cardBg,borderColor:F.cardBorder}},fe.default.createElement("div",{className:"flex items-center justify-between mb-3"},fe.default.createElement("h3",{className:"text-sm font-semibold",style:{color:F.textPrimary}},"Interactions over time"),fe.default.createElement("div",{className:"flex items-center gap-3 flex-wrap justify-end"},Object.entries(v).map(([X,P])=>fe.default.createElement("span",{key:X,className:"flex items-center gap-1.5 text-xs",style:{color:F.textSecondary}},fe.default.createElement("span",{className:"inline-block w-2 h-2 rounded-full",style:{background:P}}),X)))),fe.default.createElement("div",{className:"h-32"},fe.default.createElement(Jl,{width:"100%",height:"100%"},fe.default.createElement(Os,{data:b},fe.default.createElement("defs",null,Object.entries(v).map(([X,P])=>fe.default.createElement("linearGradient",{key:X,id:`ix-gradient-${X.replace(/\W/g,"-")}`,x1:"0",y1:"0",x2:"0",y2:"1"},fe.default.createElement("stop",{offset:"5%",stopColor:P,stopOpacity:.6}),fe.default.createElement("stop",{offset:"95%",stopColor:P,stopOpacity:.05})))),fe.default.createElement(rl,{strokeDasharray:"3 3",stroke:r?"#2a2a2a":"#e5e7eb"}),fe.default.createElement(il,{dataKey:"time",stroke:r?"rgba(255,255,255,0.4)":"#9ca3af",tick:{fontSize:10,fill:r?"rgba(255,255,255,0.5)":"#6b7280"},tickLine:!1,interval:x}),fe.default.createElement(sl,{stroke:r?"rgba(255,255,255,0.4)":"#9ca3af",tick:{fontSize:10,fill:r?"rgba(255,255,255,0.5)":"#6b7280"},tickLine:!1,axisLine:!1,allowDecimals:!1}),fe.default.createElement(vs,{contentStyle:{background:r?"#1f1f1f":"white",border:`1px solid ${F.cardBorder}`,borderRadius:"8px"},labelStyle:{color:F.textPrimary,fontWeight:"600",marginBottom:"4px"}}),Object.entries(v).map(([X,P])=>fe.default.createElement(ol,{key:X,type:"monotone",dataKey:X,stackId:"1",stroke:P,strokeWidth:2,fill:`url(#ix-gradient-${X.replace(/\W/g,"-")})`}))))),fe.default.createElement("div",{className:"flex items-center gap-8 pt-3 mt-3 border-t",style:{borderColor:F.cardBorder}},[{label:"Interactions",value:y.interactions.toLocaleString()},{label:"Agents",value:y.agents.toLocaleString()},{label:"Total tokens",value:fl(y.tokens)},{label:"Avg / interaction",value:fl(y.avgTokens)}].map(X=>fe.default.createElement("div",{key:X.label},fe.default.createElement("div",{className:"text-lg font-bold",style:{color:F.textPrimary}},X.value),fe.default.createElement("div",{className:"text-xs",style:{color:F.textSecondary}},X.label))))),n.length===0?fe.default.createElement("div",{className:"text-center py-12"},fe.default.createElement("div",{className:"text-lg",style:{color:F.textMuted}},"No interactions in the last ",p.label),fe.default.createElement("p",{className:"text-sm mt-2",style:{color:F.textSecondary}},"Widen the time window, or run an agent to start recording its conversation stream")):fe.default.createElement("div",{className:"space-y-8"},w.map(X=>fe.default.createElement("div",{key:X.key,className:"space-y-4"},fe.default.createElement("div",{className:"flex items-baseline justify-between"},fe.default.createElement("h2",{className:"text-sm font-semibold",style:{color:F.textPrimary}},X.title),fe.default.createElement("span",{className:"text-xs",style:{color:F.textMuted}},X.sessions.length," ",X.sessions.length===1?"interaction":"interactions",X.tokens>0&&` \xB7 ${fl(X.tokens)} tokens`)),X.sessions.map(P=>{let Y=d[P.id],C=u===P.id,_=k[P.id]||"conversation",z=P.tokens?.total||0,D=(P.tokens?.input||0)+(P.tokens?.output||0)||z;return fe.default.createElement(nw,{key:P.id,darkMode:r,className:"shadow-sm"},fe.default.createElement("div",{className:`flex items-center justify-between flex-wrap gap-y-2 p-4 cursor-pointer transition-colors ${r?"hover:bg-white/5":"hover:bg-gray-50"}`,onClick:()=>T(P.id),style:C?{background:F.hoverBg}:void 0},fe.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},P.source==="telemetry"?fe.default.createElement("span",{className:"px-2 py-1 text-xs font-medium rounded flex-shrink-0",style:{background:r?"rgba(168,85,247,0.15)":"#faf5ff",color:r?"#d8b4fe":"#7e22ce"},title:"Reported by an app running this agent outside the platform"},"REPORTED"):fe.default.createElement("span",{className:"px-2 py-1 text-xs font-medium bg-blue-100 text-blue-700 rounded flex-shrink-0"},"SESSION"),fe.default.createElement("span",{className:"font-mono text-sm truncate",style:{color:F.textPrimary}},P.display_name),P.agent&&fe.default.createElement("span",{className:"text-sm truncate",style:{color:F.textSecondary}},P.agent.name),P.service_name&&fe.default.createElement("span",{className:"text-sm truncate font-mono",style:{color:F.textMuted}},P.service_name)),fe.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0"},fe.default.createElement(Jf,{darkMode:r,cells:[{key:"activity",width:Lo.count,content:P.message_count>0?`${P.message_count} messages`:`${P.tool_count||0} tool ${P.tool_count===1?"call":"calls"}`},{key:"tokens",width:Lo.tokens,title:"Tokens across this interaction",empty:"No token counts recorded for this interaction",content:z>0&&`${fl(z)} tokens`},{key:"context",width:Lo.context,empty:"Context: this interaction recorded no token counts",content:z>0&&fe.default.createElement(Ms,{compact:!0,darkMode:r,label:"Context",used:D,limit:ag(P.model),segments:[{key:"messages",label:"Context",tokens:D}]})},{key:"age",width:Lo.age,title:P.last_activity_at||void 0,empty:"No activity recorded",content:$$(P.last_activity_at)&&fe.default.createElement("span",{style:{color:F.textMuted}},$$(P.last_activity_at))}]}),fe.default.createElement(cc,{open:C,darkMode:r}))),!C&&fe.default.createElement(Rf,{darkMode:r,onClick:()=>T(P.id),hold:!0,style:{padding:"0 16px 12px"},lines:[{label:"input",text:P.preview?.input,color:Ar("user",r).color},{label:"output",text:P.preview?.output,color:Ar("assistant",r).color}]}),C&&fe.default.createElement("div",{className:"border-t p-4 space-y-3",style:{borderColor:F.cardBorder,background:F.innerBg}},Y?fe.default.createElement(fe.default.Fragment,null,fe.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2"},fe.default.createElement(cg,{options:Bue,value:_,onChange:E=>A(j=>({...j,[P.id]:E})),darkMode:r}),fe.default.createElement("span",{className:"text-xs",style:{color:F.textSecondary}},Y.messages.length," ",Y.messages.length===1?"message":"messages",Y.generations.length>0&&` \xB7 ${Y.generations.length} ${Y.generations.length===1?"generation":"generations"}`)),_==="conversation"&&fe.default.createElement(fe.default.Fragment,null,Y.messages.length===0&&fe.default.createElement("div",{className:"text-sm",style:{color:F.textMuted}},"No conversation content captured for this run. Enable content capture in the reporting app to record prompts, tool arguments, and responses."),fe.default.createElement(ba,{darkMode:r,messages:Y.instructions?[{id:`ctx-${P.id}-system`,role:"system",content:Y.instructions,created_at:P.created_at},...Y.messages]:Y.messages}),(()=>{let E=zue(Y);return E?fe.default.createElement("div",{className:"pt-3 mt-2 border-t",style:{borderColor:F.cardBorder}},fe.default.createElement(Ms,{...E,label:"Context pressure",estimated:!0,darkMode:r})):null})()),_==="spans"&&(Y.generations.length===0?fe.default.createElement("div",{className:"text-sm",style:{color:F.textMuted}},"No generations recorded for this interaction \u2014 nothing to trace."):fe.default.createElement("div",{className:"space-y-2"},Y.generations.map(E=>fe.default.createElement(Fue,{key:E.id,generation:E,darkMode:r,maxMs:Math.max(...Y.generations.map(j=>(j.duration_seconds||0)*1e3),1),expanded:M(`${P.id}:${E.id}`),onToggle:()=>H(`${P.id}:${E.id}`)}))))):fe.default.createElement("div",{className:"flex justify-center py-6"},fe.default.createElement("div",{className:"animate-spin rounded-full h-6 w-6 border-b-2 border-red-500"}))))})))))}var je=te(re());function U$(e,t){let r=i=>{let l=Object.values(t[i]||{})[0];if(!l)return null;let s=l.scenario||l;return{key:i,prompt:s.prompt,group:s.group??null,notes:s.notes??null,expectations:s.expectations||{},position:s.position}},n=new Set(e.map(i=>i.key)),o=e.map(i=>{let l=r(i.key);if(!l)return i;let s=["prompt","group","notes","expectations"].some(u=>JSON.stringify(i[u]??null)!==JSON.stringify(l[u]??null));return{...i,...l,catalogChanged:s}}),a=Object.keys(t).filter(i=>!n.has(i)).map(i=>({...r(i),id:null,enabled:!1,orphan:!0}));return[...o,...a]}var F$=e=>/^[1-9]\d*$/.test(e||"")?e:null;function kE(e){let t=new URLSearchParams(e),r=F$(t.get("evaluation"));return r?{evaluationId:r,runId:F$(t.get("run"))}:null}async function W$(e,t,r){if(!t||e.some(a=>String(a.id)===String(t)))return e;let n=await r(`/api/evaluations/${encodeURIComponent(t)}`);if(!n.ok)throw new Error(`Requested evaluation is unavailable (HTTP ${n.status})`);let o=await n.json();if(!o.evaluation)throw new Error("Requested evaluation is unavailable");return[o.evaluation,...e]}var Ie=te(re());var or=te(re());var ce="var(--font-mono)",fc=e=>e>=1?"success":e>=.7?"warning":"error",ml={success:{strong:"var(--color-success)",soft:"var(--color-success-soft)",text:"var(--color-success-text)"},warning:{strong:"var(--color-warning)",soft:"var(--color-warning-soft)",text:"var(--color-warning-text)"},error:{strong:"var(--color-error)",soft:"var(--color-error-soft)",text:"var(--color-error-text)"},info:{strong:"var(--color-info)",soft:"var(--color-info-soft)",text:"var(--color-info-text)"},muted:{strong:"var(--color-text-muted)",soft:"var(--color-muted)",text:"var(--color-text-secondary)"},accent:{strong:"var(--color-accent-ui)",soft:"var(--color-accent-ui-tint)",text:"var(--color-accent-ui)"}},CE={object:"=",sample:"~",pass:Yt.success,fault:Yt.error,info:Yt.info,on:"[x]",off:"[ ]",link:Yt.arrow,chevron:Yt.chevronRight};function Fa({kind:e="pass",open:t=!1,color:r,size:n=12,weight:o=700,style:a,title:i}){return e==="chevron"?or.default.createElement("span",{className:"aa-chevron","data-open":t?"true":"false",title:i,style:{fontFamily:ce,fontSize:n,color:r||"var(--color-text-muted)",flexShrink:0,...a}},CE.chevron):or.default.createElement("span",{title:i,style:{fontFamily:ce,fontSize:n,fontWeight:o,color:r||(e==="fault"?"var(--color-error)":e==="info"?"var(--color-info)":e==="pass"?"var(--color-success)":"var(--color-text-muted)"),flexShrink:0,...a}},CE[e]||e)}function Tt({tone:e="muted",size:t=11,children:r,title:n,style:o,testId:a}){let i=ml[e]||ml.muted;return or.default.createElement("span",{"data-testid":a,title:n,style:{display:"inline-flex",alignItems:"center",padding:"2px 7px",borderRadius:4,fontFamily:ce,fontSize:t,fontWeight:600,whiteSpace:"nowrap",background:i.soft,color:i.text,...o}},r)}function et({children:e,size:t=11,color:r="var(--color-text-secondary)",spacing:n="0.06em",style:o,as:a="span"}){return or.default.createElement(a,{style:{fontFamily:ce,fontSize:t,fontWeight:600,letterSpacing:n,textTransform:"uppercase",color:r,...o}},e)}function fo({selected:e=!1,onClick:t,children:r,square:n=!1,mono:o=!1,title:a,style:i,testId:l}){return or.default.createElement("button",{type:"button","data-testid":l,onClick:t,title:a,style:{padding:"4px 10px",borderRadius:n?6:999,cursor:t?"pointer":"default",fontFamily:o?ce:"inherit",fontSize:o?11:12,fontWeight:o?400:500,background:e?"var(--color-accent-ui-tint)":"var(--color-card)",border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border)"}`,color:e?"var(--color-accent-ui)":o?"var(--color-text-muted)":"var(--color-text-cell)",...i}},r)}function lw({options:e,value:t,onChange:r,style:n}){return or.default.createElement("div",{style:{display:"flex",gap:4,...n},role:"group"},e.map(o=>{let a=o.value===t;return or.default.createElement("button",{key:o.value,type:"button",onClick:()=>r(o.value),"aria-pressed":a,style:{padding:"6px 12px",borderRadius:8,cursor:"pointer",fontSize:13,fontWeight:500,background:"var(--color-card)",border:`1px solid ${a?"var(--color-accent-ui)":"var(--color-border)"}`,color:a?"var(--color-accent-ui)":"var(--color-text-cell)"}},o.label)}))}function mr({variant:e="secondary",size:t="md",children:r,onClick:n,disabled:o=!1,title:a,type:i="button",style:l,testId:s}){let c={padding:t==="sm"?"6px 12px":"8px 14px",borderRadius:8,cursor:o?"not-allowed":"pointer",fontSize:13,fontWeight:500,opacity:o?.5:1,whiteSpace:"nowrap",fontFamily:"inherit"},d={primary:{background:"var(--color-accent-ui)",color:"var(--color-on-accent)",border:"1px solid transparent"},secondary:{background:"transparent",color:"var(--color-text-cell)",border:"1px solid var(--color-border-strong)"},danger:{background:"transparent",color:"var(--color-error)",border:"1px solid transparent"},ghost:{background:"transparent",color:"var(--color-text-secondary)",border:"1px solid transparent"}};return or.default.createElement("button",{type:i,"data-testid":s,onClick:n,disabled:o,title:a,style:{...c,...d[e]||d.secondary,...l}},r)}function ht({children:e,padding:t=20,style:r,className:n,testId:o,...a}){return or.default.createElement("div",{"data-testid":o,className:n,style:{background:"var(--color-card)",border:"1px solid var(--color-border)",borderRadius:12,padding:t,...r},...a},e)}function tp({label:e,value:t,sub:r,valueColor:n,valueSize:o=32,testId:a}){return or.default.createElement(ht,{testId:a},or.default.createElement(et,{size:11,spacing:"0.05em"},e),or.default.createElement("div",{style:{marginTop:8,fontFamily:ce,fontSize:o,fontWeight:700,lineHeight:1.1,color:n||"var(--color-text-primary)"}},t),r!=null&&or.default.createElement("div",{style:{marginTop:8,fontSize:13,color:"var(--color-text-secondary)"}},r))}function H$({title:e,meta:t,children:r,style:n,testId:o,bodyStyle:a}){return or.default.createElement("div",{"data-testid":o,style:{border:"1px solid var(--color-border-light)",borderRadius:10,overflow:"hidden",minWidth:0,...n}},(e||t)&&or.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",background:"var(--color-muted)"}},e&&or.default.createElement(et,null,e),t&&or.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},t)),or.default.createElement("div",{style:a},r))}function V$({passed:e,total:t,label:r,labelWidth:n=128,width:o,height:a=6,color:i,valueWidth:l=38,style:s}){let u=t?e/t:0,c=i||ml[fc(u)].strong;return or.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,...s}},r!=null&&or.default.createElement("span",{style:{fontFamily:ce,fontSize:10,color:"var(--color-text-muted)",width:n,flexShrink:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:r},r),or.default.createElement("span",{style:{flex:o?void 0:1,width:o,height:a,borderRadius:999,background:"var(--color-muted)",overflow:"hidden",flexShrink:0}},or.default.createElement("span",{style:{display:"block",width:`${Math.round(u*100)}%`,height:"100%",borderRadius:999,background:c}})),or.default.createElement("span",{style:{fontFamily:ce,fontSize:11,fontWeight:600,width:l,textAlign:"right",color:c}},e,"/",t))}function rp({children:e,onClick:t,href:r="#",color:n="var(--color-info)",size:o=11,style:a,title:i}){return or.default.createElement("a",{href:r,title:i,onClick:l=>{t&&(l.preventDefault(),t(l))},style:{fontFamily:ce,fontSize:o,color:n,textDecoration:"none",...a}},e," ",CE.link)}function An({children:e,style:t}){return or.default.createElement("div",{style:{padding:"20px 12px",fontFamily:ce,fontSize:11,color:"var(--color-text-muted)",textAlign:"center",...t}},e)}var Ir=e=>{let t=Number(e)||0;return Math.abs(t)>=1e6?`${(t/1e6).toFixed(1)}M`:Math.abs(t)>=1e3?`${(t/1e3).toFixed(1)}K`:`${Math.round(t)}`},NE=e=>e==null?"\u2014":Ir(e),kn=e=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let t=Number(e);return t>=1e3?`${(t/1e3).toFixed(t>=1e4?1:2).replace(/\.?0+$/,"")}s`:`${Math.round(t)}ms`},fg=e=>{if(e==null)return"\u2014";let t=Number(e);return t===0?"$0.00":Math.abs(t)<.01?`$${t.toFixed(4)}`:`$${t.toFixed(2)}`},jr=(e,t=4)=>e==null?"\u2014":`$${Number(e).toFixed(t)}`,K$=(e,t=0)=>`${(Number(e||0)*100).toFixed(t)}%`,wa=e=>e==null?"\u2014":Number(e).toFixed(2),np=(e,t="%",r=0)=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let n=Number(e);return`${n>0?"+":n<0?"-":""}${Math.abs(n).toFixed(r)}${t}`},ci=e=>{if(!e)return"";let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(t<1)return"just now";if(t<60)return`${t} min ago`;if(t<1440){let n=Math.floor(t/60);return`${n} hour${n===1?"":"s"} ago`}let r=Math.floor(t/1440);return`${r} day${r===1?"":"s"} ago`},Bo=(e,t=null)=>{let r=String(e||""),n=r.lastIndexOf("/");return n>0?{short:r.slice(n+1),provider:r.slice(0,n)}:{short:r,provider:t||""}};var Uue=["trace_error_rate","trace_latency"],_E=[{id:"rules",label:"Rule-based"},{id:"telemetry",label:"Telemetry"},{id:"judge",label:"LLM judge"}],At=(e,t)=>`${e} ${t}${e===1?"":"s"}`,sw=(e,t)=>{let r=String(e||"");return r.length>t?`${r.slice(0,t-1)}\u2026`:r},q$=e=>String(e||"").replace(/_/g," ").replace(/^\w/,t=>t.toUpperCase()),G$=e=>{let t=Number(e)||0;return t>=1e3?`${(t/1e3).toFixed(t%1e3===0?0:1)}s`:`${Math.round(t)}ms`},di=e=>e?.type==="llm_judge"?"judge":Uue.includes(e?.type)?"telemetry":"rules",uw=e=>{let t=e?.config||{};switch(e?.type){case"response_present":return"Response present";case"min_length":return"Response length";case"max_latency_ms":return"Latency";case"token_budget":return"Output tokens";case"contains":return"Must contain";case"not_contains":return"Must not contain";case"trace_error_rate":return"Trace error rate";case"trace_latency":return"Trace latency";case"llm_judge":return t.description||q$(e.key);default:return q$(e?.key)}},op=e=>{let t=e?.config||{};switch(e?.type){case"response_present":return"non-empty output";case"min_length":return`\u2265 ${t.chars??40} chars`;case"max_latency_ms":return`\u2264 ${G$(t.ms??5e3)}`;case"token_budget":return`\u2264 ${t.output_tokens??1e3} output tokens`;case"contains":return`matches /${t.pattern||""}/i`;case"not_contains":return`no /${t.pattern||""}/i`;case"trace_error_rate":return`error rate \u2264 ${t.max_error_rate??5}% \xB7 ${t.window_hours??168}h`;case"trace_latency":return`avg \u2264 ${G$(t.max_avg_ms??5e3)} \xB7 ${t.window_hours??168}h`;case"llm_judge":return t.prompt?`judge: ${sw(t.prompt,72)}`:"judge scores 0.0\u20131.0";default:return""}},pg=(e,t)=>(e?.criteria||[]).find(r=>r.key===t)||{key:t,type:t,config:{}},cw=(e,t=null)=>{let r=t?.scores||{};if(Object.prototype.hasOwnProperty.call(r,"_judge_label"))return r._judge_label||"rules";let n=r._verdict?.judge;return n&&n!=="pass rate"?n:e?.judge_kind==="judge_defined"?`judge-defined KPIs${e.judge_model?` \xB7 ${e.judge_model}`:""}`:e?.judge_kind==="llm"?e.judge_model||"LLM judge":"rules"},EE=(e,t=null)=>t?.models?.length||Object.keys(t?.scores?._models||t?.scores?._cohorts||{}).length||(e?.compare_models||[]).length||1,pc=(e,t=null)=>{let r=EE(e,t);if(e?.scenario_suite){let a=t?.samples_evaluated&&r?Math.round(t.samples_evaluated/r):e.scenario_count||0;return`${At(a,"scenario")} \xD7 ${At(r,"model")}`}let n=(e?.criteria||[]).length,o=n===1?"criterion":"criteria";return r>1?`${n} ${o} \xD7 ${At(r,"model")}`:`${n} ${o} \xB7 ${At(e?.sample_size??0,"sample")}`},OE=e=>e!=null&&typeof e=="object"&&!Array.isArray(e)&&!("score"in e)&&!("skipped"in e),ap=e=>Object.entries(e?.scores||{}).filter(([t,r])=>!t.startsWith("_")&&r&&typeof r=="object");var TE=e=>{let t=e?.scores?._cohorts||e?.scores?._models;if(t&&typeof t=="object"&&Object.keys(t).length)return Object.keys(t);if(Array.isArray(e?.models)&&e.models.length)return e.models;let r=[];return ap(e).forEach(([,n])=>{OE(n)&&Object.keys(n).forEach(o=>{r.includes(o)||r.push(o)})}),r},mc=(e,t)=>!e||typeof e!="object"?null:OE(e)?t&&e[t]||null:e,Y$=e=>e&&e.samples_evaluated?(e.samples_passed||0)/e.samples_evaluated:null;var dw=e=>{if(!e)return[];let t=e.scores||{},r=t._models;if(r&&typeof r=="object"&&Object.keys(r).length)return Object.entries(r).map(([a,i])=>({label:a,model:i.model||a,provider:i.provider||null,samples:i.scenarios??null,passed:i.passed??null,errored:i.errored??0,avg_score:i.avg_score??null,avg_duration_ms:i.avg_duration_ms??null,input_tokens:i.input_tokens??null,output_tokens:i.output_tokens??null,cost:i.cost??null,faults:i.faults||{},kind:"replay"}));let n=t._cohorts;if(n&&typeof n=="object"&&Object.keys(n).length)return Object.entries(n).map(([a,i])=>({label:a,model:a,provider:i.provider||null,samples:i.samples??null,passed:i.passed??null,errored:0,avg_score:null,avg_duration_ms:i.avg_duration_ms??null,input_tokens:i.input_tokens??null,output_tokens:i.output_tokens??null,cost:i.cost??null,faults:{},kind:"sample"}));let o=TE(e);return o.length?o.map(a=>{let i=ap(e).map(([,l])=>mc(l,a)).filter(l=>l&&l.total!=null).map(l=>l.total);return{label:a,model:a,provider:null,samples:i.length?Math.max(...i):null,passed:null,errored:0,avg_score:null,avg_duration_ms:null,input_tokens:null,output_tokens:null,cost:null,faults:{},kind:e.selection||t._selection?"replay":"sample"}}):[{label:null,model:null,provider:null,samples:e.samples_evaluated??null,passed:e.samples_passed??null,errored:0,avg_score:null,avg_duration_ms:null,input_tokens:null,output_tokens:null,cost:null,faults:{},kind:"sample"}]},X$=(e,t)=>{let r=ap(e).map(([,o])=>mc(o,t)).filter(Boolean),n=r.filter(o=>o.score!=null);return{avg:n.length?n.reduce((o,a)=>o+a.score,0)/n.length:null,scored:n.length,cleared:n.filter(o=>o.score>=.7).length,below:n.filter(o=>o.score<.7).length,skipped:r.filter(o=>o.skipped).length}},Z$=20,mg=(e=[],t=null)=>Number.isFinite(t)?Math.max(t,e.length):e.length,ME=(e=[],t=null)=>{let r=mg(e,t),n=e.length=Z$;return`${At(r,"run")}${n?` \xB7 latest ${e.length}`:""}`},ip=(e,t,r=[],n=null)=>Number.isFinite(e?.number)?e.number:mg(r,n)-t,vg=(e,t,{olderNumber:r=t?.number,comparable:n=!0}={})=>{if(!e||e.status!=="complete")return null;if(!t)return{text:"first run",tone:"muted"};let o=Number.isFinite(r)?`#${r}`:"previous";if(t.status!=="complete")return{text:`${o} ${t.status}`,tone:"muted"};if(!n)return{text:"partial run",tone:"muted"};let a=(e.samples_passed||0)-(t.samples_passed||0);return a===0?{text:`same as ${o}`,tone:"muted"}:{text:`${a>0?"+":""}${a} passed vs ${o}`,tone:a>0?"success":"error"}},vl=e=>{let t=e?.usage;if(!t||typeof t!="object")return null;let r=t.replays??t.samples??null,n=t.cost??null,o=r!=null||n!=null?{cost:n,count:r||0,unit:t.replays!=null?"replay":"sample",perInteraction:t.per_interaction??(n!=null&&r?n/r:null),inputTokens:t.input_tokens??null,outputTokens:t.output_tokens??null,modelTimeMs:t.model_time_ms??null}:null,a=t.judge,i=a&&typeof a=="object"?{cost:a.cost??null,calls:a.calls||0,byKind:a.by_kind||{},model:a.model||null,inputTokens:a.input_tokens??null,outputTokens:a.output_tokens??null}:null;if(!o&&!i)return null;let l=o?.cost!=null||i?.cost!=null?(o?.cost||0)+(i?.cost||0):null;return{agent:o,judge:i,total:l,runtimeMs:t.runtime_ms??null}},fw=e=>{if(!e)return"";let t=["define","score","recommend","verdict"];return Object.entries(e.byKind||{}).sort(([n],[o])=>t.indexOf(n)-t.indexOf(o)).map(([n,o])=>`${n} ${o}`).join(" \xB7 ")},Q$=(e=[])=>{let t=null,r=0,n=null,o=0;return e.forEach(a=>{let i=vl(a);i&&(o+=1,i.agent?.cost!=null&&(t=(t||0)+i.agent.cost,r+=i.agent.count||0),i.judge?.cost!=null&&(n=(n||0)+i.judge.cost))}),{agentCost:t,interactions:r,perInteraction:t!=null&&r?t/r:null,judgeCost:n,priced:o}},pw=(e,t)=>{if(!t)return[];let r=[],n=`/agents/${e?.agent?.id}/run`;t.status==="failed"&&r.push({kind:"failed",label:"run failed",scope:Number.isFinite(t.number)?`run #${t.number}`:"latest run",text:t.error_message||"The run ended before any criterion was scored.",action:{label:"Run agent",path:n,hint:"Run Agent ->"}});let o=Array.isArray(t.scores?._missing_models)?t.scores._missing_models:[];o.length&&r.push({kind:"missing",label:`no generations \xD7${o.length}`,scope:"comparison cohorts",text:"The comparison asked for these models, but the agent has no recorded generations under them. Run the agent under each model, then run the evaluation again.",chipsLabel:"missing models",chips:o,action:{label:"Run agent",path:n,hint:"Run Agent ->"}});let a={judge:[],telemetry:[],rules:[]},i=[];ap(t).forEach(([u,c])=>{let d=pg(e,u);(OE(c)?Object.entries(c):[[null,c]]).forEach(([p,m])=>{!m||typeof m!="object"||(m.skipped?a[di(d)].push({key:u,model:p,reason:m.reason}):m.score!=null&&m.score<.7&&i.push({key:u,model:p,stats:m,criterion:d}))})});let l=u=>[...new Set(u.map(c=>c.key))],s=u=>`${l(u).length} ${l(u).length===1?"criterion":"criteria"}`;if(a.judge.length&&r.push({kind:"judge",label:`judge skipped \xD7${a.judge.length}`,scope:s(a.judge),text:a.judge[0].reason||"The LLM judge could not score these criteria.",chipsLabel:"unscored criteria",chips:l(a.judge),action:{label:"Add provider key",path:"/settings",hint:"Settings ->"}}),a.telemetry.length&&r.push({kind:"telemetry",label:`no telemetry \xD7${a.telemetry.length}`,scope:s(a.telemetry),text:a.telemetry[0].reason||"No traces were recorded for this agent in the criterion window.",chipsLabel:"unscored criteria",chips:l(a.telemetry),action:{label:"Open traces",path:"/traces",hint:"Traces ->"}}),a.rules.length&&r.push({kind:"samples",label:`no samples \xD7${a.rules.length}`,scope:s(a.rules),text:a.rules[0].reason||"No generation could be scored against these criteria.",chipsLabel:"unscored criteria",chips:l(a.rules),action:{label:"Run agent",path:n,hint:"Run Agent ->"}}),i.length){let u=[...new Set(i.map(c=>c.model).filter(Boolean))];r.push({kind:"below",label:`below pass mark \xD7${i.length}`,scope:`${s(i)}${u.length?` \xB7 ${At(u.length,"model")}`:""}`,text:`Scored under the ${.7.toFixed(2)} pass mark. Each line is what the criterion expects against how the samples did; tighten the agent's instructions or revisit the budget before running again.`,details:i.map(c=>`${c.key}${c.model?` \xB7 ${c.model}`:""} ${c.stats.score.toFixed(2)} \xB7 expects ${op(c.criterion)} \xB7 ${c.stats.passed}/${c.stats.total} passed`)})}return r};var kt=te(re());var gl=te(re());var Wue="What the agent spent answering \u2014 the operating cost of these interactions, and of one on average",Hue="What the judge model spent scoring, recommending and ruling \u2014 the evaluation's own offline cost",mw=e=>e?.agent?.unit==="replay"?"replay":"sampled interaction",yl=e=>e==null?"\u2014":jr(e,Math.abs(Number(e))<.001?6:4),J$=e=>{if(!e)return null;let t=[];if(e.agent){let r=[`agent ${jr(e.agent.cost)}`,At(e.agent.count,mw(e))];e.agent.perInteraction!=null&&r.push(`${yl(e.agent.perInteraction)} each`),t.push(r.join(" \xB7 "))}return e.judge&&t.push(`judge ${jr(e.judge.cost)} \xB7 ${At(e.judge.calls,"call")}`),t.join(" \xB7 ")};function PE({label:e,value:t,sub:r,title:n,valueColor:o,testId:a,first:i=!1}){return gl.default.createElement("div",{"data-testid":a,title:n,style:{padding:"10px 16px",minWidth:0,borderLeft:i?"none":"1px solid var(--color-border-light)"}},gl.default.createElement(et,{size:10,color:"var(--color-text-muted)"},e),gl.default.createElement("div",{style:{marginTop:4,fontFamily:ce,fontSize:18,fontWeight:700,lineHeight:1.1,color:o||"var(--color-text-primary)"}},t),gl.default.createElement("div",{style:{marginTop:4,fontFamily:ce,fontSize:11,color:"var(--color-text-secondary)",textWrap:"pretty"}},r))}function DE({spend:e,testId:t="run-spend"}){if(!e)return null;let{agent:r,judge:n,total:o}=e,a=r&&(r.inputTokens!=null||r.outputTokens!=null)?` \xB7 in ${Ir(r.inputTokens)} \xB7 out ${Ir(r.outputTokens)}`:"";return gl.default.createElement(ht,{padding:0,testId:t,style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",overflow:"hidden"}},gl.default.createElement(PE,{first:!0,label:"Agent cost",title:Wue,value:r?jr(r.cost):"\u2014",sub:r?`${At(r.count,mw(e))}${r.perInteraction!=null?` \xB7 ${yl(r.perInteraction)} per interaction`:""}${a}`:"nothing replayed or sampled",testId:"run-spend-agent"}),gl.default.createElement(PE,{label:"Judge cost",title:Hue,value:n?jr(n.cost):"\u2014",valueColor:n?void 0:"var(--color-text-muted)",sub:n?[At(n.calls,"call"),fw(n),n.model,"offline"].filter(Boolean).join(" \xB7 "):"no judge asked \xB7 rules only",testId:"run-spend-judge"}),gl.default.createElement(PE,{label:"Total",title:"Agent and judge together \u2014 what this run cost end to end",value:o!=null?jr(o):"\u2014",sub:r&&n?"agent + judge":r?"agent only":"judge only",testId:"run-spend-total"}))}function IE({run:e,testId:t}){if(!e)return kt.default.createElement(Tt,{tone:"muted",testId:t},"no runs");if(e.status==="failed")return kt.default.createElement(Tt,{tone:"error",testId:t},"failed");if(e.status==="pending")return kt.default.createElement(Tt,{tone:"warning",testId:t},"queued");if(e.status==="running")return kt.default.createElement(Tt,{tone:"warning",testId:t},"running");if(e.samples_evaluated)return kt.default.createElement(Tt,{tone:fc(Y$(e)),testId:t},`${e.samples_passed||0}/${e.samples_evaluated} passed`);if(e.average_score!=null){let r=Number(e.average_score);return kt.default.createElement(Tt,{tone:r>=.85?"success":r>=.7?"warning":"error",testId:t,title:"mean score across criteria"},`score ${wa(r)}`)}return kt.default.createElement(Tt,{tone:"muted",testId:t},"no samples")}var R$={success:"var(--color-success)",error:"var(--color-error)",muted:"var(--color-text-muted)"},eF=Lo.cost+16,Vue=e=>dw(e).filter(t=>t.samples>0).map(t=>({label:t.label,short:Bo(t.label||"").short||"all samples",passed:t.passed,total:t.samples}));function gg({runs:e=[],runCount:t=null,evaluation:r,agentName:n,selectedId:o=null,onOpen:a,previousRun:i=null,barsFor:l=null,deltaFor:s=null,title:u="Runs",testId:c="suite-runs-panel"}){let{darkMode:d}=Nt(),f=e.map((p,m)=>{let g=ip(p,m,e,t),h=e[m+1]||(m===0&&e.length===1?i:null),v=h?Number.isFinite(h.number)?h.number:g-1:null,y=s?s(p,h,v):vg(p,h,{olderNumber:v}),b=vl(p);return{run:p,number:g,latest:m===0,when:ci(p.completed_at||p.created_at),meta:`@${n||r?.agent?.name||"agent"} \xB7 ${pc(r,p)} \xB7 ${cw(r,p)}`,bars:l?l(p):Vue(p),delta:y,spend:b,selected:p.id===o}});return kt.default.createElement(H$,{title:u,meta:ME(e,t),testId:c,bodyStyle:{overflowX:"auto"}},f.length===0&&kt.default.createElement(An,null,"[ ] no runs yet"),kt.default.createElement("div",{style:{minWidth:880}},f.map(p=>kt.default.createElement("div",{key:p.run.id,role:"button",tabIndex:0,"data-testid":"evaluation-run","data-run-id":p.run.id,"data-selected":p.selected?"true":"false",onClick:()=>a?.(p.run),onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),a?.(p.run))},className:p.selected?void 0:"hover:bg-[var(--color-hover)]",style:{display:"grid",gridTemplateColumns:"minmax(220px, 1.4fr) minmax(180px, 1fr) auto",gap:16,alignItems:"center",padding:"10px 14px 10px 12px",borderTop:"1px solid var(--color-border-light)",cursor:"pointer",background:p.selected?"var(--color-muted)":void 0,borderLeft:`2px solid ${p.selected?"var(--color-accent-ui)":"transparent"}`}},kt.default.createElement("div",{style:{minWidth:0}},kt.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},kt.default.createElement("span",{style:{fontFamily:ce,fontSize:12,fontWeight:700,color:"var(--color-text-primary)"}},`Run #${p.number}`),kt.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},p.when),p.latest&&kt.default.createElement(Tt,{tone:"info",size:10,style:{padding:"1px 6px"}},"latest"),p.run.status==="failed"&&kt.default.createElement(Tt,{tone:"error",size:10,style:{padding:"1px 6px"}},"failed"),(p.run.status==="running"||p.run.status==="pending")&&kt.default.createElement(Tt,{tone:"warning",size:10,style:{padding:"1px 6px"}},p.run.status==="pending"?"queued":"running")),kt.default.createElement("div",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)",marginTop:3,textWrap:"pretty"}},p.meta),p.run.status==="failed"&&p.run.error_message&&kt.default.createElement("div",{style:{fontFamily:ce,fontSize:11,color:"var(--color-error)",marginTop:3,textWrap:"pretty"}},`[!] ${p.run.error_message}`)),kt.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:4,minWidth:0}},p.bars.map(m=>m.passed==null||m.total==null?kt.default.createElement("div",{key:m.label||"all",style:{display:"flex",alignItems:"center",gap:8}},kt.default.createElement("span",{style:{fontFamily:ce,fontSize:10,color:"var(--color-text-muted)",width:128,flexShrink:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:m.label||void 0},m.short),kt.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},"\u2014")):kt.default.createElement(V$,{key:m.label||"all",label:m.short,passed:m.passed,total:m.total}))),kt.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12}},kt.default.createElement(Jf,{darkMode:d,cells:[{key:"agent",width:eF,title:p.spend?.agent?`Agent: ${At(p.spend.agent.count,mw(p.spend))}${p.spend.agent.perInteraction!=null?` \xB7 ${yl(p.spend.agent.perInteraction)} per interaction`:""}`:void 0,empty:"Agent cost: nothing replayed or sampled in this run",content:p.spend?.agent?.cost!=null&&kt.default.createElement("span",{style:{fontFamily:ce,fontSize:11}},kt.default.createElement("span",{style:{color:"var(--color-text-muted)"}},"agent "),jr(p.spend.agent.cost))},{key:"judge",width:eF,title:p.spend?.judge?`Judge: ${At(p.spend.judge.calls,"call")} \xB7 ${fw(p.spend.judge)} \xB7 offline`:void 0,empty:"Judge cost: no judge was asked in this run",content:p.spend?.judge?.cost!=null&&kt.default.createElement("span",{style:{fontFamily:ce,fontSize:11}},kt.default.createElement("span",{style:{color:"var(--color-text-muted)"}},"judge "),jr(p.spend.judge.cost))},{key:"delta",width:128,title:p.delta?"Samples passed, against the run before":void 0,empty:"Movement is read once the run completes",content:p.delta&&kt.default.createElement("span",{style:{fontFamily:ce,fontSize:11,fontWeight:600,color:R$[p.delta.tone]||R$.muted}},p.delta.text)},{key:"badge",width:108,content:kt.default.createElement(IE,{run:p.run,testId:p.latest?"suite-pass-badge":void 0})},{key:"open",width:20,content:kt.default.createElement(Fa,{kind:"link",color:"var(--color-info)",weight:400})}]}))))))}var tF=(e=[],t=null)=>{let r=e[0],n=Number.isFinite(t)?Math.max(t,e.length):e.length;return[At(n,"run"),r?`latest #${ip(r,0,e,t)} ${ci(r.completed_at||r.created_at)}`:null,r?.status==="complete"&&r.samples_evaluated?`${r.samples_passed||0}/${r.samples_evaluated} passed`:null].filter(Boolean).join(" \xB7 ")};var Cn=te(re());function vc({evaluation:e,run:t=null,keys:r=null,spend:n=null,reportPath:o=null,onDelete:a,deleting:i=!1,deleteLabel:l="Delete evaluation"}){let s=(r||(e.criteria||[]).map(p=>p.key)).map(p=>pg(e,p)),u={fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"},c={fontFamily:ce,fontSize:11,color:"var(--color-text-cell)"},d=(p,m,g)=>Cn.default.createElement("span",{"data-testid":m,title:g,style:{...u,fontSize:10,textTransform:"uppercase",letterSpacing:"0.04em",marginLeft:2}},p),f=J$(n);return Cn.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:6,paddingTop:12,borderTop:"1px solid var(--color-border-light)"},"data-testid":"criteria-footer"},Cn.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",rowGap:4}},Cn.default.createElement("span",{style:u},"judge"),Cn.default.createElement("span",{style:{...c,fontWeight:600}},cw(e,t)),Cn.default.createElement("span",{style:{...u,marginLeft:8}},"criteria"),s.length===0&&Cn.default.createElement("span",{style:u},e.judge_kind==="judge_defined"?"defined by the judge on the first run":e.scenario_suite?"each scenario's own expectations":"\u2014"),s.map((p,m)=>Cn.default.createElement(Cn.default.Fragment,{key:p.key||m},m>0&&Cn.default.createElement("span",{style:u},"\xB7"),Cn.default.createElement("span",{style:c,title:op(p)||void 0},uw(p)),di(p)==="telemetry"&&d("telemetry","score-source-telemetry","Scored from the agent's telemetry traces, not from sampled generations"),di(p)==="judge"&&d("judge",void 0,"Scored by the judge model; needs provider credentials")))),Cn.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:16,flexWrap:"wrap",rowGap:4}},Cn.default.createElement("span",{style:{...u,whiteSpace:"nowrap"},title:"Run this evaluation again from the API"},"POST /api/evaluations/",e.id,"/run"),f&&Cn.default.createElement("span",{style:{...u,minWidth:0,textWrap:"pretty"},title:"Estimated spend of this run: the agent's replays or sampled interactions, and the judge's own calls"},f),o&&Cn.default.createElement(rp,{href:Re(o),onClick:()=>Ds(o),title:"The run rendered as a report page"},"run report"),a&&Cn.default.createElement("button",{type:"button",onClick:p=>{p.stopPropagation(),a()},disabled:i,title:"Delete this evaluation and its runs",style:{marginLeft:"auto",background:"transparent",border:"none",padding:0,cursor:i?"not-allowed":"pointer",fontFamily:ce,fontSize:11,color:"var(--color-error)",opacity:i?.5:1}},i?"Deleting\u2026":l)))}var he=te(re());var Rt=te(re());var Kue=e=>e>=.85?"success":e>=.7?"warning":"error";function vw({label:e,children:t,title:r,nowrap:n=!0}){return Rt.default.createElement("span",{style:{whiteSpace:n?"nowrap":"normal"},title:r},e," ",Rt.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},t))}function yg({label:e,short:t,provider:r,winner:n=!1,passed:o,total:a,avgScore:i,criteria:l,latencyMs:s,inputTokens:u,outputTokens:c,cost:d,perInteraction:f,unit:p="interaction",badges:m=[],note:g,testId:h="model-scorecard"}){let v=o!=null&&a>0,y=v?o/a:null,b=v?fc(y):i!=null?Kue(i):"muted",x=ml[b].strong;return Rt.default.createElement(ht,{padding:"14px 16px",testId:h,style:{display:"flex",flexDirection:"column",gap:10,minWidth:0}},Rt.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},Rt.default.createElement("span",{style:{fontFamily:ce,fontSize:14,fontWeight:700,color:"var(--color-text-primary)"},title:e||void 0},t||e||"all samples"),r&&Rt.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},r),n&&Rt.default.createElement(Tt,{tone:"info",size:10,style:{padding:"1px 6px"},testId:"judges-pick"},"judge's pick")),Rt.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8}},Rt.default.createElement("span",{style:{fontFamily:ce,fontSize:26,fontWeight:700,lineHeight:1,color:x}},v?`${o}/${a}`:i!=null?wa(i):"\u2014"),Rt.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-secondary)"}},v?`${p==="scenario"?"scenarios":"samples"} passed`:i!=null?"mean score":"nothing scored")),Rt.default.createElement("span",{style:{display:"block",height:6,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},Rt.default.createElement("span",{style:{display:"block",height:"100%",borderRadius:999,background:x,width:`${Math.round((y??i??0)*100)}%`}})),Rt.default.createElement("div",{style:{display:"flex",gap:14,flexWrap:"wrap",fontFamily:ce,fontSize:11,color:"var(--color-text-secondary)"}},Rt.default.createElement(vw,{label:"score"},i!=null?Number(i).toFixed(3):"\u2014"),l&&Rt.default.createElement(vw,{label:"criteria"},l.cleared,"/",l.scored),s!=null&&Rt.default.createElement(vw,{label:"latency"},kn(s)),(u!=null||c!=null)&&Rt.default.createElement("span",{style:{whiteSpace:"nowrap"}},Rt.default.createElement("span",{style:{color:"var(--color-token-in)"}},"in")," ",Rt.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},NE(u))," \xB7 ",Rt.default.createElement("span",{style:{color:"var(--color-token-out)"}},"out")," ",Rt.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},NE(c))),d!=null&&Rt.default.createElement(vw,{label:"cost",title:`What the agent spent under this model${f!=null?` \u2014 ${yl(f)} per ${p}`:""}`},jr(d),f!=null&&Rt.default.createElement("span",{style:{fontWeight:400,color:"var(--color-text-muted)"}},` \xB7 ${yl(f)} / ${p}`))),(m.length>0||g)&&Rt.default.createElement("div",{style:{display:"flex",gap:6,flexWrap:"wrap",alignItems:"center"}},m.map(S=>Rt.default.createElement(Tt,{key:S.text,tone:S.tone,testId:S.testId},S.text)),g&&Rt.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:g.color||"var(--color-text-muted)"}},g.text)))}var Is=e=>[...new Set(e)],hg=e=>String(e||"").replace(/_/g," "),js=e=>e?.status==="passed",gc=e=>!!e&&e.status!=="pending",yc=e=>!!e&&["pending","running"].includes(e.status),gw=e=>e?.selection||e?.scores?._selection||{},que=e=>(gw(e).models||[]).map(t=>typeof t=="string"?t:t?.label).filter(Boolean);function xg(e,t=[],r=null){if(Array.isArray(e?.models)&&e.models.length)return e.models;let n=Object.keys(e?.scores?._models||{});if(n.length)return n;let o=que(e);if(o.length)return o;let a=Is(t.map(l=>bg(e,l)));if(a.length)return a;let i=r?.compare_models||[];return i.length?i:e?["agent's model"]:[]}function bg(e,t){let n=(gw(e).models||[]).filter(i=>i&&typeof i=="object").find(i=>i.model===t.model&&(i.provider||"")===(t.provider||""));if(n?.label)return n.label;let o=e?.scores?._models||{};if(o[t.model])return t.model;let a=[t.provider,t.model].filter(Boolean).join("/");return o[a]?a:t.model}function zE(e,t){let r=e?.scores?._models?.[t],n=(gw(e).models||[]).find(o=>o&&typeof o=="object"&&o.label===t);return Bo(t,r?.provider||n?.provider||"")}function LE(e,t=[]){let r=gw(e);if(Array.isArray(r.scenario_keys)&&r.scenario_keys.length)return r.scenario_keys;if(!e)return[];if(Array.isArray(r.keys)&&r.keys.length)return r.keys;if(Array.isArray(r.scenario_ids)&&r.scenario_ids.length){let o=r.scenario_ids.map(String);return t.filter(a=>o.includes(String(a.id))).map(a=>a.key)}let n=t.filter(o=>o.enabled!==!1);return r.group?n.filter(o=>o.group===r.group).map(o=>o.key):yc(e)?n.map(o=>o.key):[]}function lp(e,t=[],r=[]){let n=LE(e,r);if(n.length)return n.length;let o=Object.values(e?.scores?._models||{});return o.length?Math.max(...o.map(a=>a.scenarios||0)):e?.samples_evaluated&&t.length?Math.round(e.samples_evaluated/t.length):0}function BE(e,t,r=[],n=0){let o=e?.scores?._models?.[t];if(o&&o.scenarios!=null)return{passed:o.passed||0,total:o.scenarios||0};let a=r.filter(i=>bg(e,i)===t);return{passed:a.filter(js).length,total:n||a.length}}function rF(e,t=[],r=[],n=[]){if(e?.status==="complete"&&e.samples_evaluated!=null)return{passed:e.samples_passed||0,total:e.samples_evaluated||0};let o=lp(e,r,n)*Math.max(r.length,1);return{passed:t.filter(js).length,total:o}}function nF(e,t=[]){let r=[],n={};return(Array.isArray(e)?e:[]).forEach(o=>{let a=typeof o=="string"?o:String(o?.name||"");a&&(n[a]||(n[a]={name:a,count:0,errored:!1},r.push(a)),n[a].count+=1,o&&typeof o=="object"&&o.error&&(n[a].errored=!0))}),r.map(o=>{let a=n[o],i=t.includes(o);return{...a,hit:i,label:`${o}${a.errored?" \u2717":""}${a.count>1?` \xD7${a.count}`:""}`,color:a.errored?"var(--color-error)":i?"var(--color-success-text)":"var(--color-text-muted)",weight:a.errored||i?600:400}})}var Gue=(e,t)=>{let r=String(e||"").trim();return r.length>t?`${r.slice(0,t-1)}\u2026`:r},jE=e=>e?.diagnosis?.judge?.instruction_change;function oF(e,t=[]){let r=e?.scores?._recommendations||[];if(Array.isArray(e?.fix_items)){let a=r.length>0||t.some(jE);if(e.fix_items.length>0||!a)return e.fix_items}let n=r.map(a=>Yue(a,t)),o=new Set;return t.forEach(a=>{let i=jE(a);if(!i||o.has(i))return;o.add(i);let l=t.filter(s=>jE(s)===i);n.push({kind:"instruction",fault:"instruction change",count:l.length,scenario_keys:Is(l.map(s=>s.scenario_key)),models:Is(l.map(s=>bg(e,s))),recommendation:a.diagnosis.judge.recommendation||a.recommendation||"",quote:i,tools_label:null,tools:[],server:null,note:null,action:{label:"Add to instructions",hint:"Agent -> Instructions",path:null}})}),n}function Yue(e,t){let r=e.fault,n=t.filter(u=>u.fault===r),o=(e.suggested_tools||[]).map(u=>typeof u=="string"?u:u?.name).filter(Boolean),a=null,i=[],l=null,s=null;if(r==="expected_tool_not_called"){a="missing tools";let u=Is(n.flatMap(d=>d.diagnosis?.evidence?.unavailable||[]));u.length||(u=Is(n.flatMap(d=>{let f=d.diagnosis?.evidence||{};return(f.expected||[]).filter(p=>!(f.called||[]).includes(p))}))),i=u.map(d=>({name:d,note:null,server:null}));let c=n.filter(d=>d.diagnosis?.summary&&(d.diagnosis?.evidence?.unavailable||[]).length===0);c.length&&c.length`${d.scenario_key} is the exception: ${d.diagnosis.summary} ${d.diagnosis.recommendation||""}`.trim()).join(" "))}else if(r==="tool_error"){a="failing tools";let u={};n.forEach(c=>(c.tool_calls||[]).forEach(d=>{!d||typeof d!="object"||!d.error||!d.name||u[d.name]||(u[d.name]={name:d.name,note:Gue(d.detail,60)||null,server:null})})),i=Object.values(u),s={label:"Open failing tools",hint:"Tools ->",path:"/tools"}}else a=o.length?"suggested tools":null,i=Is(o).map(u=>({name:u,note:null,server:null}));return!s&&a==="suggested tools"&&i.length&&(s={label:"Open suggested tools",hint:"Tools ->",path:"/tools"}),{kind:"fault",fault:r,count:e.count||n.length,scenario_keys:e.scenario_keys||Is(n.map(u=>u.scenario_key)),models:e.models||[],recommendation:e.recommendation||"",quote:null,tools_label:a,tools:i,server:null,note:l,action:s}}var Nn=(e,t="var(--color-text-muted)",r={})=>({fontFamily:ce,fontSize:e,color:t,...r});function aF({calls:e,empty:t,style:r}){return he.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"2px 8px",fontFamily:ce,fontSize:11,...r}},e.map(n=>he.default.createElement("span",{key:n.name,style:{color:n.color,fontWeight:n.weight}},n.label)),e.length===0&&he.default.createElement("span",{style:{color:"var(--color-text-muted)"}},t))}function iF({run:e,columns:t,results:r=[],scenarioCount:n=0,judgedBy:o,verdict:a}){let i=e?.scores?._models||{};return he.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10},"data-testid":"suite-models-panel"},he.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:10}},he.default.createElement(et,null,"Models"),o&&he.default.createElement("span",{style:Nn(11)},`judged by ${o}`)),t.length===0&&he.default.createElement(An,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"[ ] no models scored yet"),t.length>0&&he.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(260px, 1fr))",gap:12}},t.map(l=>{let{short:s,provider:u}=zE(e,l),c=i[l],{passed:d,total:f}=BE(e,l,r,n),p=Object.entries(c?.faults||{}),m=c&&p.length===0?{text:"[+] no faults",color:"var(--color-success-text)"}:!c&&yc(e)?{text:"scoring\u2026"}:null;return he.default.createElement(yg,{key:l,label:l,short:s,provider:u,winner:a?.winner===l,passed:d,total:f,avgScore:c?.avg_score,latencyMs:c?.avg_duration_ms,inputTokens:c?.input_tokens,outputTokens:c?.output_tokens,cost:c?.cost,perInteraction:c?.cost!=null&&c.scenarios?c.cost/c.scenarios:null,unit:"scenario",badges:p.map(([g,h])=>({tone:"error",text:`${hg(g)} \xD7${h}`})),note:m})})),a?.rationale&&he.default.createElement(ht,{padding:"12px 16px",testId:"suite-verdict",style:{display:"flex",flexDirection:"column",gap:6}},he.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},he.default.createElement(et,null,"Verdict"),a.judge&&he.default.createElement("span",{style:Nn(11)},`judged by ${a.judge}`)),he.default.createElement("div",{style:{fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",textWrap:"pretty"}},he.default.createElement("strong",{style:{color:"var(--color-text-primary)",fontFamily:ce,fontSize:12}},a.winner),a.rationale?` \xB7 ${a.rationale}`:"")))}function lF({items:e,columns:t=[],agentName:r,onNavigate:n,onOpenScenario:o}){let a=i=>{let l=At((i.scenario_keys||[]).length,"scenario");if(i.kind==="instruction")return`${(i.scenario_keys||[]).join(", ")} \xB7 judge suggestion`;let s=Is(i.models||[]);if(t.length<=1||s.length===0)return l;let c=s.length>=t.length?t.length===2?"both models":"all models":s.map(d=>Bo(d).short).join(", ");return`${l} \xB7 ${c}`};return he.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:12}},e.map((i,l)=>{let s=i.kind==="instruction",u=s?"info":"error",c=[],d=new Set;(i.tools||[]).forEach(g=>{let h=typeof g=="string"?g:g?.name;!h||d.has(h)||(d.add(h),c.push({name:h,note:typeof g=="object"&&(g.note||g.server?.name)||null}))});let f=i.server,p=f?.status==="enabled",m=r||"the agent";return he.default.createElement("div",{key:`${i.fault}-${l}`,"data-testid":"scenario-recommendation",style:{border:"1px solid var(--color-border)",borderRadius:10,padding:"12px 14px",display:"flex",flexDirection:"column",gap:10,minWidth:0}},he.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},he.default.createElement(Fa,{kind:s?"info":"fault"}),he.default.createElement(Tt,{tone:u},`${hg(i.fault)}${i.count>1?` \xD7${i.count}`:""}`),o&&(i.scenario_keys||[]).length>0?he.default.createElement("button",{type:"button",onClick:()=>o(i.scenario_keys),title:`Show ${(i.scenario_keys||[]).join(", ")} \u2014 the question, the answer and the tools it called`,style:{...Nn(11),background:"none",border:0,padding:0,cursor:"pointer",color:"var(--color-text-link, var(--color-text-primary))",textDecoration:"underline",textUnderlineOffset:2}},a(i)):he.default.createElement("span",{style:Nn(11)},a(i))),i.recommendation&&he.default.createElement("p",{style:{margin:0,fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",textWrap:"pretty"}},i.recommendation),i.quote&&he.default.createElement("div",{style:{background:"var(--color-muted)",borderRadius:8,padding:"8px 10px",fontSize:12,lineHeight:"18px",color:"var(--color-text-cell)",fontStyle:"italic"}},"\u201C",i.quote,"\u201D"),c.length>0&&he.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:6}},he.default.createElement(et,{size:10,color:"var(--color-text-muted)"},i.tools_label||"tools"),he.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:6}},c.map(g=>he.default.createElement("span",{key:g.name,style:{display:"inline-flex",alignItems:"center",gap:6,padding:"3px 8px",borderRadius:6,border:"1px solid var(--color-border)",fontFamily:ce,fontSize:11,maxWidth:"100%"}},he.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},g.name),g.note&&he.default.createElement("span",{style:{color:"var(--color-text-muted)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:g.note},g.note))))),f&&he.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",fontSize:12,color:"var(--color-text-cell)"}},he.default.createElement("span",null,"served by"),he.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},f.name||f.key),he.default.createElement(Tt,{tone:p?"success":"warning",size:10,style:{padding:"1px 6px"}},p?`enabled for ${m}`:`${f.status||"unknown"} \xB7 not enabled for ${m}`)),i.note&&he.default.createElement("div",{style:{fontSize:12,lineHeight:"18px",color:"var(--color-text-secondary)",textWrap:"pretty"}},i.note),i.action&&he.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:"auto",paddingTop:2,flexWrap:"wrap"}},i.action.path&&he.default.createElement(mr,{size:"sm",onClick:()=>n?.(i.action.path)},i.action.label),i.action.hint&&he.default.createElement("span",{style:{...Nn(11),whiteSpace:"nowrap"}},i.action.hint)))}))}var Xue=e=>`minmax(240px, 1.6fr) 150px ${e.map(()=>"minmax(170px, 1fr)").join(" ")}`;function Zue({result:e,expects:t,pending:r}){if(!e)return he.default.createElement("span",{style:{...Nn(12),fontWeight:600}},r?"\u2026":"\u2014");if(!gc(e))return he.default.createElement("span",{style:{...Nn(12),fontWeight:600}},"\u2026");let n=js(e),o=n?"var(--color-success)":"var(--color-error)",a=nF(e.tool_calls,t);return he.default.createElement("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:3}},he.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6,flexWrap:"wrap",fontFamily:ce,fontSize:12}},he.default.createElement("span",{style:{fontWeight:700,color:o}},n?"[+]":"[!]"),he.default.createElement("span",{style:{fontWeight:600,color:o}},wa(e.score)),e.fault&&he.default.createElement("span",{style:{fontSize:11,color:"var(--color-error-text)"}},hg(e.fault))),he.default.createElement(aF,{calls:a,empty:"no tools called"}))}function sF({rows:e,columns:t,run:r,resultsByKey:n,runKeys:o,running:a,openKey:i,onToggleRow:l,emptyLabel:s,renderDetail:u}){let c=Xue(t),d=e.some(p=>p.group),f=[];return e.forEach(p=>{let m=p.group||"",g=f.find(h=>h.name===m);g||(g={name:m,rows:[]},f.push(g)),g.rows.push(p)}),he.default.createElement("div",{style:{border:"1px solid var(--color-border-light)",borderRadius:10,overflowX:"auto"}},he.default.createElement("div",{style:{minWidth:Math.max(760,400+180*t.length)}},he.default.createElement("div",{style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"8px 12px",background:"var(--color-muted)",alignItems:"end"}},he.default.createElement(et,{size:10,color:"var(--color-text-muted)"},"Scenario"),he.default.createElement(et,{size:10,color:"var(--color-text-muted)"},"Expects"),t.map(p=>{let{short:m,provider:g}=zE(r,p);return he.default.createElement("span",{key:p,style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},title:p},he.default.createElement("span",{style:{fontFamily:ce,fontSize:11,fontWeight:600,color:"var(--color-text-primary)"}},m),he.default.createElement("span",{style:Nn(10)},g||"\xA0"))})),f.map(p=>{let m=p.rows.filter(h=>o.has(h.key)||n[h.key]),g=t.map(h=>{let y=m.filter(S=>gc(n[S.key]?.[h])).filter(S=>js(n[S.key][h])).length,b=m.length,x=b&&y===b?"var(--color-success-text)":y===0?"var(--color-error-text)":"var(--color-text-cell)";return{label:h,text:b?`${y}/${b} passed`:"\u2014",color:x}});return he.default.createElement("div",{key:p.name||"__ungrouped"},(p.name||d)&&he.default.createElement("div",{style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"7px 12px",borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",alignItems:"center"}},he.default.createElement("span",{style:{fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},p.name||"ungrouped"),he.default.createElement("span",{style:Nn(11)},At(p.rows.length,"scenario")),g.map(h=>he.default.createElement("span",{key:h.label,style:{fontFamily:ce,fontSize:11,fontWeight:600,color:h.color}},h.text))),p.rows.map(h=>{let v=i===h.key,y=h.expectations?.tools||[],b=o.has(h.key)||!!n[h.key],x=h.enabled===!1;return he.default.createElement("div",{key:h.key},he.default.createElement("div",{"data-testid":"scenario-row","data-scenario-key":h.key,onClick:()=>l(h.key),className:v?void 0:"hover:bg-[var(--color-hover)]",style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"10px 12px",borderTop:"1px solid var(--color-border-light)",cursor:"pointer",background:v?"var(--color-muted)":void 0,opacity:x?.5:1}},he.default.createElement("div",{style:{minWidth:0}},he.default.createElement("div",{style:{...Nn(11),marginBottom:2}},`${h.key}${x?" \xB7 disabled":""}`),he.default.createElement("div",{style:{fontSize:13,lineHeight:"18px",color:"var(--color-text-primary)",textWrap:"pretty"}},h.prompt)),he.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:4,alignContent:"flex-start",minWidth:0}},y.map(S=>he.default.createElement("span",{key:S,style:{fontFamily:ce,fontSize:11,padding:"2px 6px",border:"1px solid var(--color-border)",borderRadius:4,color:"var(--color-text-cell)",whiteSpace:"nowrap"}},S)),y.length===0&&(h.expectations?.contains||[]).map(S=>he.default.createElement("span",{key:`contains-${S}`,style:{fontFamily:ce,fontSize:11,padding:"2px 6px",border:"1px solid var(--color-border)",borderRadius:4,color:"var(--color-text-cell)",whiteSpace:"nowrap"},title:"the answer must contain this"},`contains: ${S}`))),t.map(S=>he.default.createElement(Zue,{key:S,result:n[h.key]?.[S],expects:y,pending:a&&b}))),v&&u(h))}))}),e.length===0&&he.default.createElement(An,{style:{borderTop:"1px solid var(--color-border-light)"}},s||"[+] nothing failed in this group")))}function Que(e){let t=[];return e.duration_ms!=null&&t.push(kn(e.duration_ms)),(e.input_tokens!=null||e.output_tokens!=null)&&t.push(`${Ir((e.input_tokens||0)+(e.output_tokens||0))} tokens`),e.cost!=null&&t.push(jr(e.cost)),t.join(" \xB7 ")}function Jue({label:e,run:t,result:r,expects:n,running:o}){let{short:a}=zE(t,e),i=he.default.createElement("span",{style:{fontFamily:ce,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"},title:e},a),l=(v,y)=>he.default.createElement("div",{"data-testid":"scenario-result-detail",style:{background:"var(--color-card)",border:"1px solid var(--color-border-light)",borderRadius:10,overflow:"hidden",minWidth:0}},he.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},i,y),he.default.createElement("div",{style:{padding:"10px 12px",display:"flex",flexDirection:"column",gap:10}},v));if(!r||!gc(r))return l(he.default.createElement("span",{style:Nn(11)},o?"waiting for this replay\u2026":"not part of this run"),he.default.createElement(Tt,{tone:"muted"},o?"pending":"no result"));let u=js(r)?"success":"error",c=nF(r.tool_calls,n),d=r.diagnosis||{},f=d.judge||{},p=r.fault||(r.status==="errored"?"run_error":null),m=[d.summary,d.recommendation||r.recommendation].filter(Boolean).join(" ")||r.error_message||"",g=Object.entries(r.scores||{}),h=Que(r);return l(he.default.createElement(he.default.Fragment,null,he.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,flexWrap:"wrap",fontFamily:ce,fontSize:11}},he.default.createElement(et,{size:10,color:"var(--color-text-muted)"},"tools"),he.default.createElement(aF,{calls:c,empty:"none called",style:{display:"contents"}})),p&&he.default.createElement("div",{style:{background:"var(--color-error-soft)",borderRadius:8,padding:"8px 10px",fontSize:12,lineHeight:"18px",color:"var(--color-error-text)",textWrap:"pretty"}},he.default.createElement("span",{style:{fontFamily:ce,fontWeight:700}},`[!] ${hg(p)}`),m?` \u2014 ${m}`:"",f.suggested_tool?.name&&he.default.createElement("div",{style:{marginTop:4,fontFamily:ce,fontSize:11}},`suggested tool: ${f.suggested_tool.name}${f.suggested_tool.description?` \u2014 ${f.suggested_tool.description}`:""}`),f.instruction_change&&he.default.createElement("div",{style:{marginTop:4,fontStyle:"italic"}},`instruction change: \u201C${f.instruction_change}\u201D`)),r.output?he.default.createElement("div",{style:{fontFamily:"var(--font-text)",fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",maxHeight:190,overflow:"auto",whiteSpace:"pre-wrap",textWrap:"pretty"}},r.output):he.default.createElement("div",{style:Nn(11)},"answer not retained for this run"),g.length>0&&he.default.createElement("div",{style:{...Nn(11),display:"flex",flexWrap:"wrap",gap:"2px 10px"},title:"score per criterion"},g.map(([v,y])=>he.default.createElement("span",{key:v},hg(v)," ",he.default.createElement("span",{style:{color:"var(--color-text-secondary)"}},y==null?"skipped":wa(y)))))),he.default.createElement(he.default.Fragment,null,he.default.createElement(Tt,{tone:u},r.score==null?r.status:`${r.status} \xB7 ${wa(r.score)}`),h&&he.default.createElement("span",{style:{marginLeft:"auto",...Nn(11)}},h)))}function uF({scenario:e,run:t,columns:r,resultsByKey:n,running:o,inRun:a=!0,onRerun:i,onToggleEnabled:l,canMutate:s=!0}){let u=e.expectations?.tools||[],c=n[e.key]||{},d=r.some(p=>c[p]),f=a||d;return he.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",padding:"12px 12px 14px"},"data-testid":"scenario-drilldown"},he.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:10,flexWrap:"wrap"}},he.default.createElement("span",{style:Nn(11)},e.key),he.default.createElement("span",{style:{fontSize:12,color:"var(--color-text-cell)"}},"expects"),he.default.createElement("span",{style:{fontFamily:ce,fontSize:11,fontWeight:600,color:"var(--color-text-primary)"}},u.join(" or ")||"\u2014"),s&&he.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:14}},he.default.createElement("button",{type:"button",onClick:p=>{p.stopPropagation(),l?.(e)},title:e.enabled===!1?"Enable this scenario":"Disable this scenario",style:{background:"transparent",border:"none",padding:0,cursor:"pointer",fontFamily:ce,fontSize:11,color:e.enabled===!1?"var(--color-text-muted)":"var(--color-text-cell)"}},e.enabled===!1?"[ ] enabled":"[x] enabled"),he.default.createElement(rp,{onClick:()=>i?.(e),title:"Run only this scenario under the selected models"},"re-run scenario"))),e.notes&&he.default.createElement("div",{style:{fontSize:12,fontStyle:"italic",color:"var(--color-text-secondary)",marginBottom:10}},e.notes),e.catalogChanged&&he.default.createElement("div",{style:{fontSize:12,color:"var(--color-text-secondary)",marginBottom:10}},"This run used an earlier version of this question. Re-running uses the current catalog."),t?f?he.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:12}},r.map(p=>he.default.createElement(Jue,{key:p,label:p,run:t,result:c[p],expects:u,running:o}))):he.default.createElement("div",{style:Nn(11)},"Not part of this run \u2014 use \u201Cre-run scenario\u201D to replay it."):he.default.createElement("div",{style:Nn(11)},"No runs yet \u2014 use \u201Cre-run scenario\u201D to replay this one on its own."))}var $E=()=>document.querySelector('meta[name="csrf-token"]')?.content;function Rue(e){let t=[],r=null;return e.forEach(n=>{(n.group||"")!==(r||"")&&(r=n.group,r&&t.push(`# ${r}`));let o=[],a=n.expectations||{};a.tools?.length&&o.push(`tools: ${a.tools.join(", ")}`),a.contains?.length&&o.push(`contains: ${a.contains.join(", ")}`),a.not_contains?.length&&o.push(`not_contains: ${a.not_contains.join(", ")}`),n.notes&&o.push(`notes: ${n.notes}`),o.push(`key: ${n.key}`),t.push(`${n.prompt} | ${o.join(" | ")}`)}),t.join(` -`)}var ece=e=>{let{results:t,fix_items:r,...n}=e;return n},cF={padding:"6px 10px",borderRadius:8,fontSize:12,fontFamily:ce,background:"var(--color-card)",border:"1px solid var(--color-border-strong)",color:"var(--color-text-primary)"};function FE({evaluation:e,onChanged:t,onDelete:r,deleting:n=!1,initialRunId:o=null,onRunSelected:a}){let i=e.id,l=e.agent?.name||"Agent",[s,u]=(0,Ie.useState)(!1),[c,d]=(0,Ie.useState)(null),[f,p]=(0,Ie.useState)([]),[m,g]=(0,Ie.useState)(e.scenario_groups||[]),[h,v]=(0,Ie.useState)(e.latest_run?[e.latest_run]:[]),[y,b]=(0,Ie.useState)(null),[x,S]=(0,Ie.useState)(e.latest_run?.id??null),[w,T]=(0,Ie.useState)({}),[k,A]=(0,Ie.useState)((e.compare_models||[]).join(", ")),[M,H]=(0,Ie.useState)(null),[F,X]=(0,Ie.useState)(!1),[P,Y]=(0,Ie.useState)(!1),[C,_]=(0,Ie.useState)(""),[z,D]=(0,Ie.useState)(null),[E,j]=(0,Ie.useState)(null),[R,U]=(0,Ie.useState)(!1),[L,K]=(0,Ie.useState)(null),[ae,de]=(0,Ie.useState)(0),ze=(0,Ie.useCallback)(async()=>{let ve=await fetch(`/api/evaluations/${i}/scenarios`);if(!ve.ok)return;let Ye=await ve.json();p(Ye.scenarios||[]),g(Ye.groups||[])},[i]),oe=(0,Ie.useCallback)(async()=>{try{let ve=await fetch(`/api/evaluations/${i}`);if(!ve.ok)return d(`Could not load this suite (HTTP ${ve.status})`),null;let zt=(await ve.json()).evaluation||{};return p(zt.scenarios||[]),g(zt.scenario_groups||[]),v(zt.runs||[]),b(Number.isFinite(zt.run_count)?zt.run_count:null),d(null),zt}catch(ve){return d(`Could not load this suite: ${ve.message}`),null}finally{u(!0)}},[i]),Ee=(0,Ie.useCallback)(async ve=>{if(!ve)return null;let Ye=await fetch(`/api/evaluations/${i}/runs/${ve}`);if(!Ye.ok)return null;let qt=(await Ye.json()).run;return qt?(T(ar=>({...ar,[qt.id]:qt})),v(ar=>ar.map(_n=>_n.id===qt.id?{..._n,...ece(qt)}:_n)),qt):null},[i]);(0,Ie.useEffect)(()=>{let ve=!1;return(async()=>{let Ye=await oe();if(ve)return;let zt=Ye?.runs?.[0]?.id??null,qt=o&&Ye?.runs?.some(ar=>ar.id===o)?o:null;S(ar=>qt||(ar&&Ye?.runs?.some(_n=>_n.id===ar)?ar:zt)),(qt||zt)&&Ee(qt||zt)})(),()=>{ve=!0}},[oe,Ee]);let V=e.latest_run?.id??null;(0,Ie.useEffect)(()=>{!V||h.some(ve=>ve.id===V)||oe()},[V,h,oe]);let I=w[x]||h.find(ve=>ve.id===x)||null,N=h[0]||null,O=yc(I)?I.id:yc(N)?N.id:null;(0,Ie.useEffect)(()=>{if(!O)return;let ve=!1,Ye=setTimeout(async()=>{let zt=null;try{zt=await Ee(O)}catch{zt=null}if(!ve){if(zt&&!yc(zt)){await oe(),t?.();return}de(qt=>qt+1)}},3e3);return()=>{ve=!0,clearTimeout(Ye)}},[O,ae,Ee,oe,t]);let Z=k.split(",").map(ve=>ve.trim()).filter(Boolean),B=async ve=>{X(!0),H(null);try{let Ye=await fetch(`/api/evaluations/${i}/run`,{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":$E()},body:JSON.stringify({...ve,models:Z})}),zt=await Ye.json().catch(()=>({}));if(!Ye.ok)throw new Error((zt.errors||[zt.error]).filter(Boolean).join(", ")||"Run failed to start");let qt=zt.run;v(ar=>[qt,...ar.filter(_n=>_n.id!==qt.id)]),b(ar=>ar==null?null:ar+1),T(ar=>({...ar,[qt.id]:{...qt,results:[]}})),S(qt.id),K(null),t?.()}catch(Ye){H(Ye.message)}finally{X(!1)}},we=ve=>{S(ve),K(null),w[ve]||Ee(ve)};(0,Ie.useEffect)(()=>{!o||o===x||!h.some(ve=>ve.id===o)||we(o)},[o]);let ee=async ve=>{ve.id&&(await fetch(`/api/evaluations/${i}/scenarios/${ve.id}`,{method:"PATCH",headers:{"Content-Type":"application/json","X-CSRF-Token":$E()},body:JSON.stringify({scenario:{enabled:ve.enabled===!1}})}),await ze())},ue=async()=>{D(null);let ve=await fetch(`/api/evaluations/${i}/scenarios`,{method:"PUT",headers:{"Content-Type":"application/json","X-CSRF-Token":$E()},body:JSON.stringify({scenarios_text:C})}),Ye=await ve.json().catch(()=>({}));if(!ve.ok){D((Ye.errors||[Ye.error]).filter(Boolean).join(", ")||"Could not save scenarios");return}p(Ye.scenarios||[]),g(Ye.groups||[]),Y(!1),t?.()},W=I,xe=(0,Ie.useMemo)(()=>(W?.results||[]).filter(ve=>ve&&ve.scenario_key),[W]),De=(0,Ie.useMemo)(()=>xg(W,xe,e),[W,xe,e]),Ge=(0,Ie.useMemo)(()=>xe.reduce((ve,Ye)=>((ve[Ye.scenario_key]||={})[bg(W,Ye)]=Ye,ve),{}),[xe,W]),it=(0,Ie.useMemo)(()=>new Set(LE(W,f)),[W,f]),zn=yc(W),$o=lp(W,De,f),Fo=rF(W,xe,De,f),Uo=(0,Ie.useCallback)(ve=>it.has(ve.key)||!!Ge[ve.key],[it,Ge]),zr=(0,Ie.useMemo)(()=>U$(f,Ge),[f,Ge]),bc=ve=>De.some(Ye=>{let zt=Ge[ve.key]?.[Ye];return gc(zt)&&!js(zt)}),$s=zr.filter(ve=>!E||(ve.group||"")===E).filter(ve=>!R||bc(ve)),Fs=h.findIndex(ve=>ve.id===W?.id),Ig=mg(h,y),jg=Fs>=0?Ig-Fs:null,wc=new Set(zr.filter(Uo).map(ve=>ve.group).filter(Boolean)).size,Lw=xe.filter(gc).length,Bw=$o*Math.max(De.length,1),bl=new Set(xe.filter(ve=>gc(ve)&&!js(ve)).map(ve=>ve.scenario_key)).size,Us=W?.scores?._verdict||null,$w=Object.prototype.hasOwnProperty.call(W?.scores||{},"_judge_label")?W.scores._judge_label||"rules":Us?.judge&&Us.judge!=="pass rate"?Us.judge:e.judge_model||"rules",pp=(0,Ie.useMemo)(()=>W?oF(W,xe):[],[W,xe]),Fw=(0,Ie.useCallback)(ve=>{let Ye=Array.isArray(ve)?ve[0]:ve;Ye&&(j(null),U(!1),K(Ye),requestAnimationFrame(()=>{document.querySelector(`[data-scenario-key="${CSS.escape(Ye)}"]`)?.scrollIntoView({behavior:"smooth",block:"center"})}))},[]),mp=Object.keys(W?.scores||{}).filter(ve=>!ve.startsWith("_")),zg=(0,Ie.useCallback)(ve=>{let Ye=ve.id===W?.id?xe:[],zt=xg(ve,Ye,e),qt=lp(ve,zt,f);return zt.map(ar=>({label:ar,short:Bo(ar).short,...BE(ve,ar,Ye,qt)}))},[W,xe,e,f]),Lg=(0,Ie.useCallback)((ve,Ye,zt)=>{if(!Ye||Ye.status!=="complete"||ve.status!=="complete")return vg(ve,Ye,{olderNumber:zt});let qt=xg(ve,ve.id===W?.id?xe:[],e),ar=xg(Ye,[],e),_n=lp(Ye,ar,f)===lp(ve,qt,f)&&ar.length===qt.length;return vg(ve,Ye,{olderNumber:zt,comparable:_n})},[W,xe,e,f]),vp=s?f.length:e.scenario_count??0,Bg=s?f.filter(ve=>ve.enabled!==!1&&(!E||(ve.group||"")===E)).length:vp,Uw=`Run ${At(Bg,"scenario")}${Z.length?` \xD7 ${At(Z.length,"model")}`:""}`,Ww=W?[Fs>0?`Viewing run #${jg} (latest is #${Ig})`:`Run #${jg??"?"} \xB7 ${ci(W.completed_at||W.created_at)}`,l,`${At($o,"scenario")}${wc?` in ${At(wc,"group")}`:""} \xD7 ${At(De.length,"model")}`,W.status==="failed"?"failed":`${Fo.passed}/${Fo.total} passed`].join(" \xB7 "):`${l} \xB7 ${At(vp,"scenario")}${m.length?` in ${At(m.length,"group")}`:""} \xB7 ${c?"not loaded":s?"no runs yet":"loading\u2026"}`,$g=W&&W.status==="complete"?`/evaluations/${i}/runs/${W.id}/report`:null,Hw=[...new Set([...m,...zr.map(ve=>ve.group).filter(Boolean)])],Vw=[{label:`All ${zr.length||vp}`,value:null}].concat(Hw.map(ve=>({label:s?`${ve} ${zr.filter(Ye=>Ye.group===ve).length}`:ve,value:ve}))),Sc=zr.length===0,Kw=R?"[+] nothing failed in this group":"[ ] no scenarios";return Ie.default.createElement("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:16},"data-testid":"scenario-suite-panel"},Ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},Ie.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-secondary)"}},Ww),zn&&Ie.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"},"data-testid":"suite-run-progress"},`running \xB7 ${Lw} of ${Bw} results in`),Ie.default.createElement("span",{style:{marginLeft:"auto",display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"}},Ie.default.createElement(mr,{size:"sm",onClick:()=>{_(Rue(f)),D(null),Y(!P)}},P?"Cancel":"Edit scenarios"),Ie.default.createElement("input",{type:"text",value:k,onChange:ve=>A(ve.target.value),placeholder:"models, e.g. gpt-5-mini, ollama/qwen3:8b",style:{...cF,width:250},title:"Comma-separated. Prefix with a provider (ollama/qwen3:8b) when the name alone is ambiguous; blank runs the agent's own model."}),Ie.default.createElement(mr,{variant:"primary",size:"sm",disabled:F||!s||Bg===0,onClick:()=>B(E?{group:E}:{}),testId:"suite-run-button"},F?"Starting\u2026":Uw))),(c||M||W?.status==="failed")&&Ie.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)",background:"var(--color-error-soft)",borderRadius:8,padding:"8px 12px"}},c||M||`Run failed: ${W.error_message||"unknown error"}`),P&&Ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:8}},Ie.default.createElement("textarea",{value:C,onChange:ve=>_(ve.target.value),rows:Math.min(Math.max(f.length+4,6),24),style:{...cF,width:"100%",boxSizing:"border-box",lineHeight:"18px"}}),Ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12,fontSize:12,color:"var(--color-text-muted)",flexWrap:"wrap"}},Ie.default.createElement("span",{style:{flex:1,minWidth:240}},"One message per line. ",Ie.default.createElement("code",{style:{fontFamily:ce}},"# Heading")," starts a group; ",Ie.default.createElement("code",{style:{fontFamily:ce}},"| tools: a, b"),", ",Ie.default.createElement("code",{style:{fontFamily:ce}},"| contains: x"),", ",Ie.default.createElement("code",{style:{fontFamily:ce}},"| not_contains: y")," set expectations. Keep a scenario's ",Ie.default.createElement("code",{style:{fontFamily:ce}},"key")," to keep its history."),Ie.default.createElement(mr,{variant:"primary",size:"sm",onClick:ue},"Save scenarios")),z&&Ie.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)"}},z)),Ie.default.createElement(gg,{runs:h,runCount:y,evaluation:e,agentName:l,selectedId:W?.id??null,onOpen:ve=>{we(ve.id),a?.(ve.id)},barsFor:zg,deltaFor:Lg}),Ie.default.createElement(iF,{run:W,columns:W?De:[],results:xe,scenarioCount:$o,judgedBy:$w,verdict:Us}),W&&W.status!=="failed"&&Ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10}},Ie.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:10}},Ie.default.createElement(et,null,"What to fix"),Ie.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},`${At(pp.length,"item")} \xB7 ${At(Math.max(Fo.total-Fo.passed,0),"fault")} across ${At(bl,"scenario")}`)),pp.length>0?Ie.default.createElement(lF,{items:pp,columns:De,agentName:l,onNavigate:Ds,onOpenScenario:Fw}):Ie.default.createElement(An,{style:{border:"1px solid var(--color-border-light)",borderRadius:10,padding:"14px 12px"}},zn?"[ ] scoring\u2026":"[+] nothing to fix")),Ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10}},Ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},Ie.default.createElement(et,{style:{marginRight:4}},"Scenarios"),Vw.map(ve=>Ie.default.createElement(fo,{key:ve.label,selected:E===ve.value,onClick:()=>j(ve.value)},ve.label)),Ie.default.createElement(fo,{square:!0,mono:!0,selected:R,onClick:()=>U(!R),style:{marginLeft:"auto",background:"transparent"},title:"Hide scenarios that passed on every model"},R?"[x] failed only":"[ ] failed only")),Sc&&c?Ie.default.createElement(An,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"[!] suite not loaded"):Sc&&!s?Ie.default.createElement(An,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"loading\u2026"):Sc?Ie.default.createElement(An,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"No scenarios yet \u2014 paste some with \u201CEdit scenarios\u201D."):Ie.default.createElement(sF,{rows:$s,columns:W?De:[],run:W,resultsByKey:Ge,runKeys:it,running:zn,openKey:L,onToggleRow:ve=>K(L===ve?null:ve),emptyLabel:Kw,renderDetail:ve=>Ie.default.createElement(uF,{scenario:ve,run:W,columns:W?De:[],resultsByKey:Ge,running:zn,inRun:Uo(ve),canMutate:!ve.orphan,onRerun:Ye=>B({keys:[Ye.key]}),onToggleEnabled:ee})})),Ie.default.createElement(vc,{evaluation:e,run:W,keys:mp.length?mp:null,spend:vl(W),reportPath:$g,onDelete:r,deleting:n,deleteLabel:"Delete suite"}))}var Ue=te(re());var UE=[{type:"response_present",key:"response_present",label:"Response present",config:{}},{type:"min_length",key:"response_length",label:"Response length \u2265 40 chars",config:{chars:40}},{type:"max_latency_ms",key:"latency",label:"Latency \u2264 5s",config:{ms:5e3}},{type:"token_budget",key:"token_budget",label:"Output \u2264 1000 tokens",config:{output_tokens:1e3}}],dF=[{type:"trace_error_rate",key:"trace_error_rate",label:"Trace error rate \u2264 5% (telemetry, 7d)",config:{max_error_rate:5,window_hours:168}},{type:"trace_latency",key:"trace_latency",label:"Avg trace latency \u2264 5s (telemetry, 7d)",config:{max_avg_ms:5e3,window_hours:168}}],tce=()=>document.querySelector('meta[name="csrf-token"]')?.content,hl={padding:"8px 12px",borderRadius:8,fontSize:13,fontFamily:"inherit",boxSizing:"border-box",background:"var(--color-card)",border:"1px solid var(--color-border-strong)",color:"var(--color-text-primary)"};function WE({agents:e,agentId:t,onCreated:r,onCancel:n}){let[o,a]=(0,Ue.useState)({agent_id:t?String(t):"",name:"",sample_size:20,criteria:UE.map(g=>g.key),containsPattern:"",llmJudgePrompt:"",judgeKind:"manual",judgeModel:"",compareModels:"",scenariosText:""}),[i,l]=(0,Ue.useState)(null),[s,u]=(0,Ue.useState)(!1),c=g=>a(h=>({...h,...g})),d=(g,h)=>c({criteria:h?[...o.criteria,g]:o.criteria.filter(v=>v!==g)}),f=()=>{let g=[...UE,...dF].filter(h=>o.criteria.includes(h.key)).map(({key:h,type:v,config:y})=>({key:h,type:v,config:y}));return o.containsPattern.trim()&&g.push({key:"contains",type:"contains",config:{pattern:o.containsPattern.trim()}}),o.llmJudgePrompt.trim()&&g.push({key:"quality",type:"llm_judge",config:{prompt:o.llmJudgePrompt.trim()}}),g},p=async g=>{g.preventDefault(),u(!0),l(null);try{let h=await fetch("/api/evaluations",{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":tce()},body:JSON.stringify({evaluation:{agent_id:o.agent_id,name:o.name,sample_size:o.sample_size,judge_kind:o.judgeKind==="judge_defined"?"judge_defined":o.llmJudgePrompt.trim()?"llm":"rules",judge_model:o.judgeModel.trim()||void 0,compare_models:o.compareModels.split(",").map(y=>y.trim()).filter(Boolean),criteria:o.judgeKind==="judge_defined"?[]:f(),scenarios_text:o.scenariosText.trim()||void 0}})}),v=await h.json().catch(()=>({}));if(!h.ok)throw new Error((v.errors||[v.error]).filter(Boolean).join(", ")||`Failed to create evaluation (HTTP ${h.status})`);r?.(v.evaluation)}catch(h){l(h.message)}finally{u(!1)}},m=g=>Ue.default.createElement("label",{key:g.key,style:{display:"flex",alignItems:"center",gap:8,fontSize:13,color:"var(--color-text-primary)"}},Ue.default.createElement("input",{type:"checkbox",checked:o.criteria.includes(g.key),onChange:h=>d(g.key,h.target.checked),style:{accentColor:"var(--color-accent-ui)"}}),g.label);return Ue.default.createElement(ht,{testId:"new-evaluation-form"},Ue.default.createElement("form",{onSubmit:p,style:{display:"flex",flexDirection:"column",gap:16}},Ue.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Agent"),Ue.default.createElement("select",{required:!0,disabled:!!t,value:o.agent_id,onChange:g=>c({agent_id:g.target.value}),style:{...hl,width:"100%",opacity:t?.7:1}},!t&&Ue.default.createElement("option",{value:""},"Select agent\u2026"),e.map(g=>Ue.default.createElement("option",{key:g.id,value:g.id},g.name)))),Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Name"),Ue.default.createElement("input",{required:!0,type:"text",value:o.name,onChange:g=>c({name:g.target.value}),placeholder:"Response Quality",style:{...hl,width:"100%"}})),Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Sample size"),Ue.default.createElement("input",{type:"number",min:"1",max:"100",value:o.sample_size,onChange:g=>c({sample_size:g.target.value}),style:{...hl,width:"100%",fontFamily:ce}}))),Ue.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"KPI definition"),Ue.default.createElement("select",{value:o.judgeKind,onChange:g=>c({judgeKind:g.target.value}),style:{...hl,width:"100%"}},Ue.default.createElement("option",{value:"manual"},"Manual criteria"),Ue.default.createElement("option",{value:"judge_defined"},"Judge defines KPIs from agent goals"))),Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Judge model (optional)"),Ue.default.createElement("input",{type:"text",value:o.judgeModel,onChange:g=>c({judgeModel:g.target.value}),placeholder:"e.g. claude-opus-5",style:{...hl,width:"100%",fontFamily:ce,fontSize:12}})),Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Compare models (optional, comma-separated)"),Ue.default.createElement("input",{type:"text",value:o.compareModels,onChange:g=>c({compareModels:g.target.value}),placeholder:"e.g. claude-haiku-4-5, qwen3:8b",style:{...hl,width:"100%",fontFamily:ce,fontSize:12}}))),Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Scenarios (optional) \u2014 paste user messages to replay, one per line"),Ue.default.createElement("textarea",{value:o.scenariosText,onChange:g=>c({scenariosText:g.target.value}),rows:o.scenariosText?8:3,placeholder:`# Find records + `).concat(x.x,",").concat(x.y),w=mt(e.id)?ji("recharts-radial-line-"):e.id;return uo.createElement("text",el({},n,{dominantBaseline:"central",className:He("recharts-radial-bar-label",i)}),uo.createElement("defs",null,uo.createElement("path",{id:w,d:S})),uo.createElement("textPath",{xlinkHref:"#".concat(w)},r))},rre=(e,t,r)=>{var n=e.cx,o=e.cy,a=e.innerRadius,i=e.outerRadius,l=e.startAngle,s=e.endAngle,u=(l+s)/2;if(r==="outside"){var c=tr(n,o,i+t,u),d=c.x,f=c.y;return{x:d,y:f,textAnchor:d>=n?"start":"end",verticalAnchor:"middle"}}if(r==="center")return{x:n,y:o,textAnchor:"middle",verticalAnchor:"middle"};if(r==="centerTop")return{x:n,y:o,textAnchor:"middle",verticalAnchor:"start"};if(r==="centerBottom")return{x:n,y:o,textAnchor:"middle",verticalAnchor:"end"};var p=(a+i)/2,m=tr(n,o,p,u),g=m.x,h=m.y;return{x:g,y:h,textAnchor:"middle",verticalAnchor:"middle"}},Tf=e=>e!=null&&"cx"in e&&Se(e.cx),nre={angle:0,offset:5,zIndex:vt.label,position:"middle",textBreakAll:!1};function ore(e){if(!Tf(e))return e;var t=e.cx,r=e.cy,n=e.outerRadius,o=n*2;return{x:t-n,y:r-n,width:o,upperWidth:o,lowerWidth:o,height:o}}function Ri(e){var t,r,n=ft(e,nre),o=n.viewBox,a=n.parentViewBox,i=n.position,l=n.value,s=n.children,u=n.content,c=n.className,d=c===void 0?"":c,f=n.textBreakAll,p=n.labelRef,m=Jte(),g=PL(),h=i==="center"?g:m??g,v,y,b;o==null?v=h:Tf(o)?v=o:v=Sm(o);var x=ore(v);if(!v||mt(l)&&mt(s)&&!(0,rn.isValidElement)(u)&&typeof u!="function")return null;var S=Tf(v)&&(i==="insideStart"||i==="insideEnd"||i==="end");if(Tf(v))S||(b=rre(v,n.offset,n.position));else if(x){var w=_h({viewBox:x,position:i,offset:n.offset,parentViewBox:Tf(a)?void 0:a,clamp:!0});b=Gu(Gu({x:w.x,y:w.y,textAnchor:w.horizontalAnchor,verticalAnchor:w.verticalAnchor},w.width!==void 0?{width:w.width}:{}),w.height!==void 0?{height:w.height}:{})}var T=Gu(Gu(Gu(Gu({},((t=b)===null||t===void 0?void 0:t.x)!==void 0?{x:b.x}:{}),((r=b)===null||r===void 0?void 0:r.y)!==void 0?{y:b.y}:{}),n),{},{viewBox:v});if((0,rn.isValidElement)(u)){var k=T.labelRef,A=EL(T,qte);return(0,rn.cloneElement)(u,A)}if(typeof u=="function"){var M=T.content,H=EL(T,Gte);if(y=(0,rn.createElement)(u,H),(0,rn.isValidElement)(y))return y}else y=Rte(n);var F=dr(n);return S&&Tf(v)?tre(n,i,y,F,v):b==null?null:uo.createElement(rr,{zIndex:n.zIndex},uo.createElement(qu,el({ref:p,className:He("recharts-label",d)},F,b,{textAnchor:Yb(F.textAnchor)?F.textAnchor:b.textAnchor,breakAll:f}),y))}Ri.displayName="Label";var are=(e,t,r)=>{if(!e)return null;var n={viewBox:t,labelRef:r};return e===!0?uo.createElement(Ri,el({key:"label-implicit"},n)):Fn(e)?uo.createElement(Ri,el({key:"label-implicit",value:e},n)):(0,rn.isValidElement)(e)?e.type===Ri?(0,rn.cloneElement)(e,Gu({key:"label-implicit"},n)):uo.createElement(Ri,el({key:"label-implicit",content:e},n)):Yu(e)?uo.createElement(Ri,el({key:"label-implicit",content:e},n)):e&&typeof e=="object"?uo.createElement(Ri,el({},e,{key:"label-implicit"},n)):null};function jL(e){var t=e.label,r=e.labelRef,n=PL();return are(t,n,r)||null}var tl=te(re()),Mf=te(re());var ire=["valueAccessor"],lre=["dataKey","clockWise","id","textBreakAll","zIndex"];function Zb(){return Zb=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(kL(t))return t},LL=(0,Mf.createContext)(void 0),Pf=LL.Provider,BL=(0,Mf.createContext)(void 0),$L=BL.Provider;function cre(){return(0,Mf.useContext)(LL)}function dre(){return(0,Mf.useContext)(BL)}function Xb(e){var t=e.valueAccessor,r=t===void 0?ure:t,n=zL(e,ire),o=n.dataKey,a=n.clockWise,i=n.id,l=n.textBreakAll,s=n.zIndex,u=zL(n,lre),c=cre(),d=dre(),f=c||d;return!f||!f.length?null:tl.createElement(rr,{zIndex:s??vt.label},tl.createElement(_t,{className:"recharts-label-list"},f.map((p,m)=>{var g,h=mt(o)?r(p,m):nt(p.payload,o),v=mt(i)?{}:{id:"".concat(i,"-").concat(m)};return tl.createElement(Ri,Zb({key:"label-".concat(m)},dr(p),u,v,{fill:(g=n.fill)!==null&&g!==void 0?g:p.fill,parentViewBox:p.parentViewBox,value:h,textBreakAll:l,viewBox:p.viewBox,index:m,zIndex:0}))})))}Xb.displayName="LabelList";function hs(e){var t=e.label;return t?t===!0?tl.createElement(Xb,{key:"labelList-implicit"}):tl.isValidElement(t)||Yu(t)?tl.createElement(Xb,{key:"labelList-implicit",content:t}):typeof t=="object"?tl.createElement(Xb,Zb({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}var FL=te(re());function d_(){return d_=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,r=e.cy,n=e.r,o=e.className,a=He("recharts-dot",o);return Se(t)&&Se(r)&&Se(n)?FL.createElement("circle",d_({},cr(e),Td(e),{className:a,cx:t,cy:r,r:n})):null};var f_=e=>e.graphicalItems.polarItems,fre=J([fr,_u],xv),Jb=J([f_,hr,fre],bv),pre=J([Jb],wv),Rb=J([pre,Au],Sv),mre=J([Rb,hr,Jb],yN),I_e=J([Rb,hr,Jb],(e,t,r)=>r.length>0?e.flatMap(n=>r.flatMap(o=>{var a,i=nt(n,(a=t.dataKey)!==null&&a!==void 0?a:o.dataKey);return{value:i,errorDomain:[]}})).filter(Boolean):t?.dataKey!=null?e.map(n=>({value:nt(n,t.dataKey),errorDomain:[]})):e.map(n=>({value:n,errorDomain:[]}))),UL=()=>{},vre=J([Rb,hr,Jb,bf,fr,UI],kv),gre=J([hr,hb,xb,UL,vre,UL,Qe,fr],Cv),WL=J([hr,Qe,Rb,mre,ts,fr,gre],Nv),yre=J([WL,Hu,Yi],_v),hre=J([hr,WL,yre,fr],Ev),j_e=J([Yi,hre],Mx);var xre={radiusAxis:{},angleAxis:{}},HL=Dt({name:"polarAxis",initialState:xre,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=st(t.payload)},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=st(t.payload)},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),e1=HL.actions,$_e=e1.addRadiusAxis,F_e=e1.removeRadiusAxis,U_e=e1.addAngleAxis,W_e=e1.removeAngleAxis;var VL=HL.reducer;function t1(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var at=te(re()),$f=te(re());function KL(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function qL(e){for(var t=1;tt,p_=J([f_,Are],(e,t)=>e.filter(r=>r.type==="pie").find(r=>r.id===t)),kre=[],m_=(e,t,r)=>r?.length===0?kre:r,GL=J([Au,p_,m_],(e,t,r)=>{var n=e.chartData;if(t!=null){var o;if(t?.data!=null&&t.data.length>0?o=t.data:o=n,(!o||!o.length)&&r!=null&&(o=r.map(a=>qL(qL({},t.presentationProps),a.props))),o!=null)return o}}),YL=J([GL,p_,m_],(e,t,r)=>{if(!(e==null||t==null))return e.map((n,o)=>{var a,i=nt(n,t.nameKey,t.name),l;return r!=null&&(a=r[o])!==null&&a!==void 0&&(a=a.props)!==null&&a!==void 0&&a.fill?l=r[o].props.fill:typeof n=="object"&&n!=null&&"fill"in n?l=n.fill:l=t.fill,{value:Eo(i,t.dataKey),dataKey:t.dataKey,color:l,payload:n,type:t.legendType}})}),XL=J([GL,p_,m_,Ht],(e,t,r,n)=>{if(!(t==null||e==null))return ZL({offset:n,pieSettings:t,displayedData:e,cells:r})});var rB=te(re()),nB=te(RL());var eB=e=>typeof e=="string"?e:e?e.displayName||e.name||"Component":"",tB=null,y_=null,oB=e=>{if(e===tB&&Array.isArray(y_))return y_;var t=[];return rB.Children.forEach(e,r=>{mt(r)||((0,nB.isFragment)(r)?t=t.concat(oB(r.props.children)):t.push(r))}),y_=t,tB=e,t};function Iv(e,t){var r=[],n=[];return Array.isArray(t)?n=t.map(o=>eB(o)):n=[eB(t)],oB(e).forEach(o=>{var a=un(o,"type.displayName")||un(o,"type.name");a&&n.indexOf(a)!==-1&&r.push(o)}),r}var Df=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;var If=te(re()),jv=te(re());function aB(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function iB(e){for(var t=1;t{var n=Xe();return(o,a)=>i=>{e?.(o,a,i),n(Cb({activeIndex:String(a),activeDataKey:t,activeCoordinate:o.tooltipPosition,activeGraphicalItemId:r}))}},Lv=e=>{var t=Xe();return(r,n)=>o=>{e?.(r,n,o),t(Qj())}},Bv=(e,t,r)=>{var n=Xe();return(o,a)=>i=>{e?.(o,a,i),n(Jj({activeIndex:String(a),activeDataKey:t,activeCoordinate:o.tooltipPosition,activeGraphicalItemId:r}))}};var $v=te(re());function bs(e){var t=e.tooltipEntrySettings,r=Xe(),n=It(),o=(0,$v.useRef)(null);return(0,$v.useLayoutEffect)(()=>{n||(o.current===null?r(Gj(t)):o.current!==t&&r(Yj({prev:o.current,next:t})),o.current=t)},[t,r,n]),(0,$v.useLayoutEffect)(()=>()=>{o.current&&(r(Xj(o.current)),o.current=null)},[r]),null}var ws=te(re());function jf(e){var t=e.legendPayload,r=Xe(),n=It(),o=(0,ws.useRef)(null);return(0,ws.useLayoutEffect)(()=>{n||(o.current===null?r(lC(t)):o.current!==t&&r(sC({prev:o.current,next:t})),o.current=t)},[r,n,t]),(0,ws.useLayoutEffect)(()=>()=>{o.current&&(r(uC(o.current)),o.current=null)},[r]),null}function sB(e){var t=e.legendPayload,r=Xe(),n=Ae(Qe),o=(0,ws.useRef)(null);return(0,ws.useLayoutEffect)(()=>{n!=="centric"&&n!=="radial"||(o.current===null?r(lC(t)):o.current!==t&&r(sC({prev:o.current,next:t})),o.current=t)},[r,n,t]),(0,ws.useLayoutEffect)(()=>()=>{o.current&&(r(uC(o.current)),o.current=null)},[r]),null}var dB=te(re()),Wv=te(re());function Ire(e,t){return Bre(e)||Lre(e,t)||zre(e,t)||jre()}function jre(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zre(e,t){if(e){if(typeof e=="string")return uB(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?uB(e,t):void 0}}function uB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r2&&arguments[2]!==void 0?arguments[2]:[],n=[];for(var o of r)n.push({status:"removed",prev:o});for(var a=0;ae[Math.floor(a*r)]);return h_(n,t)}function Fre(e,t){var r=t.map((n,o)=>e[o]);return h_(r,t)}function Ure(e,t){for(var r=new Map,n=0;n{var p=r(d,f);if(p!=null){var m=n.get(p);if(m!==void 0)return o.add(p),m}}),i=[];for(var l of n){var s=Ire(l,2),u=s[0],c=s[1];o.has(u)||i.push(c)}return h_(a,t,i)}function Uv(e,t,r){return t==null?null:e==null?t.map(n=>({status:"added",next:n})):r===Xu?$re(e,t):r===Fv?Fre(e,t):Wre(e,t,r)}var zf=te(re());function f1(e,t){var r=(0,zf.useRef)(e),n=(0,zf.useRef)(t.current),o=(0,zf.useRef)(!0);r.current!==e&&(r.current=e,n.current=t.current,o.current=!1);var a=(0,zf.useCallback)(function(i,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(l===0){o.current=!0;return}l===1&&(n.current=i),l>0&&o.current&&s&&(t.current=i)},[t]);return{startValue:n.current,syncStepValue:a}}function Hre(e,t){return Gre(e)||qre(e,t)||Kre(e,t)||Vre()}function Vre(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Kre(e,t){if(e){if(typeof e=="string")return cB(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?cB(e,t):void 0}}function cB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{typeof e=="function"&&e(),a(!0)},[e]),l=(0,Wv.useCallback)(()=>{typeof t=="function"&&t(),a(!1)},[t]);return{isAnimating:o,handleAnimationStart:i,handleAnimationEnd:l}}function As(e){var t,r=e.animationInput,n=e.animationIdPrefix,o=e.items,a=e.previousItemsRef,i=e.isAnimationActive,l=e.animationBegin,s=e.animationDuration,u=e.animationEasing,c=e.onAnimationStart,d=e.onAnimationEnd,f=e.animationInterpolateFn,p=e.animationMatchBy,m=e.shouldUpdatePreviousRef,g=e.children,h=e.layout,v=ix(r,n),y=f1(v,a),b=(t=y.startValue)!==null&&t!==void 0?t:null,x=Uv(b,o,p??Xu);return dB.createElement(ax,{animationId:v,begin:l,duration:s,isActive:i,easing:u,onAnimationEnd:d,onAnimationStart:c,key:v},S=>{var w=b==null,T=o==null?o:f(x,S,h),k=m?m(S):S>0;return y.syncStepValue(T,S,k),T==null?null:g(T,S,w)})}var mB=te(re()),b_=te(re());var p1=te(re());var x_;function Yre(e,t){return Jre(e)||Qre(e,t)||Zre(e,t)||Xre()}function Xre(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Zre(e,t){if(e){if(typeof e=="string")return fB(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?fB(e,t):void 0}}function fB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e=p1.useState(()=>ji("uid-")),t=Yre(e,1),r=t[0];return r},m1=(x_=p1.useId)!==null&&x_!==void 0?x_:Rre;function pB(e,t){var r=m1();return t||(e?"".concat(e,"-").concat(r):r)}var ene=(0,b_.createContext)(void 0),ks=e=>{var t=e.id,r=e.type,n=e.children,o=pB("recharts-".concat(r),t);return mB.createElement(ene.Provider,{value:o},n(o))};var ja=te(re());var tne={cartesianItems:[],polarItems:[]},vB=Dt({name:"graphicalItems",initialState:tne,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(st(t.payload))},prepare:Ft()},replaceCartesianGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,o=r.next,a=Sn(e).cartesianItems.indexOf(st(n));a>-1&&(e.cartesianItems[a]=st(o))},prepare:Ft()},removeCartesianGraphicalItem:{reducer(e,t){var r=Sn(e).cartesianItems.indexOf(st(t.payload));r>-1&&e.cartesianItems.splice(r,1)},prepare:Ft()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(st(t.payload))},prepare:Ft()},removePolarGraphicalItem:{reducer(e,t){var r=Sn(e).polarItems.indexOf(st(t.payload));r>-1&&e.polarItems.splice(r,1)},prepare:Ft()},replacePolarGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,o=r.next,a=Sn(e).polarItems.indexOf(st(n));a>-1&&(e.polarItems[a]=st(o))},prepare:Ft()}}}),Lf=vB.actions,gB=Lf.addCartesianGraphicalItem,yB=Lf.replaceCartesianGraphicalItem,hB=Lf.removeCartesianGraphicalItem,xB=Lf.addPolarGraphicalItem,bB=Lf.removePolarGraphicalItem,wB=Lf.replacePolarGraphicalItem;var SB=vB.reducer;var rne=e=>{var t=Xe(),r=(0,ja.useRef)(null);return(0,ja.useLayoutEffect)(()=>{r.current===null?t(gB(e)):r.current!==e&&t(yB({prev:r.current,next:e})),r.current=e},[t,e]),(0,ja.useLayoutEffect)(()=>()=>{r.current&&(t(hB(r.current)),r.current=null)},[t]),null},Bf=(0,ja.memo)(rne),nne=e=>{var t=Xe(),r=(0,ja.useRef)(null);return(0,ja.useLayoutEffect)(()=>{r.current===null?t(xB(e)):r.current!==e&&t(wB({prev:r.current,next:e})),r.current=e},[t,e]),(0,ja.useLayoutEffect)(()=>()=>{r.current&&(t(bB(r.current)),r.current=null)},[t]),null},AB=(0,ja.memo)(nne);var one=["key"],ane=["onMouseEnter","onClick","onMouseLeave"],ine=["id"],lne=["id"];function Zu(){return Zu=Object.assign?Object.assign.bind():function(e){for(var t=1;tIv(e.children,Ji),[e.children]),r=Ae(n=>YL(n,e.id,t));return r==null?null:at.createElement(sB,{legendPayload:r})}function pne(e){if(!(e==null||typeof e=="boolean"||typeof e=="function")){if(at.isValidElement(e)){var t,r=(t=e.props)===null||t===void 0?void 0:t.fill;return typeof r=="string"?r:void 0}var n=e.fill;return typeof n=="string"?n:void 0}}var mne=at.memo(e=>{var t=e.dataKey,r=e.nameKey,n=e.sectors,o=e.stroke,a=e.strokeWidth,i=e.fill,l=e.name,s=e.hide,u=e.tooltipType,c=e.formatter,d=e.id,f=e.activeShape,p=pne(f),m=n.map(h=>{var v=h.tooltipPayload;return p==null||v==null?v:v.map(y=>xr(xr({},y),{},{color:p,fill:p}))}),g={dataDefinedOnItem:m,getPosition:h=>{var v;return(v=n[Number(h)])===null||v===void 0?void 0:v.tooltipPosition},settings:{stroke:o,strokeWidth:a,fill:i,dataKey:t,nameKey:r,name:Eo(l,t),hide:s,type:u,color:i,unit:"",formatter:c,graphicalItemId:d}};return at.createElement(bs,{tooltipEntrySettings:g})}),vne=(e,t)=>e>t?"start":etypeof t=="function"?Sr(t(e),r,r*.8):Sr(t,r,r*.8),yne=(e,t,r)=>{var n=t.top,o=t.left,a=t.width,i=t.height,l=cx(a,i),s=o+Sr(e.cx,a,a/2),u=n+Sr(e.cy,i,i/2),c=Sr(e.innerRadius,l,0),d=gne(r,e.outerRadius,l),f=e.maxRadius||Math.sqrt(a*a+i*i)/2;return{cx:s,cy:u,innerRadius:c,outerRadius:d,maxRadius:f}},hne=(e,t)=>{var r=Xt(t-e),n=Math.min(Math.abs(t-e),360);return r*n},xne=(e,t)=>{if(at.isValidElement(e))return at.cloneElement(e,t);if(typeof e=="function")return e(t);var r=He("recharts-pie-label-line",typeof e!="boolean"?e.className:""),n=t.key,o=v1(t,one);return at.createElement(Ja,Zu({},o,{type:"linear",className:r}))},bne=(e,t,r)=>{if(at.isValidElement(e))return at.cloneElement(e,t);var n=r;if(typeof e=="function"&&(n=e(t),at.isValidElement(n)))return n;var o=He("recharts-pie-label-text",t1(e));return at.createElement(qu,Zu({},t,{alignmentBaseline:"middle",className:o}),n)};function wne(e){var t=e.sectors,r=e.props,n=e.showLabels,o=r.label,a=r.labelLine,i=r.dataKey;if(!n||!o||!t)return null;var l=cr(r),s=Ao(o),u=Ao(a),c=typeof o=="object"&&"offsetRadius"in o&&typeof o.offsetRadius=="number"&&o.offsetRadius||20,d=t.map((f,p)=>{var m=(f.startAngle+f.endAngle)/2,g=tr(f.cx,f.cy,f.outerRadius+c,m),h=xr(xr(xr(xr({},l),f),{},{stroke:"none"},s),{},{index:p,textAnchor:vne(g.x,f.cx)},g),v=xr(xr(xr(xr({},l),f),{},{fill:"none",stroke:f.fill},u),{},{index:p,points:[tr(f.cx,f.cy,f.outerRadius,m),g],key:"line"});return at.createElement(rr,{zIndex:vt.label,key:"label-".concat(f.startAngle,"-").concat(f.endAngle,"-").concat(f.midAngle,"-").concat(p)},at.createElement(_t,null,a&&xne(a,v),bne(o,h,nt(f,i))))});return at.createElement(_t,{className:"recharts-pie-labels"},d)}function Sne(e){var t=e.sectors,r=e.props,n=e.showLabels,o=r.label;return typeof o=="object"&&o!=null&&"position"in o?at.createElement(hs,{label:o}):at.createElement(wne,{sectors:t,props:r,showLabels:n})}function Ane(e){var t=e.sectors,r=e.activeShape,n=e.inactiveShape,o=e.allOtherPieProps,a=e.shape,i=e.id,l=e.animationElapsedTime,s=e.isAnimating,u=e.isEntrance,c=Ae(da),d=Ae(Af),f=Ae(jb),p=o.onMouseEnter,m=o.onClick,g=o.onMouseLeave,h=v1(o,ane),v=zv(p,o.dataKey,i),y=Lv(g),b=Bv(m,o.dataKey,i);return t==null||t.length===0?null:at.createElement(at.Fragment,null,t.map((x,S)=>{if(x?.startAngle===0&&x?.endAngle===0&&t.length!==1)return null;var w=f==null||f===i,T=String(S)===c&&(d==null||o.dataKey===d)&&w,k=c?n:null,A=r&&T?r:k,M=xr(xr({},x),{},{stroke:x.stroke,tabIndex:-1,index:S,isActive:T,animationElapsedTime:l,isAnimating:s,isEntrance:u,[W0]:S,[H0]:i});return at.createElement(_t,Zu({key:"sector-".concat(x?.startAngle,"-").concat(x?.endAngle,"-").concat(x.midAngle,"-").concat(S),tabIndex:-1,className:"recharts-pie-sector"},Li(h,x,S),{onMouseEnter:v(x,S),onMouseLeave:y(x,S),onClick:b(x,S)}),at.createElement(xs,{option:A??a,DefaultShape:CB,shapeProps:M}))}))}function ZL(e){var t,r=e.pieSettings,n=e.displayedData,o=e.cells,a=e.offset,i=r.cornerRadius,l=r.startAngle,s=r.endAngle,u=r.dataKey,c=r.nameKey,d=r.tooltipType,f=Math.abs(r.minAngle),p=hne(l,s),m=Math.abs(p),g=n.length<=1?0:(t=r.paddingAngle)!==null&&t!==void 0?t:0,h=n.filter(k=>nt(k,u,0)!==0).length,v=(m>=360?h:h-1)*g,y=n.reduce((k,A)=>{var M=nt(A,u,0);return k+(Se(M)?M:0)},0),b=f>0&&y>0&&n.some(k=>{var A=nt(k,u,0),M=(Se(A)?A:0)/y;return A!==0&&M*m0){var T;w=n.map((k,A)=>{var M=nt(k,u,0),H=nt(k,c,A),F=yne(r,a,k),X=(Se(M)?M:0)/y,P,Y=xr(xr({},k),o&&o[A]&&o[A].props),C=Y!=null&&"fill"in Y&&typeof Y.fill=="string"?Y.fill:r.fill;A?P=T.endAngle+Xt(p)*g*(M!==0?1:0):P=l;var _=P+Xt(p)*((M!==0?x:0)+X*S),z=(P+_)/2,D=(F.innerRadius+F.outerRadius)/2,E=[{name:H,value:M,payload:Y,dataKey:u,type:d,color:C,fill:C,graphicalItemId:r.id}],j=tr(F.cx,F.cy,D,z);return T=xr(xr(xr(xr({},r.presentationProps),{},{percent:X,cornerRadius:typeof i=="string"?parseFloat(i):i,name:H,tooltipPayload:E,midAngle:z,middleRadius:D,tooltipPosition:j},Y),F),{},{value:M,dataKey:u,startAngle:P,endAngle:_,payload:Y,paddingAngle:M!==0?Xt(p)*g:0}),T})}return w}function kne(e){var t=e.showLabels,r=e.sectors,n=e.children,o=(0,$f.useMemo)(()=>!t||!r?[]:r.map(a=>({value:a.value,payload:a.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:a.cx,cy:a.cy,innerRadius:a.innerRadius,outerRadius:a.outerRadius,startAngle:a.startAngle,endAngle:a.endAngle,clockWise:!1},fill:a.fill})),[r,t]);return at.createElement($L,{value:t?o:void 0},n)}var Cne=(e,t)=>{if(e==null)return[];var r=[],n=e.find(a=>a.status!=="removed"),o=n?n.next.startAngle:0;return e.forEach((a,i)=>{if(a.status!=="removed"){var l=i>0?un(a.next,"paddingAngle",0):0;if(a.status==="matched"){var s=Pt(a.prev.endAngle-a.prev.startAngle,a.next.endAngle-a.next.startAngle,t),u=xr(xr({},a.next),{},{startAngle:o+l,endAngle:o+s+l});r.push(u),o=u.endAngle}else{var c=Pt(0,a.next.endAngle-a.next.startAngle,t),d=xr(xr({},a.next),{},{startAngle:o+l,endAngle:o+c+l});r.push(d),o=d.endAngle}}}),r};function Nne(e){var t,r,n,o,a=e.props,i=e.previousSectorsRef,l=e.id,s=a.sectors,u=a.activeShape,c=a.inactiveShape,d=a.animationInterpolateFn,f=Ss(a.onAnimationStart,a.onAnimationEnd),p=f.isAnimating,m=f.handleAnimationStart,g=f.handleAnimationEnd,h=p8();if(h==null)return null;var v=s[0];return at.createElement(kne,{showLabels:!p,sectors:s},at.createElement(As,{animationInput:a,animationIdPrefix:"recharts-pie-",items:s,previousItemsRef:i,isAnimationActive:a.isAnimationActive,animationBegin:a.animationBegin,animationDuration:a.animationDuration,animationEasing:a.animationEasing,onAnimationStart:m,onAnimationEnd:g,animationInterpolateFn:d,animationMatchBy:a.animationMatchBy,layout:h},(y,b,x)=>at.createElement(_t,null,at.createElement(Ane,{sectors:y,activeShape:u,inactiveShape:c,allOtherPieProps:a,shape:a.shape,id:l,animationElapsedTime:b,isAnimating:p||b<1,isEntrance:x}))),at.createElement(Sne,{showLabels:!p,sectors:s,props:a}),at.createElement(IL,{cx:(t=v?.cx)!==null&&t!==void 0?t:0,cy:(r=v?.cy)!==null&&r!==void 0?r:0,innerRadius:(n=v?.innerRadius)!==null&&n!==void 0?n:0,outerRadius:(o=v?.outerRadius)!==null&&o!==void 0?o:0,startAngle:a.startAngle,endAngle:a.endAngle,clockWise:!1},a.children))}var _ne={animationBegin:400,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:Cne,animationMatchBy:Fv,cx:"50%",cy:"50%",dataKey:"value",endAngle:360,fill:"#808080",hide:!1,innerRadius:0,isAnimationActive:"auto",label:!1,labelLine:!0,legendType:"rect",minAngle:0,nameKey:"name",outerRadius:"80%",paddingAngle:0,rootTabIndex:0,shape:CB,startAngle:0,stroke:"#fff",zIndex:vt.area};function Ene(e){var t=e.id,r=v1(e,ine),n=e.hide,o=e.className,a=e.rootTabIndex,i=(0,$f.useMemo)(()=>Iv(e.children,Ji),[e.children]),l=Ae(c=>XL(c,t,i)),s=(0,$f.useRef)(null),u=He("recharts-pie",o);return n||l==null?(s.current=null,at.createElement(_t,{tabIndex:a,className:u})):at.createElement(rr,{zIndex:e.zIndex},at.createElement(mne,{dataKey:e.dataKey,nameKey:e.nameKey,sectors:l,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,tooltipType:e.tooltipType,formatter:e.formatter,id:t,activeShape:e.activeShape}),at.createElement(_t,{tabIndex:a,className:u},at.createElement(Nne,{props:xr(xr({},r),{},{sectors:l}),previousSectorsRef:s,id:t})))}function One(e){var t=ft(e,_ne),r=t.id,n=v1(t,lne),o=cr(n);return at.createElement(ks,{id:r,type:"pie"},a=>at.createElement(at.Fragment,null,at.createElement(AB,{type:"pie",id:a,data:n.data,dataKey:n.dataKey,hide:n.hide,angleAxisId:0,radiusAxisId:0,name:n.name,nameKey:n.nameKey,tooltipType:n.tooltipType,legendType:n.legendType,fill:n.fill,cx:n.cx,cy:n.cy,startAngle:n.startAngle,endAngle:n.endAngle,paddingAngle:n.paddingAngle,minAngle:n.minAngle,innerRadius:n.innerRadius,outerRadius:n.outerRadius,cornerRadius:n.cornerRadius,presentationProps:o,maxRadius:t.maxRadius}),at.createElement(fne,Zu({},n,{id:a})),at.createElement(Ene,Zu({},n,{id:a}))))}var g1=One;g1.displayName="Pie";var Hv=te(re()),h1=te(re());var Tne=["points"];function NB(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function w_(e){for(var t=1;t{var v,y,b=w_(w_(w_({r:3},i),f),{},{index:h,cx:(v=g.x)!==null&&v!==void 0?v:void 0,cy:(y=g.y)!==null&&y!==void 0?y:void 0,dataKey:a,value:g.value,payload:g.payload,points:t});return Hv.createElement(zne,{key:"dot-".concat(h),option:r,dotProps:b,className:o})}),m={};return l&&s!=null&&(m.clipPath="url(#clipPath-".concat(d?"":"dots-").concat(s,")")),Hv.createElement(rr,{zIndex:c},Hv.createElement(_t,y1({className:n},m),p))}var Vv=te(re()),w1=te(re());function _B(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function b1(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right}));var $B=J([BB,fn,pn],(e,t,r)=>{if(!(!e||t==null||r==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,r-e.top-e.bottom)}});var Cs=()=>Ae($B),FB=()=>Ae(dz);function UB(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function A_(e){for(var t=1;t{var t=e.point,r=e.childIndex,n=e.mainColor,o=e.activeDot,a=e.dataKey,i=e.clipPath;if(o===!1||t.x==null||t.y==null)return null;var l={index:r,dataKey:a,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},s=A_(A_(A_({},l),Ao(o)),Td(o)),u;return(0,w1.isValidElement)(o)?u=(0,w1.cloneElement)(o,s):typeof o=="function"?u=o(s):u=Vv.createElement(Qb,s),Vv.createElement(_t,{className:"recharts-active-dot",clipPath:i},u)};function Kv(e){var t=e.points,r=e.mainColor,n=e.activeDot,o=e.itemDataKey,a=e.clipPath,i=e.zIndex,l=i===void 0?vt.activeDot:i,s=Ae(da),u=FB();if(t==null||u==null)return null;var c=t.find(d=>u.includes(d.payload));return mt(c)?null:Vv.createElement(rr,{zIndex:l},Vv.createElement(Kne,{point:c,childIndex:Number(s),mainColor:r,dataKey:o,activeDot:n,clipPath:a}))}function qne(e,t){return Zne(e)||Xne(e,t)||Yne(e,t)||Gne()}function Gne(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Yne(e,t){if(e){if(typeof e=="string")return WB(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?WB(e,t):void 0}}function WB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var n=r??e;if(!mt(n))return Sr(n,t,0)},VB=(e,t,r)=>{var n={},o=e.filter(Eu),a=e.filter(u=>u.stackId==null),i=o.reduce((u,c)=>{var d=u[c.stackId];return d==null&&(d=[]),d.push(c),u[c.stackId]=d,u},n),l=Object.entries(i).map(u=>{var c,d=qne(u,2),f=d[0],p=d[1],m=p.map(h=>h.dataKey),g=HB(t,r,(c=p[0])===null||c===void 0?void 0:c.barSize);return{stackId:f,dataKeys:m,barSize:g}}),s=a.map(u=>{var c=[u.dataKey].filter(f=>f!=null),d=HB(t,r,u.barSize);return{stackId:void 0,dataKeys:c,barSize:d}});return[...l,...s]};function KB(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function S1(e){for(var t=1;ty+(b.barSize||0),0);f+=(i-1)*l,f>=r&&(f-=(i-1)*l,l=0),f>=r&&d>0&&(c=!0,d*=.9,f=i*d);var p=Math.round((r-f)/2),m={offset:p-l,size:0};s=n.reduce((y,b)=>{var x,S={stackId:b.stackId,dataKeys:b.dataKeys,position:{offset:m.offset+m.size+l,size:c?d:(x=b.barSize)!==null&&x!==void 0?x:0}},w=[...y,S];return m=S.position,w},u)}else{var g=Sr(t,r,0,!0);r-2*g-(i-1)*l<=0&&(l=0);var h=(r-2*g-(i-1)*l)/i;h>1&&(h=Math.round(h));var v=qe(o)?Math.min(h,o):h;s=n.reduce((y,b,x)=>[...y,{stackId:b.stackId,dataKeys:b.dataKeys,position:{offset:g+i*(h-v)/2+(v+l)*x,size:v}}],u)}return s}}var qB=(e,t,r,n,o,a,i)=>{var l=mt(i)?t:i,s=eoe(r,n,o!==a?o:a,e,l);return o!==a&&s!=null&&(s=s.map(u=>S1(S1({},u),{},{position:S1(S1({},u.position),{},{offset:u.position.offset-o/2})}))),s};var GB=(e,t)=>{var r=ns(t);if(!(!e||r==null||t==null)){var n=t.stackId;if(n!=null){var o=e[n];if(o){var a=o.stackedData;if(a)return a.find(i=>i.key===r)}}}};var YB=(e,t)=>{if(!(e==null||t==null)){var r=e.find(n=>n.stackId===t.stackId&&t.dataKey!=null&&n.dataKeys.includes(t.dataKey));if(r!=null)return r.position}};function XB(e,t){return e&&typeof e=="object"&&"zIndex"in e&&typeof e.zIndex=="number"&&qe(e.zIndex)?e.zIndex:t}var ZB=te(re());var A1=e=>{var t=e.chartData,r=Xe(),n=It();return(0,ZB.useEffect)(()=>n?()=>{}:(r(s_(t)),()=>{r(s_(void 0))}),[t,r,n]),null};var QB={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},JB=Dt({name:"brush",initialState:QB,reducers:{setBrushSettings(e,t){return t.payload==null?QB:t.payload}}}),pOe=JB.actions.setBrushSettings;var RB=JB.reducer;function toe(e){return(e%180+180)%180}var e7=function(t){var r=t.width,n=t.height,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=toe(o),i=a*Math.PI/180,l=Math.atan(n/r),s=i>l&&i{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=Sn(e).dots.findIndex(n=>n===t.payload);r!==-1&&e.dots.splice(r,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var r=Sn(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push(st(t.payload))},removeLine:(e,t)=>{var r=Sn(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),Ff=t7.actions,hOe=Ff.addDot,xOe=Ff.removeDot,bOe=Ff.addArea,wOe=Ff.removeArea,SOe=Ff.addLine,AOe=Ff.removeLine;var r7=t7.reducer;var qv=te(re()),Gv=te(re());function noe(e,t){return loe(e)||ioe(e,t)||aoe(e,t)||ooe()}function ooe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function aoe(e,t){if(e){if(typeof e=="string")return n7(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n7(e,t):void 0}}function n7(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=(0,Gv.useState)("".concat(ji("recharts"),"-clip")),n=noe(r,1),o=n[0],a=Cs();if(a==null)return null;var i=a.x,l=a.y,s=a.width,u=a.height;return qv.createElement(soe.Provider,{value:o},qv.createElement("defs",null,qv.createElement("clipPath",{id:o},qv.createElement("rect",{x:i,y:l,height:u,width:s}))),t)};var pr=te(re()),Dn=te(re());function a7(){}function k_(e){if(!e||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)==="[object Object]":!1}function i7(e,t,r){return Yv(e,t,void 0,void 0,void 0,void 0,r)}function Yv(e,t,r,n,o,a,i){let l=i(e,t,r,n,o,a);if(l!==void 0)return l;if(typeof e==typeof t)switch(typeof e){case"bigint":case"string":case"boolean":case"symbol":case"undefined":return e===t;case"number":return e===t||Object.is(e,t);case"function":return e===t;case"object":return Xv(e,t,a,i)}return Xv(e,t,a,i)}function Xv(e,t,r,n){if(Object.is(e,t))return!0;let o=Bi(e),a=Bi(t);if(o==="[object Arguments]"&&(o=Id),a==="[object Arguments]"&&(a=Id),o!==a)return!1;switch(o){case Md:return e.toString()===t.toString();case Pd:return Jl(e.valueOf(),t.valueOf());case Dd:case Uh:case Fh:return Object.is(e.valueOf(),t.valueOf());case Bh:return e.source===t.source&&e.flags===t.flags;case sP:return e===t}r=r??new Map;let i=r.get(e),l=r.get(t);if(i!=null&&l!=null)return i===t;r.set(e,t),r.set(t,e);try{switch(o){case Wh:if(e.size!==t.size)return!1;for(let[s,u]of e.entries())if(!t.has(s)||!Yv(u,t.get(s),s,e,t,r,n))return!1;return!0;case Hh:{if(e.size!==t.size)return!1;let s=Array.from(e.values()),u=Array.from(t.values());for(let c=0;cYv(d,p,void 0,e,t,r,n));if(f===-1)return!1;u.splice(f,1)}return!0}case Vh:case Gh:case Yh:case Xh:case Zh:case cP:case Qh:case Jh:case Rh:case dP:case e0:case t0:if(Em(e)!==Em(t)||e.length!==t.length)return!1;for(let s=0;se*o)return!1;var a=r();return e*(t-e*a/2-n)>=0&&e*(t+e*a/2-o)<=0}function u7(e,t){return k1(e,t+1)}function c7(e,t,r,n,o){for(var a=(n||[]).slice(),i=t.start,l=t.end,s=0,u=1,c=i,d=function(){var m=n?.[s];if(m===void 0)return{v:k1(n,u)};var g=s,h,v=()=>(h===void 0&&(h=r(m,g)),h),y=m.coordinate,b=s===0||Qu(e,y,v,c,l);b||(s=0,c=i,u+=1),b&&(c=y+e*(v()/2+o),s+=u)},f;u<=a.length;)if(f=d(),f)return f.v;return[]}function d7(e,t,r,n,o){var a=(n||[]).slice(),i=a.length;if(i===0)return[];for(var l=t.start,s=t.end,u=1;u<=i;u++){for(var c=(i-1)%u,d=l,f=!0,p=function(){var x=n[g];if(x==null)return 0;var S=g,w,T=()=>(w===void 0&&(w=r(x,S)),w),k=x.coordinate,A=g===c||Qu(e,k,T,d,s);if(!A)return f=!1,1;A&&(d=k+e*(T()/2+o))},m,g=c;g(g===void 0&&(g=r(p,f)),g);if(f===i-1){var v=e*(m.coordinate+e*h()/2-s);a[f]=m=Pn(Pn({},m),{},{tickCoord:v>0?m.coordinate-v*e:m.coordinate})}else a[f]=m=Pn(Pn({},m),{},{tickCoord:m.coordinate});if(m.tickCoord!=null){var y=Qu(e,m.tickCoord,h,l,s);y&&(s=m.tickCoord-e*(h()/2+o),a[f]=Pn(Pn({},m),{},{isShow:!0}))}},c=i-1;c>=0;c--)u(c);return a}function poe(e,t,r,n,o,a){var i=(n||[]).slice(),l=i.length,s=t.start,u=t.end;if(a){var c=n[l-1];if(c!=null){var d=r(c,l-1),f=e*(c.coordinate+e*d/2-u);if(i[l-1]=c=Pn(Pn({},c),{},{tickCoord:f>0?c.coordinate-f*e:c.coordinate}),c.tickCoord!=null){var p=Qu(e,c.tickCoord,()=>d,s,u);p&&(u=c.tickCoord-e*(d/2+o),i[l-1]=Pn(Pn({},c),{},{isShow:!0}))}}}for(var m=a?l-1:l,g=function(y){var b=i[y];if(b==null)return 1;var x=b,S,w=()=>(S===void 0&&(S=r(b,y)),S);if(y===0){var T=e*(x.coordinate-e*w()/2-s);i[y]=x=Pn(Pn({},x),{},{tickCoord:T<0?x.coordinate-T*e:x.coordinate})}else i[y]=x=Pn(Pn({},x),{},{tickCoord:x.coordinate});if(x.tickCoord!=null){var k=Qu(e,x.tickCoord,w,s,u);k&&(s=x.tickCoord+e*(w()/2+o),i[y]=Pn(Pn({},x),{},{isShow:!0}))}},h=0;h{var T=typeof u=="function"?u(S.value,w):S.value;return m==="width"?l7(Ku(T,{fontSize:t,letterSpacing:r}),g,d):Ku(T,{fontSize:t,letterSpacing:r})[m]},v=o[0],y=o[1],b=o.length>=2&&v!=null&&y!=null?Xt(y.coordinate-v.coordinate):1,x=s7(a,b,m);return s==="equidistantPreserveStart"?c7(b,x,h,o,i):s==="equidistantPreserveEnd"?d7(b,x,h,o,i):(s==="preserveStart"||s==="preserveStartEnd"?p=poe(b,x,h,o,i,s==="preserveStartEnd"):p=foe(b,x,h,o,i),p.filter(S=>S.isShow))}var p7=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,o=n===void 0?5:n,a=e.tickSize,i=a===void 0?0:a,l=e.tickMargin,s=l===void 0?0:l,u=0;if(t){Array.from(t).forEach(p=>{if(p){var m=p.getBoundingClientRect();m.width>u&&(u=m.width)}});var c=r?r.getBoundingClientRect().width:0,d=i+s,f=u+d+c+(r?o:0);return Math.round(f)}return 0};var m7=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,o=n===void 0?5:n,a=e.tickSize,i=a===void 0?0:a,l=e.tickMargin,s=l===void 0?0:l,u=0;if(t){Array.from(t).forEach(p=>{if(p){var m=p.getBoundingClientRect();m.height>u&&(u=m.height)}});var c=r?r.getBoundingClientRect().height:0,d=i+s,f=u+d+c+(r?o:0);return Math.round(f)}return 0};var moe={xAxis:{},yAxis:{}},v7=Dt({name:"renderedTicks",initialState:moe,reducers:{setRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,o=r.axisId,a=r.ticks;e[n][o]=st(a)},removeRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,o=r.axisId;delete e[n][o]}}}),g7=v7.actions,y7=g7.setRenderedTicks,h7=g7.removeRenderedTicks;var x7=v7.reducer;var voe=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function b7(e,t){return xoe(e)||hoe(e,t)||yoe(e,t)||goe()}function goe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yoe(e,t){if(e){if(typeof e=="string")return w7(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?w7(e,t):void 0}}function w7(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(!(n==null||r==null)){var i=t.map(s=>({value:s.value,coordinate:s.coordinate,offset:s.offset,index:s.index})),l=a.current;l!=null&&l.axisId===n&&l.axisType===r&&C_(l.ticks,i)||(a.current={ticks:i,axisId:n,axisType:r},o(y7({ticks:i,axisId:n,axisType:r})))}},[o,t,n,r]),(0,Dn.useEffect)(()=>n==null||r==null?Un:()=>{o(h7({axisId:n,axisType:r}))},[o,n,r]),null}var Moe=(0,Dn.forwardRef)((e,t)=>{var r=e.ticks,n=r===void 0?[]:r,o=e.tick,a=e.tickLine,i=e.stroke,l=e.tickFormatter,s=e.unit,u=e.padding,c=e.tickTextProps,d=e.orientation,f=e.mirror,p=e.x,m=e.y,g=e.width,h=e.height,v=e.tickSize,y=e.tickMargin,b=e.fontSize,x=e.letterSpacing,S=e.getTicksConfig,w=e.events,T=e.axisType,k=e.axisId,A=Zv(Or(Or({},S),{},{ticks:n}),b,x),M=cr(S),H=Ao(o),F=Yb(M.textAnchor)?M.textAnchor:_oe(d,f),X=Eoe(d,f),P={};typeof a=="object"&&(P=a);var Y=Or(Or({},M),{},{fill:"none"},P),C=A.map(D=>Or({entry:D},Noe(D,p,m,g,h,d,v,f,y))),_=C.map(D=>{var E=D.entry,j=D.line;return pr.createElement(_t,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(E.value,"-").concat(E.coordinate,"-").concat(E.tickCoord)},a&&pr.createElement("line",Ju({},Y,j,{className:He("recharts-cartesian-axis-tick-line",un(a,"className"))})))}),z=C.map((D,E)=>{var j,R,U=D.entry,L=D.tick,q=Or(Or(Or(Or({verticalAnchor:X},M),{},{textAnchor:F,stroke:"none",fill:i},L),{},{index:E,payload:U,visibleTicksCount:A.length,tickFormatter:l,padding:u},c),{},{angle:(j=(R=c?.angle)!==null&&R!==void 0?R:M.angle)!==null&&j!==void 0?j:0}),ae=Or(Or({},q),H);return pr.createElement(_t,Ju({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(U.value,"-").concat(U.coordinate,"-").concat(U.tickCoord)},Li(w,U,E)),o&&pr.createElement(Ooe,{option:o,tickProps:ae,value:"".concat(typeof l=="function"?l(U.value,E):U.value).concat(s||"")}))});return pr.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(T,"-ticks")},pr.createElement(Toe,{ticks:A,axisId:k,axisType:T}),z.length>0&&pr.createElement(rr,{zIndex:vt.label},pr.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(T,"-tick-labels"),ref:t},z)),_.length>0&&pr.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(T,"-tick-lines")},_))}),Poe=(0,Dn.forwardRef)((e,t)=>{var r=e.axisLine,n=e.width,o=e.height,a=e.className,i=e.hide,l=e.ticks,s=e.axisType,u=e.axisId,c=boe(e,voe),d=(0,Dn.useState)(""),f=b7(d,2),p=f[0],m=f[1],g=(0,Dn.useState)(""),h=b7(g,2),v=h[0],y=h[1],b=(0,Dn.useRef)(null);(0,Dn.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>{var S;return p7({ticks:b.current,label:(S=e.labelRef)===null||S===void 0?void 0:S.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})},getCalculatedHeight:()=>{var S;return m7({ticks:b.current,label:(S=e.labelRef)===null||S===void 0?void 0:S.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var x=(0,Dn.useCallback)(S=>{if(S){var w=S.getElementsByClassName("recharts-cartesian-axis-tick-value");b.current=w;var T=w[0];if(T){var k=window.getComputedStyle(T),A=k.fontSize,M=k.letterSpacing;(A!==p||M!==v)&&(m(A),y(M))}}},[p,v]);return i||n!=null&&n<=0||o!=null&&o<=0?null:pr.createElement(rr,{zIndex:e.zIndex},pr.createElement(_t,{className:He("recharts-cartesian-axis",a)},pr.createElement(Coe,{x:e.x,y:e.y,width:n,height:o,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:cr(e)}),pr.createElement(Moe,{ref:x,axisType:s,events:c,fontSize:p,getTicksConfig:e,height:e.height,letterSpacing:v,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:l,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:u}),pr.createElement(ML,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},pr.createElement(jL,{label:e.label,labelRef:e.labelRef}),e.children)))}),Qv=pr.forwardRef((e,t)=>{var r=ft(e,ma);return pr.createElement(Poe,Ju({},r,{ref:t}))});Qv.displayName="CartesianAxis";var Tr=te(re());var C1=te(re());var A7={grid:{stroke:"#ccc",fill:"none"}};var k7=(0,C1.createContext)(A7),_Te=k7.Provider,C7=()=>(0,C1.useContext)(k7);var Doe=["x1","y1","x2","y2","key"],Ioe=["offset"],joe=["xAxisId","yAxisId"],zoe=["xAxisId","yAxisId"];function N7(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function In(e){for(var t=1;t{var t=e.fill;if(!t||t==="none")return null;var r=e.fillOpacity,n=e.x,o=e.y,a=e.width,i=e.height,l=e.ry;return Tr.createElement("rect",{x:n,y:o,ry:l,width:a,height:i,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function _7(e){var t=e.option,r=e.lineItemProps,n;if(Tr.isValidElement(t))n=Tr.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var o,a=r.x1,i=r.y1,l=r.x2,s=r.y2,u=r.key,c=N1(r,Doe),d=(o=cr(c))!==null&&o!==void 0?o:{},f=d.offset,p=N1(d,Ioe),m=Array.isArray(p.strokeDasharray)?p.strokeDasharray.join(","):p.strokeDasharray;n=Tr.createElement("line",Ru({},p,{strokeDasharray:m,x1:a,y1:i,x2:l,y2:s,fill:"none",key:u}))}return n}function Woe(e){var t=e.x,r=e.width,n=e.horizontal,o=n===void 0?!0:n,a=e.horizontalPoints;if(!o||!a||!a.length)return null;var i=e.xAxisId,l=e.yAxisId,s=N1(e,joe),u=a.map((c,d)=>{var f=In(In({},s),{},{x1:t,y1:c,x2:t+r,y2:c,key:"line-".concat(d),index:d});return Tr.createElement(_7,{key:"line-".concat(d),option:o,lineItemProps:f})});return Tr.createElement("g",{className:"recharts-cartesian-grid-horizontal"},u)}function Hoe(e){var t=e.y,r=e.height,n=e.vertical,o=n===void 0?!0:n,a=e.verticalPoints;if(!o||!a||!a.length)return null;var i=e.xAxisId,l=e.yAxisId,s=N1(e,zoe),u=a.map((c,d)=>{var f=In(In({},s),{},{x1:c,y1:t,x2:c,y2:t+r,key:"line-".concat(d),index:d});return Tr.createElement(_7,{option:o,lineItemProps:f,key:"line-".concat(d)})});return Tr.createElement("g",{className:"recharts-cartesian-grid-vertical"},u)}function Voe(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,o=e.y,a=e.width,i=e.height,l=e.horizontalPoints,s=e.horizontal,u=s===void 0?!0:s;if(!u||!t||!t.length||l==null)return null;var c=l.map(f=>Math.round(f+o-o)).sort((f,p)=>f-p);o!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var m=c[p+1],g=m==null,h=g?o+i-f:m-f;if(h<=0)return null;var v=p%t.length;return Tr.createElement("rect",{key:"react-".concat(p),y:f,x:n,height:h,width:a,stroke:"none",fill:t[v],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return Tr.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function Koe(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,o=e.fillOpacity,a=e.x,i=e.y,l=e.width,s=e.height,u=e.verticalPoints;if(!r||!n||!n.length)return null;var c=u.map(f=>Math.round(f+a-a)).sort((f,p)=>f-p);a!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var m=c[p+1],g=m==null,h=g?a+l-f:m-f;if(h<=0)return null;var v=p%n.length;return Tr.createElement("rect",{key:"react-".concat(p),x:f,y:i,width:h,height:s,stroke:"none",fill:n[v],fillOpacity:o,className:"recharts-cartesian-grid-bg"})});return Tr.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var qoe=(e,t)=>{var r=e.xAxis,n=e.width,o=e.height,a=e.offset;return Jk(Zv(In(In(In({},ma),r),{},{ticks:Rk(r,!0),viewBox:{x:0,y:0,width:n,height:o}})),a.left,a.left+a.width,t)},Goe=(e,t)=>{var r=e.yAxis,n=e.width,o=e.height,a=e.offset;return Jk(Zv(In(In(In({},ma),r),{},{ticks:Rk(r,!0),viewBox:{x:0,y:0,width:n,height:o}})),a.top,a.top+a.height,t)},Yoe={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:vt.grid};function rl(e){var t,r,n,o,a,i,l=qd(),s=Gd(),u=Y0(),c=In(In({},ft(e,Yoe)),{},{x:Se(e.x)?e.x:u.left,y:Se(e.y)?e.y:u.top,width:Se(e.width)?e.width:u.width,height:Se(e.height)?e.height:u.height}),d=c.xAxisId,f=c.yAxisId,p=c.x,m=c.y,g=c.width,h=c.height,v=c.syncWithTicks,y=c.horizontalValues,b=c.verticalValues,x=It(),S=Ae(_=>$N(_,"xAxis",d,x)),w=Ae(_=>$N(_,"yAxis",f,x)),T=C7(),k={stroke:(t=c.stroke)!==null&&t!==void 0?t:T.grid.stroke,strokeWidth:(r=c.strokeWidth)!==null&&r!==void 0?r:T.grid.strokeWidth,strokeOpacity:(n=c.strokeOpacity)!==null&&n!==void 0?n:T.grid.strokeOpacity,strokeDasharray:(o=c.strokeDasharray)!==null&&o!==void 0?o:T.grid.strokeDasharray};if(!ro(g)||!ro(h)||!Se(p)||!Se(m))return null;var A=c.verticalCoordinatesGenerator||qoe,M=c.horizontalCoordinatesGenerator||Goe,H=c.horizontalPoints,F=c.verticalPoints;if((!H||!H.length)&&typeof M=="function"){var X=y&&y.length,P=M({yAxis:w?In(In({},w),{},{ticks:X?y:w.ticks}):void 0,width:l??g,height:s??h,offset:u},X?!0:v);Kd(Array.isArray(P),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof P,"]")),Array.isArray(P)&&(H=P)}if((!F||!F.length)&&typeof A=="function"){var Y=b&&b.length,C=A({xAxis:S?In(In({},S),{},{ticks:Y?b:S.ticks}):void 0,width:l??g,height:s??h,offset:u},Y?!0:v);Kd(Array.isArray(C),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof C,"]")),Array.isArray(C)&&(F=C)}return Tr.createElement(rr,{zIndex:c.zIndex},Tr.createElement("g",{className:"recharts-cartesian-grid"},Tr.createElement(Uoe,{fill:(a=c.fill)!==null&&a!==void 0?a:T.grid.fill,fillOpacity:(i=c.fillOpacity)!==null&&i!==void 0?i:T.grid.fillOpacity,x:c.x,y:c.y,width:c.width,height:c.height,ry:c.ry}),Tr.createElement(Voe,Ru({},c,{horizontalPoints:H})),Tr.createElement(Koe,Ru({},c,{verticalPoints:F})),Tr.createElement(Woe,Ru({},c,k,{offset:u,horizontalPoints:H,xAxis:S,yAxis:w})),Tr.createElement(Hoe,Ru({},c,k,{offset:u,verticalPoints:F,xAxis:S,yAxis:w}))))}rl.displayName="CartesianGrid";var Ot=te(re()),nl=te(re());var E7=te(re());var Xoe=["animationElapsedTime","isAnimating","isEntrance","visibleLength","strokeDasharray","connectNulls"];function N_(){return N_=Object.assign?Object.assign.bind():function(e){for(var t=1;tp+m,0);if(!o)return O7(t,e);for(var a=Math.floor(e/o),i=e%o,l=[],s=0,u=0;si){l=[...n.slice(0,s),i-u];break}}var f=l.length%2===0?[0,t]:[t];return[...eae(n,a),...l,...f].map(p=>"".concat(p,"px")).join(", ")}function rae(e,t,r){if(e){var n="".concat(e).split(/[,\s]+/gim).map(o=>parseFloat(o));return tae(r,t,n)}return O7(t,r)}function T7(e){var t=e.animationElapsedTime,r=e.isAnimating,n=e.isEntrance,o=e.visibleLength,a=e.strokeDasharray,i=e.connectNulls,l=Zoe(e,Xoe),s=i??!1,u;if(o!=null){var c,d=l.pathRef,f=Joe((c=d?.current)!==null&&c!==void 0?c:null);u=rae(a,f,o)}else a!=null&&(u=String(a));return E7.createElement(Ja,N_({},l,{connectNulls:s,strokeDasharray:u}))}var ec=te(re());function M7(e){var t=(0,ec.useRef)(0),r=(0,ec.useRef)(0),n=(0,ec.useRef)(!1),o=(0,ec.useRef)(e);return o.current!==e&&(t.current=r.current,o.current=e),(0,ec.useCallback)((a,i)=>{if(n.current)return null;var l=Math.min(ea(t.current+a*i),i);return a>0&&i>0&&(r.current=Math.max(r.current,l),l>=i)?(n.current=!0,null):l},[])}var I7=te(re()),Jv=te(re());var nae={},P7=Dt({name:"errorBars",initialState:nae,reducers:{addErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,o=r.errorBar;e[n]||(e[n]=[]),e[n].push(o)},replaceErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,o=r.prev,a=r.next;e[n]&&(e[n]=e[n].map(i=>i.dataKey===o.dataKey&&i.direction===o.direction?a:i))},removeErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,o=r.errorBar;e[n]&&(e[n]=e[n].filter(a=>a.dataKey!==o.dataKey||a.direction!==o.direction))}}}),__=P7.actions,ZTe=__.addErrorBar,QTe=__.replaceErrorBar,JTe=__.removeErrorBar;var D7=P7.reducer;var oae=["children"];function aae(e,t){if(e==null)return{};var r,n,o=iae(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n({x:0,y:0,value:0}),errorBarOffset:0},sae=(0,Jv.createContext)(lae);function _1(e){var t=e.children,r=aae(e,oae);return I7.createElement(sae.Provider,{value:r},t)}var E_=te(re());function tc(e,t){var r,n,o=Ae(u=>ai(u,e)),a=Ae(u=>ii(u,t)),i=(r=o?.allowDataOverflow)!==null&&r!==void 0?r:Fr.allowDataOverflow,l=(n=a?.allowDataOverflow)!==null&&n!==void 0?n:Ur.allowDataOverflow,s=i||l;return{needClip:s,needClipX:i,needClipY:l}}function Uf(e){var t=e.xAxisId,r=e.yAxisId,n=e.clipPathId,o=Cs(),a=tc(t,r),i=a.needClipX,l=a.needClipY,s=a.needClip,u=Ae(b=>ON(b,t,!1)),c=Ae(b=>TN(b,r,!1));if(!s||!o)return null;var d=o.x,f=o.y,p=o.width,m=o.height,g=i&&u?Math.min(u[0],u[1]):d-p/2,h=l&&c?Math.min(c[0],c[1]):f-m/2,v=i&&u?Math.abs(u[1]-u[0]):p*2,y=l&&c?Math.abs(c[1]-c[0]):m*2;return E_.createElement("clipPath",{id:"clipPath-".concat(n)},E_.createElement("rect",{x:g,y:h,width:v,height:y}))}var j7=(e,t,r,n)=>jo(e,"xAxis",t,n),z7=(e,t,r,n)=>Io(e,"xAxis",t,n),L7=(e,t,r,n)=>jo(e,"yAxis",r,n),B7=(e,t,r,n)=>Io(e,"yAxis",r,n),uae=J([Qe,j7,L7,z7,B7],(e,t,r,n,o)=>Tn(e,"xAxis")?aa(t,n,!1):aa(r,o,!1)),cae=(e,t,r,n,o)=>o;function dae(e){return e.type==="line"}var fae=J([cs,cae],(e,t)=>e.filter(dae).find(r=>r.id===t)),$7=J([Qe,j7,L7,z7,B7,fae,uae,ku],(e,t,r,n,o,a,i,l)=>{var s=l.chartData,u=l.dataStartIndex,c=l.dataEndIndex;if(!(a==null||t==null||r==null||n==null||o==null||n.length===0||o.length===0||i==null||e!=="horizontal"&&e!=="vertical")){var d=a.dataKey,f=a.data,p;if(f!=null&&f.length>0?p=f:p=s?.slice(u,c+1),p!=null)return F7({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:o,dataKey:d,bandSize:i,displayedData:p})}});function E1(e){var t=Ao(e),r=3,n=2;if(t!=null){var o=t.r,a=t.strokeWidth,i=Number(o),l=Number(a);return(Number.isNaN(i)||i<0)&&(i=r),(Number.isNaN(l)||l<0)&&(l=n),{r:i,strokeWidth:l}}return{r,strokeWidth:n}}var pae=["id"],mae=["type","layout","connectNulls","needClip","shape","strokeDasharray"],vae=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function O1(){return O1=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?t/r:0}var Sae=(e,t)=>{if(e==null)return[];if(t===1)return e.flatMap(l=>l.status==="removed"?[]:[l.next]);var r=wae(e),n=[];for(var o of e)if(o.status==="matched")n.push(li(li({},o.next),{},{x:Pt(o.prev.x,o.next.x,t),y:Pt(o.prev.y,o.next.y,t)}));else if(o.status==="added")if(o.next.x!=null){var a=o.next.x-r;n.push(li(li({},o.next),{},{x:Pt(a,o.next.x,t),y:o.next.y}))}else n.push(o.next);else if(o.status==="removed"&&o.prev.x!=null){var i=o.prev.x+r;n.push(li(li({},o.prev),{},{x:Pt(o.prev.x,i,t),y:o.prev.y}))}return n},M_={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:Sae,animationMatchBy:Xu,connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",shape:T7,stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:vt.line,type:"linear"},Aae=e=>{var t=e.dataKey,r=e.name,n=e.stroke,o=e.legendType,a=e.hide;return[{inactive:a,dataKey:t,type:o,color:n,value:Eo(r,t),payload:e}]},kae=Ot.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,o=e.strokeWidth,a=e.fill,i=e.name,l=e.hide,s=e.unit,u=e.formatter,c=e.tooltipType,d=e.id,f={dataDefinedOnItem:r,getPosition:Un,settings:{stroke:n,strokeWidth:o,fill:a,dataKey:t,nameKey:void 0,name:Eo(i,t),hide:l,type:c,color:n,unit:s,formatter:u,graphicalItemId:d}};return Ot.createElement(bs,{tooltipEntrySettings:f})});function Cae(e){var t=e.clipPathId,r=e.points,n=e.props,o=n.dot,a=n.dataKey,i=n.needClip,l=n.id,s=T_(n,pae),u=cr(s);return Ot.createElement(x1,{points:r,dot:o,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:a,baseProps:u,needClip:i,clipPathId:t})}function Nae(e){var t=e.showLabels,r=e.children,n=e.points,o=(0,nl.useMemo)(()=>n?.map(a=>{var i,l,s={x:(i=a.x)!==null&&i!==void 0?i:0,y:(l=a.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return li(li({},s),{},{value:a.value,payload:a.payload,viewBox:s,parentViewBox:void 0,fill:void 0})}),[n]);return Ot.createElement(Pf,{value:t?o:void 0},r)}function _ae(e){var t=e.clipPathId,r=e.pathRef,n=e.points,o=e.props,a=e.animationElapsedTime,i=e.isAnimating,l=e.isEntrance,s=e.visibleLength,u=o.type,c=o.layout,d=o.connectNulls,f=o.needClip,p=o.shape,m=o.strokeDasharray,g=T_(o,mae),h=li(li({},dr(g)),{},{fill:"none",className:"recharts-line-curve",clipPath:f?"url(#clipPath-".concat(t,")"):void 0,points:n,type:u,layout:c,connectNulls:d,strokeDasharray:m??o.strokeDasharray,pathRef:r,animationElapsedTime:a,isAnimating:i,isEntrance:o.animateNewValues?l:!1,visibleLength:s});return Ot.createElement(Ot.Fragment,null,n?.length>1&&Ot.createElement(xs,{option:p,DefaultShape:M_.shape,shapeProps:h}),Ot.createElement(Cae,{points:n,clipPathId:t,props:o}))}function Eae(e){var t=e.clipPathId,r=e.props,n=e.pathRef,o=e.previousPointsRef,a=r.points,i=r.isAnimationActive,l=r.animationBegin,s=r.animationDuration,u=r.animationEasing,c=r.animationMatchBy,d=r.animationInterpolateFn,f=r.layout,p=bae(n.current),m=Ss(r.onAnimationStart,r.onAnimationEnd),g=m.isAnimating,h=m.handleAnimationStart,v=m.handleAnimationEnd,y=!g,b=M7(a),x=(0,nl.useCallback)(S=>S>0&&p>0,[p]);return Ot.createElement(Nae,{points:a,showLabels:y},r.children,Ot.createElement(As,{animationInput:a,animationIdPrefix:"recharts-line-",items:a,previousItemsRef:o,isAnimationActive:i,animationBegin:l,animationDuration:s,animationEasing:u,onAnimationStart:h,onAnimationEnd:v,animationInterpolateFn:d,animationMatchBy:c,shouldUpdatePreviousRef:x,layout:f},(S,w,T)=>{var k=g||w<1,A=k?b(w,p):null;return Ot.createElement(_ae,{props:r,points:S,clipPathId:t,pathRef:n,animationElapsedTime:w,isAnimating:k,isEntrance:T,visibleLength:A})}),Ot.createElement(hs,{label:r.label}))}function Oae(e){var t=e.clipPathId,r=e.props,n=(0,nl.useRef)(null),o=(0,nl.useRef)(null);return Ot.createElement(Eae,{props:r,clipPathId:t,previousPointsRef:n,pathRef:o})}var Tae=(e,t)=>{var r,n;return{x:(r=e.x)!==null&&r!==void 0?r:void 0,y:(n=e.y)!==null&&n!==void 0?n:void 0,value:e.value,errorVal:nt(e.payload,t)}},O_=class extends nl.Component{render(){var t=this.props,r=t.hide,n=t.dot,o=t.points,a=t.className,i=t.xAxisId,l=t.yAxisId,s=t.top,u=t.left,c=t.width,d=t.height,f=t.id,p=t.needClip,m=t.zIndex;if(r)return null;var g=He("recharts-line",a),h=f,v=E1(n),y=v.r,b=v.strokeWidth,x=Df(n),S=y*2+b,w=p?"url(#clipPath-".concat(x?"":"dots-").concat(h,")"):void 0;return Ot.createElement(rr,{zIndex:m},Ot.createElement(_t,{className:g},p&&Ot.createElement("defs",null,Ot.createElement(Uf,{clipPathId:h,xAxisId:i,yAxisId:l}),!x&&Ot.createElement("clipPath",{id:"clipPath-dots-".concat(h)},Ot.createElement("rect",{x:u-S/2,y:s-S/2,width:c+S,height:d+S}))),Ot.createElement(_1,{xAxisId:i,yAxisId:l,data:o,dataPointFormatter:Tae,errorBarOffset:0},Ot.createElement(Oae,{props:this.props,clipPathId:h}))),Ot.createElement(Kv,{activeDot:this.props.activeDot,points:o,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:w}))}};function Mae(e){var t=ft(e,M_),r=t.activeDot,n=t.animateNewValues,o=t.animationBegin,a=t.animationDuration,i=t.animationEasing,l=t.connectNulls,s=t.dot,u=t.hide,c=t.isAnimationActive,d=t.label,f=t.legendType,p=t.xAxisId,m=t.yAxisId,g=t.id,h=T_(t,vae),v=tc(p,m),y=v.needClip,b=Cs(),x=oo(),S=It(),w=Ae(H=>$7(H,p,m,S,g));if(x!=="horizontal"&&x!=="vertical"||w==null||b==null)return null;var T=b.height,k=b.width,A=b.x,M=b.y;return Ot.createElement(O_,O1({},h,{id:g,connectNulls:l,dot:s,activeDot:r,animateNewValues:n,animationBegin:o,animationDuration:a,animationEasing:i,isAnimationActive:c,hide:u,label:d,legendType:f,xAxisId:p,yAxisId:m,points:w,layout:x,height:T,width:k,left:A,top:M,needClip:y}))}function F7(e){var t=e.layout,r=e.xAxis,n=e.yAxis,o=e.xAxisTicks,a=e.yAxisTicks,i=e.dataKey,l=e.bandSize,s=e.displayedData;return s.map((u,c)=>{var d=nt(u,i);if(t==="horizontal"){var f=$d({axis:r,ticks:o,bandSize:l,entry:u,index:c}),p=mt(d)?null:n.scale.map(d);return{x:f,y:p??null,value:d,payload:u}}var m=mt(d)?null:r.scale.map(d),g=$d({axis:n,ticks:a,bandSize:l,entry:u,index:c});return m==null||g==null?null:{x:m,y:g,value:d,payload:u}}).filter(Boolean)}function Pae(e){var t=ft(e,M_),r=It();return Ot.createElement(ks,{id:t.id,type:"line"},n=>Ot.createElement(Ot.Fragment,null,Ot.createElement(jf,{legendPayload:Aae(t)}),Ot.createElement(kae,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:n}),Ot.createElement(Bf,{type:"line",id:n,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:r}),Ot.createElement(Mae,O1({},t,{id:n}))))}var T1=Ot.memo(Pae,ao);T1.displayName="Line";var St=te(re()),rc=te(re());function va(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(o=>o.id===t))===null||n===void 0?void 0:n.xAxisId)!==null&&r!==void 0?r:S_}function ga(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(o=>o.id===t))===null||n===void 0?void 0:n.yAxisId)!==null&&r!==void 0?r:S_}var W7=(e,t,r)=>jo(e,"xAxis",va(e,t),r),H7=(e,t,r)=>Io(e,"xAxis",va(e,t),r),V7=(e,t,r)=>jo(e,"yAxis",ga(e,t),r),K7=(e,t,r)=>Io(e,"yAxis",ga(e,t),r),Dae=J([Qe,W7,V7,H7,K7],(e,t,r,n,o)=>Tn(e,"xAxis")?aa(t,n,!1):aa(r,o,!1)),Iae=(e,t)=>t,P_=J([cs,Iae],(e,t)=>e.filter(r=>r.type==="area").find(r=>r.id===t)),q7=e=>{var t=Qe(e),r=Tn(t,"xAxis");return r?"yAxis":"xAxis"},jae=(e,t)=>{var r=q7(e);return r==="yAxis"?ga(e,t):va(e,t)},G7=(e,t,r)=>xf(e,q7(e),jae(e,t),r),zae=J([P_,G7],(e,t)=>{var r;if(!(e==null||t==null)){var n=e.stackId,o=ns(e);if(!(n==null||o==null)){var a=(r=t[n])===null||r===void 0?void 0:r.stackedData,i=a?.find(l=>l.key===o);if(i!=null)return i.map(l=>[l[0],l[1]])}}}),Lae=J([P_,G7],(e,t)=>{if(!(e==null||e.stackId==null||t==null)){var r=t[e.stackId];if(r!=null)return r.graphicalItems.map(n=>n.dataKey).filter(en)}}),Y7=J([Qe,W7,V7,H7,K7,zae,gx,Dae,P_,RI,Lae],(e,t,r,n,o,a,i,l,s,u,c)=>{var d=i.chartData,f=i.dataStartIndex,p=i.dataEndIndex;if(!(s==null||e!=="horizontal"&&e!=="vertical"||t==null||r==null||n==null||o==null||n.length===0||o.length===0||l==null)){var m=s.data,g;if(m&&m.length>0?g=m:g=d?.slice(f,p+1),g!=null)return X7({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:o,dataStartIndex:f,areaSettings:s,stackedData:a,displayedData:g,chartBaseValue:u,bandSize:l,stackDataKeys:c})}});var jn=te(re());var Bae=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],$ae=["id","baseLine"];function Rv(){return Rv=Object.assign?Object.assign.bind():function(e){for(var t=1;td.y||0));return Se(o)?c=Math.max(o,c):o&&Array.isArray(o)&&o.length&&(c=Math.max(...o.map(d=>d.y||0),c)),Se(c)?jn.createElement("rect",{x:ld.x||0));return Se(o)?c=Math.max(o,c):o&&Array.isArray(o)&&o.length&&(c=Math.max(...o.map(d=>d.x||0),c)),Se(c)?jn.createElement("rect",{x:0,y:le==null?[]:t===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>r.status==="matched"?[Wf(Wf({},r.next),{},{x:Pt(r.prev.x,r.next.x,t),y:Pt(r.prev.y,r.next.y,t)})]:r.status==="added"?[r.next]:[]),e9={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:Xu,animationInterpolateFn:Zae,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:Q7,xAxisId:0,yAxisId:0,zIndex:vt.area};function P1(e,t){return e&&e!=="none"?e:t}var Qae=e=>{var t=e.dataKey,r=e.name,n=e.stroke,o=e.fill,a=e.legendType,i=e.hide;return[{inactive:i,dataKey:t,type:a,color:P1(n,o),value:Eo(r,t),payload:e}]},Jae=St.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,o=e.strokeWidth,a=e.fill,i=e.name,l=e.hide,s=e.unit,u=e.formatter,c=e.tooltipType,d=e.id,f={dataDefinedOnItem:r,getPosition:Un,settings:{stroke:n,strokeWidth:o,fill:a,dataKey:t,nameKey:void 0,name:Eo(i,t),hide:l,type:c,color:P1(n,a),unit:s,formatter:u,graphicalItemId:d}};return St.createElement(bs,{tooltipEntrySettings:f})});function Rae(e){var t=e.clipPathId,r=e.points,n=e.props,o=n.needClip,a=n.dot,i=n.dataKey,l=cr(n);return St.createElement(x1,{points:r,dot:a,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:i,baseProps:l,needClip:o,clipPathId:t})}function eie(e){var t=e.showLabels,r=e.children,n=e.points,o=n.map(a=>{var i,l,s={x:(i=a.x)!==null&&i!==void 0?i:0,y:(l=a.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Wf(Wf({},s),{},{value:a.value,payload:a.payload,parentViewBox:void 0,viewBox:s,fill:void 0})});return St.createElement(Pf,{value:t?o:void 0},r)}function tie(e){var t=e.points,r=e.baseLine,n=e.needClip,o=e.clipPathId,a=e.props,i=e.animationElapsedTime,l=e.isAnimating,s=e.isEntrance,u=a.layout,c=a.type,d=a.stroke,f=a.connectNulls,p=a.isRange,m=a.shape,g=a.id,h=R7(a,Vae),v=dr(h),y=Wf(Wf({},v),{},{id:g,points:t,connectNulls:f,type:c,baseLine:r,layout:u,stroke:d,isRange:p,animationElapsedTime:i,isAnimating:l,isEntrance:s});return St.createElement(St.Fragment,null,t?.length>1&&St.createElement(_t,{clipPath:n?"url(#clipPath-".concat(o,")"):void 0},St.createElement(xs,{option:m,DefaultShape:e9.shape,shapeProps:y})),St.createElement(Rae,{points:t,props:h,clipPathId:o}))}function rie(e,t,r){if(Se(e)){var n=Se(t)?t:void 0;return Pt(n,e,r)}if(mt(e)||cn(e)){var o=Se(t)?t:void 0;return Pt(o,0,r)}return e}function nie(e){var t=e.needClip,r=e.clipPathId,n=e.props,o=e.previousPointsRef,a=e.previousBaselineRef,i=n.points,l=n.baseLine,s=n.isAnimationActive,u=n.animationBegin,c=n.animationDuration,d=n.animationEasing,f=n.animationMatchBy,p=n.animationInterpolateFn,m=(0,rc.useMemo)(()=>({points:i,baseLine:l}),[i,l]),g=f1(m,a),h=Yd(),v=Ss(n.onAnimationStart,n.onAnimationEnd),y=v.isAnimating,b=v.handleAnimationStart,x=v.handleAnimationEnd,S=g.startValue;if(h==null)return null;var w;return Array.isArray(l)&&Array.isArray(S)?w=Uv(S,l,f):Array.isArray(l)?w=Uv(null,l,f):w=null,St.createElement(As,{animationInput:m,animationIdPrefix:"recharts-area-",items:i,previousItemsRef:o,isAnimationActive:s,animationBegin:u,animationDuration:c,animationEasing:d,onAnimationStart:b,onAnimationEnd:x,animationInterpolateFn:p,animationMatchBy:f,layout:h},(T,k,A)=>{var M;return k===1?M=l:Array.isArray(l)?M=p(w,k,h):M=A?l:rie(l,S,k),g.syncStepValue(M,k),St.createElement(eie,{showLabels:!y,points:i},n.children,St.createElement(tie,{points:T,baseLine:M,needClip:t,clipPathId:r,props:n,animationElapsedTime:k,isAnimating:y||k<1,isEntrance:A}),St.createElement(hs,{label:n.label}))})}function oie(e){var t=e.needClip,r=e.clipPathId,n=e.props,o=(0,rc.useRef)(null),a=(0,rc.useRef)();return St.createElement(nie,{needClip:t,clipPathId:r,props:n,previousPointsRef:o,previousBaselineRef:a})}var D_=class extends rc.PureComponent{render(){var t=this.props,r=t.hide,n=t.dot,o=t.points,a=t.className,i=t.top,l=t.left,s=t.needClip,u=t.xAxisId,c=t.yAxisId,d=t.width,f=t.height,p=t.id,m=t.baseLine,g=t.zIndex;if(r)return null;var h=He("recharts-area",a),v=p,y=E1(n),b=y.r,x=y.strokeWidth,S=Df(n),w=b*2+x,T=s?"url(#clipPath-".concat(S?"":"dots-").concat(v,")"):void 0;return St.createElement(rr,{zIndex:g},St.createElement(_t,{className:h},s&&St.createElement("defs",null,St.createElement(Uf,{clipPathId:v,xAxisId:u,yAxisId:c}),!S&&St.createElement("clipPath",{id:"clipPath-dots-".concat(v)},St.createElement("rect",{x:l-w/2,y:i-w/2,width:d+w,height:f+w}))),St.createElement(oie,{needClip:s,clipPathId:v,props:this.props})),St.createElement(Kv,{points:o,mainColor:P1(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}),this.props.isRange&&Array.isArray(m)&&St.createElement(Kv,{points:m,mainColor:P1(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}))}};function aie(e){var t,r=e.activeDot,n=e.animationBegin,o=e.animationDuration,a=e.animationEasing,i=e.connectNulls,l=e.dot,s=e.fill,u=e.fillOpacity,c=e.hide,d=e.isAnimationActive,f=e.legendType,p=e.stroke,m=e.xAxisId,g=e.yAxisId,h=R7(e,Kae),v=oo(),y=zb(),b=tc(m,g),x=b.needClip,S=It(),w=(t=Ae(Y=>Y7(Y,e.id,S)))!==null&&t!==void 0?t:{},T=w.points,k=w.isRange,A=w.baseLine,M=Cs();if(v!=="horizontal"&&v!=="vertical"||M==null||y!=="AreaChart"&&y!=="ComposedChart")return null;var H=M.height,F=M.width,X=M.x,P=M.y;return!T||!T.length?null:St.createElement(D_,M1({},h,{activeDot:r,animationBegin:n,animationDuration:o,animationEasing:a,baseLine:A,connectNulls:i,dot:l,fill:s,fillOpacity:u,height:H,hide:c,layout:v,isAnimationActive:d,isRange:k,legendType:f,needClip:x,points:T,stroke:p,width:F,left:X,top:P,xAxisId:m,yAxisId:g}))}var iie=(e,t,r,n,o)=>{var a=r??t;if(Se(a))return a;var i=e==="horizontal"?o:n,l=i.scale.domain();if(i.type==="number"){var s=Math.max(l[0],l[1]),u=Math.min(l[0],l[1]);return a==="dataMin"?u:a==="dataMax"||s<0?s:Math.max(Math.min(l[0],l[1]),0)}return a==="dataMin"?l[0]:a==="dataMax"?l[1]:l[0]};function X7(e){var t=e.areaSettings,r=t.connectNulls,n=t.baseValue,o=t.dataKey,a=e.stackedData,i=e.layout,l=e.chartBaseValue,s=e.xAxis,u=e.yAxis,c=e.displayedData,d=e.dataStartIndex,f=e.xAxisTicks,p=e.yAxisTicks,m=e.bandSize,g=e.stackDataKeys,h=a&&a.length,v=iie(i,l,n,s,u),y=i==="horizontal",b=!1,x=c.map((w,T)=>{var k,A,M,H;if(h)H=a[d+T];else{var F=nt(w,o);Array.isArray(F)?(H=F,b=!0):H=[v,F]}var X=(k=(A=H)===null||A===void 0?void 0:A[1])!==null&&k!==void 0?k:null,P=nt(w,o),Y=h&&P==null&&g!=null&&g.length>0&&g.every(z=>nt(w,z)==null),C=X==null||h&&!r&&P==null||Y;if(y){var _;return{x:$d({axis:s,ticks:f,bandSize:m,entry:w,index:T}),y:C?null:(_=u.scale.map(X))!==null&&_!==void 0?_:null,value:H,payload:w}}return{x:C?null:(M=s.scale.map(X))!==null&&M!==void 0?M:null,y:$d({axis:u,ticks:p,bandSize:m,entry:w,index:T}),value:H,payload:w}}),S;return h||b?S=x.map(w=>{var T,k=Array.isArray(w.value)?w.value[0]:null;if(y){var A;return{x:w.x,y:k!=null&&w.y!=null&&(A=u.scale.map(k))!==null&&A!==void 0?A:null,payload:w.payload}}return{x:k!=null&&(T=s.scale.map(k))!==null&&T!==void 0?T:null,y:w.y,payload:w.payload}}):S=y?u.scale.map(v):s.scale.map(v),{points:x,baseLine:S??0,isRange:b}}function lie(e){var t=ft(e,e9),r=It();return St.createElement(ks,{id:t.id,type:"area"},n=>St.createElement(St.Fragment,null,St.createElement(jf,{legendPayload:Qae(t)}),St.createElement(Jae,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:n}),St.createElement(Bf,{type:"area",id:n,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:U0(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:r,connectNulls:t.connectNulls}),St.createElement(aie,M1({},t,{id:n}))))}var ol=St.memo(lie,ao);ol.displayName="Area";var ct=te(re()),La=te(re());var r9=te(re());var sie=!0,I_="Invariant failed";function t9(e,t){if(!e){if(sie)throw new Error(I_);var r=typeof t=="function"?t():t,n=r?"".concat(I_,": ").concat(r):I_;throw new Error(n)}}var uie=["option"];function cie(e,t){if(e==null)return{};var r,n,o=die(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n1&&arguments[1]!==void 0?arguments[1]:0;return(n,o)=>{if(Se(t))return t;var a=Se(n)||mt(n);return a?t(n,o):(a||t9(!1,"minPointSize callback function received a value with type of ".concat(typeof n,". Currently only numbers or null/undefined are supported.")),r)}};var fie=(e,t,r)=>r,pie=(e,t)=>t,eg=J([cs,pie],(e,t)=>e.filter(r=>r.type==="bar").find(r=>r.id===t)),mie=J([eg],e=>e?.maxBarSize),vie=(e,t,r,n)=>n,gie=J([Qe,cs,va,ga,fie],(e,t,r,n,o)=>t.filter(a=>e==="horizontal"?a.xAxisId===r:a.yAxisId===n).filter(a=>a.isPanorama===o).filter(a=>a.hide===!1).filter(a=>a.type==="bar")),yie=(e,t,r)=>{var n=Qe(e),o=va(e,t),a=ga(e,t);if(!(o==null||a==null))return n==="horizontal"?xf(e,"yAxis",a,r):xf(e,"xAxis",o,r)},hie=(e,t)=>{var r=Qe(e),n=va(e,t),o=ga(e,t);if(!(n==null||o==null))return r==="horizontal"?zN(e,"xAxis",n):zN(e,"yAxis",o)},xie=J([gie,JI,hie],VB),bie=(e,t,r)=>{var n,o,a=eg(e,t);if(a==null)return 0;var i=va(e,t),l=ga(e,t);if(i==null||l==null)return 0;var s=Qe(e),u=CC(e),c=a.maxBarSize,d=mt(c)?u:c,f,p;return s==="horizontal"?(f=jo(e,"xAxis",i,r),p=Io(e,"xAxis",i,r)):(f=jo(e,"yAxis",l,r),p=Io(e,"yAxis",l,r)),(n=(o=aa(f,p,!0))!==null&&o!==void 0?o:d)!==null&&n!==void 0?n:0},o9=(e,t,r)=>{var n=Qe(e),o=va(e,t),a=ga(e,t);if(!(o==null||a==null)){var i,l;return n==="horizontal"?(i=jo(e,"xAxis",o,r),l=Io(e,"xAxis",o,r)):(i=jo(e,"yAxis",a,r),l=Io(e,"yAxis",a,r)),aa(i,l)}},wie=J([xie,CC,QI,wx,bie,o9,mie],qB),Sie=(e,t,r)=>{var n=va(e,t);if(n!=null)return jo(e,"xAxis",n,r)},Aie=(e,t,r)=>{var n=ga(e,t);if(n!=null)return jo(e,"yAxis",n,r)},kie=(e,t,r)=>{var n=va(e,t);if(n!=null)return Io(e,"xAxis",n,r)},Cie=(e,t,r)=>{var n=ga(e,t);if(n!=null)return Io(e,"yAxis",n,r)},Nie=J([wie,eg],YB),_ie=J([yie,eg],GB),a9=J([Ht,Hd,Sie,Aie,kie,Cie,Nie,Qe,gx,o9,_ie,eg,vie],(e,t,r,n,o,a,i,l,s,u,c,d,f)=>{var p=s.chartData,m=s.dataStartIndex,g=s.dataEndIndex;if(!(d==null||i==null||t==null||l!=="horizontal"&&l!=="vertical"||r==null||n==null||o==null||a==null||u==null)){var h=d.data,v;if(h!=null&&h.length>0?v=h:v=p?.slice(m,g+1),v!=null)return i9({layout:l,barSettings:d,pos:i,parentViewBox:t,bandSize:u,xAxis:r,yAxis:n,xAxisTicks:o,yAxisTicks:a,stackedData:c,displayedData:v,offset:e,cells:f,dataStartIndex:m})}});var z_=te(re()),Hf=te(re());var Eie=["index"];function j_(){return j_=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=(0,Hf.useContext)(l9);if(t!=null)return t.stackId;if(e!=null)return U0(e)};var Mie=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),Pie=e=>{var t=(0,Hf.useContext)(l9);if(t!=null){var r=t.stackId;return"url(#".concat(Mie(r,e),")")}},L_=e=>{var t=e.index,r=Oie(e,Eie),n=Pie(t);return z_.createElement(_t,j_({className:"recharts-bar-stack-layer",clipPath:n},r))};var Die=["onMouseEnter","onMouseLeave","onClick"],Iie=["value","background","tooltipPosition"],jie=["id"],zie=["onMouseEnter","onClick","onMouseLeave"];function u9(e,t){return Fie(e)||$ie(e,t)||Bie(e,t)||Lie()}function Lie(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bie(e,t){if(e){if(typeof e=="string")return c9(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c9(e,t):void 0}}function c9(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.dataKey,r=e.name,n=e.fill,o=e.legendType,a=e.hide;return[{inactive:a,dataKey:t,type:o,color:n,value:Eo(r,t),payload:e}]},qie=ct.memo(e=>{var t=e.dataKey,r=e.stroke,n=e.strokeWidth,o=e.fill,a=e.name,i=e.hide,l=e.unit,s=e.formatter,u=e.tooltipType,c=e.id,d={dataDefinedOnItem:void 0,getPosition:Un,settings:{stroke:r,strokeWidth:n,fill:o,dataKey:t,nameKey:void 0,name:Eo(a,t),hide:i,type:u,color:o,unit:l,formatter:s,graphicalItemId:c}};return ct.createElement(bs,{tooltipEntrySettings:d})});function Gie(e){var t=Ae(da),r=e.data,n=e.dataKey,o=e.background,a=e.allOtherBarProps,i=a.onMouseEnter,l=a.onMouseLeave,s=a.onClick,u=j1(a,Die),c=zv(i,n,a.id),d=Lv(l),f=Bv(s,n,a.id);if(!o||r==null)return null;var p=Ao(o);return ct.createElement(rr,{zIndex:XB(o,vt.barBackground)},r.map((m,g)=>{var h=m.value,v=m.background,y=m.tooltipPosition,b=j1(m,Iie);if(!v)return null;var x=c(m,m.originalDataIndex),S=d(m,m.originalDataIndex),w=f(m,m.originalDataIndex),T=nn(nn(nn(nn(nn({option:o,isActive:String(m.originalDataIndex)===t},b),{},{fill:"#eee"},v),p),Li(u,m,g)),{},{onMouseEnter:x,onMouseLeave:S,onClick:w,dataKey:n,index:g,className:"recharts-bar-background-rectangle"});return ct.createElement(I1,Ns({key:"background-bar-".concat(g)},T))}))}function Yie(e){var t=e.showLabels,r=e.children,n=e.rects,o=n?.map(a=>{var i={x:a.x,y:a.y,width:a.width,lowerWidth:a.width,upperWidth:a.width,height:a.height};return nn(nn({},i),{},{value:a.value,payload:a.payload,parentViewBox:a.parentViewBox,viewBox:i,fill:a.fill})});return ct.createElement(Pf,{value:t?o:void 0},r)}function Xie(e){var t=e.shape,r=e.activeBar,n=e.baseProps,o=e.entry,a=e.index,i=e.dataKey,l=Ae(da),s=Ae(Af),u=r&&String(o.originalDataIndex)===l&&(s==null||i===s),c=l!=null&&(String(o.originalDataIndex)!==l||s!=null&&i!==s),d=(0,La.useState)(!1),f=u9(d,2),p=f[0],m=f[1],g=(0,La.useState)(!1),h=u9(g,2),v=h[0],y=h[1];(0,La.useEffect)(()=>{var k;return u?(m(!0),k=requestAnimationFrame(()=>{y(!0)})):(y(!1),c&&m(!1)),()=>{cancelAnimationFrame(k)}},[u,c]);var b=(0,La.useCallback)(()=>{u||m(!1)},[u]),x=u&&v,S=u||p,w;u?r===!0?w=t:w=r:w=t;var T=ct.createElement(I1,Ns({},n,{name:String(n.name)},o,{isActive:x,option:w,index:a,dataKey:i,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance,onTransitionEnd:b}));return S?ct.createElement(rr,{zIndex:vt.activeBar},ct.createElement(L_,{index:o.originalDataIndex},T)):T}function Zie(e){var t=e.shape,r=e.baseProps,n=e.entry,o=e.index,a=e.dataKey;return ct.createElement(I1,Ns({},r,{name:String(r.name)},n,{isActive:!1,option:t,index:o,dataKey:a,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance}))}function Qie(e){var t,r=e.data,n=e.props,o=e.animationElapsedTime,a=e.isAnimating,i=e.isEntrance,l=(t=cr(n))!==null&&t!==void 0?t:{},s=l.id,u=j1(l,jie),c=n.shape,d=n.dataKey,f=n.activeBar,p=n.onMouseEnter,m=n.onClick,g=n.onMouseLeave,h=j1(n,zie),v=zv(p,d,s),y=Lv(g),b=Bv(m,d,s);return r?ct.createElement(ct.Fragment,null,r.map((x,S)=>ct.createElement(L_,Ns({index:x.originalDataIndex,key:"rectangle-".concat(x?.x,"-").concat(x?.y,"-").concat(x?.value,"-").concat(S),className:"recharts-bar-rectangle"},Li(h,x,S),{onMouseEnter:v(x,x.originalDataIndex),onMouseLeave:y(x,x.originalDataIndex),onClick:b(x,x.originalDataIndex)}),f?ct.createElement(Xie,{shape:c,activeBar:f,baseProps:u,entry:x,index:S,dataKey:d,animationElapsedTime:o,isAnimating:a,isEntrance:i}):ct.createElement(Zie,{shape:c,baseProps:u,entry:x,index:S,dataKey:d,animationElapsedTime:o,isAnimating:a,isEntrance:i})))):null}var Jie=(e,t,r)=>e==null?[]:t===1?e.flatMap(n=>n.status==="removed"?[]:[n.next]):e.flatMap(n=>{if(n.status==="removed")return r==="horizontal"?[nn(nn({},n.prev),{},{height:Pt(n.prev.height,0,t),y:Pt(n.prev.y,n.prev.y+n.prev.height,t)})]:[nn(nn({},n.prev),{},{width:Pt(n.prev.width,0,t)})];if(n.status==="matched")return[nn(nn({},n.next),{},{x:Pt(n.prev.x,n.next.x,t),y:Pt(n.prev.y,n.next.y,t),width:Pt(n.prev.width,n.next.width,t),height:Pt(n.prev.height,n.next.height,t)})];var o=n.next;return r==="horizontal"?[nn(nn({},o),{},{height:Pt(0,o.height,t),y:Pt(o.stackedBarStart,o.y,t)})]:[nn(nn({},o),{},{width:Pt(0,o.width,t),x:Pt(o.stackedBarStart,o.x,t)})]});function Rie(e){var t=e.props,r=e.previousRectanglesRef,n=t.data,o=t.isAnimationActive,a=t.animationBegin,i=t.animationDuration,l=t.animationEasing,s=t.animationInterpolateFn,u=t.layout,c=Ss(t.onAnimationStart,t.onAnimationEnd),d=c.isAnimating,f=c.handleAnimationStart,p=c.handleAnimationEnd;return ct.createElement(Yie,{showLabels:!d,rects:n},ct.createElement(As,{animationInput:n,animationIdPrefix:"recharts-bar-",items:n,previousItemsRef:r,isAnimationActive:o,animationBegin:a,animationDuration:i,animationEasing:l,onAnimationStart:f,onAnimationEnd:p,animationInterpolateFn:s,animationMatchBy:t.animationMatchBy,layout:u},(m,g,h)=>ct.createElement(_t,null,ct.createElement(Qie,{props:t,data:m,animationElapsedTime:g,isAnimating:d||g<1,isEntrance:h}))),ct.createElement(hs,{label:t.label}),t.children)}function ele(e){var t=(0,La.useRef)(null);return ct.createElement(Rie,{previousRectanglesRef:t,props:e})}var f9=0,tle=(e,t)=>{var r=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:r,errorVal:nt(e,t)}},B_=class extends La.PureComponent{render(){var t=this.props,r=t.hide,n=t.data,o=t.dataKey,a=t.className,i=t.xAxisId,l=t.yAxisId,s=t.needClip,u=t.background,c=t.id;if(r||n==null)return null;var d=He("recharts-bar",a),f=c;return ct.createElement(_t,{className:d,id:c},s&&ct.createElement("defs",null,ct.createElement(Uf,{clipPathId:f,xAxisId:i,yAxisId:l})),ct.createElement(_t,{className:"recharts-bar-rectangles",clipPath:s?"url(#clipPath-".concat(f,")"):void 0},ct.createElement(Gie,{data:n,dataKey:o,background:u,allOtherBarProps:this.props}),ct.createElement(ele,this.props)))}},rle={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",animationInterpolateFn:Jie,animationMatchBy:Fv,background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:f9,shape:D1,xAxisId:0,yAxisId:0,zIndex:vt.bar};function nle(e){var t=e.xAxisId,r=e.yAxisId,n=e.hide,o=e.legendType,a=e.minPointSize,i=e.activeBar,l=e.animationBegin,s=e.animationDuration,u=e.animationEasing,c=e.isAnimationActive,d=tc(t,r),f=d.needClip,p=oo(),m=It(),g=Iv(e.children,Ji),h=Ae(b=>a9(b,e.id,m,g));if(p!=="vertical"&&p!=="horizontal")return null;var v,y=h?.[0];return y==null||y.height==null||y.width==null?v=0:v=p==="vertical"?y.height/2:y.width/2,ct.createElement(_1,{xAxisId:t,yAxisId:r,data:h,dataPointFormatter:tle,errorBarOffset:v},ct.createElement(B_,Ns({},e,{layout:p,needClip:f,data:h,xAxisId:t,yAxisId:r,hide:n,legendType:o,minPointSize:a,activeBar:i,animationBegin:l,animationDuration:s,animationEasing:u,isAnimationActive:c})))}function i9(e){var t=e.layout,r=e.barSettings,n=r.dataKey,o=r.minPointSize,a=r.hasCustomShape,i=e.pos,l=e.bandSize,s=e.xAxis,u=e.yAxis,c=e.xAxisTicks,d=e.yAxisTicks,f=e.stackedData,p=e.displayedData,m=e.offset,g=e.cells,h=e.parentViewBox,v=e.dataStartIndex,y=t==="horizontal"?u:s,b=f?y.scale.domain():null,x=ZD({numericAxis:y}),S=y.scale.map(x);return p.map((w,T)=>{var k,A,M,H,F,X;if(f){var P=f[T+v];if(P==null)return null;k=YD(P,b)}else k=nt(w,n),Array.isArray(k)||(k=[x,k]);var Y=n9(o,f9)(k[1],T);if(t==="horizontal"){var C,_=u.scale.map(k[0]),z=u.scale.map(k[1]);if(_==null||z==null)return null;A=eC({axis:s,ticks:c,bandSize:l,offset:i.offset,entry:w,index:T}),M=(C=z??_)!==null&&C!==void 0?C:void 0,H=i.size;var D=_-z;if(F=cn(D)?0:D,X={x:A,y:m.top,width:H,height:m.height},Math.abs(Y)>0&&Math.abs(F)0&&Math.abs(H)ct.createElement(ct.Fragment,null,ct.createElement(jf,{legendPayload:Kie(t)}),ct.createElement(qie,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:o}),ct.createElement(Bf,{type:"bar",id:o,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:r,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:n,hasCustomShape:t.shape!=null&&t.shape!==D1}),ct.createElement(rr,{zIndex:t.zIndex},ct.createElement(nle,Ns({},t,{id:o})))))}var z1=ct.memo(ole,ao);z1.displayName="Bar";var al=te(re()),ya=te(re());var ale=["domain","range"],ile=["domain","range"];function p9(e,t){if(e==null)return{};var r,n,o=lle(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{if(i!=null)return g9(g9({},a),{},{type:i})},[a,i]);return(0,ya.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(OB(l)):r.current!==l&&t(TB({prev:r.current,next:l})),r.current=l)},[l,t]),(0,ya.useLayoutEffect)(()=>()=>{r.current&&(t(MB(r.current)),r.current=null)},[t]),null}var gle=e=>{var t=e.xAxisId,r=e.className,n=e.height,o=e.label,a=(0,ya.useRef)(null),i=(0,ya.useRef)(null),l=Ae(Hd),s=It(),u=Xe(),c="xAxis",d=Ae(w=>Ab(w,c,t,s)),f=Ae(w=>IN(w,t)),p=Ae(w=>Uj(w,t)),m=Ae(w=>dN(w,t));if((0,ya.useLayoutEffect)(()=>{if(!(n!=="auto"||!f||Yu(o)||(0,ya.isValidElement)(o)||m==null)){var w=a.current;if(w){var T=w.getCalculatedHeight();Math.round(f.height)!==Math.round(T)&&u(zB({id:t,height:T}))}}},[d,f,u,o,t,n,m]),f==null||p==null||m==null)return null;var g=e.dangerouslySetInnerHTML,h=e.ticks,v=e.scale,y=F_(e,ule),b=m.id,x=m.scale,S=F_(m,cle);return al.createElement(Qv,$_({},y,S,{ref:a,labelRef:i,x:p.x,y:p.y,width:f.width,height:f.height,className:He("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:d,axisType:c,axisId:t}))},yle={allowDataOverflow:Fr.allowDataOverflow,allowDecimals:Fr.allowDecimals,allowDuplicatedCategory:Fr.allowDuplicatedCategory,angle:Fr.angle,axisLine:ma.axisLine,height:Fr.height,hide:!1,includeHidden:Fr.includeHidden,interval:Fr.interval,label:!1,minTickGap:Fr.minTickGap,mirror:Fr.mirror,orientation:Fr.orientation,padding:Fr.padding,reversed:Fr.reversed,scale:Fr.scale,tick:Fr.tick,tickCount:Fr.tickCount,tickLine:ma.tickLine,tickSize:ma.tickSize,type:Fr.type,niceTicks:Fr.niceTicks,xAxisId:0},hle=e=>{var t=ft(e,yle);return al.createElement(al.Fragment,null,al.createElement(vle,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),al.createElement(gle,t))},il=al.memo(hle,L1);il.displayName="XAxis";var ll=te(re()),ha=te(re());var xle=["type"],ble=["dangerouslySetInnerHTML","ticks","scale"],wle=["id","scale"];function U_(){return U_=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(i!=null)return h9(h9({},a),{},{type:i})},[i,a]);return(0,ha.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(PB(l)):r.current!==l&&t(DB({prev:r.current,next:l})),r.current=l)},[l,t]),(0,ha.useLayoutEffect)(()=>()=>{r.current&&(t(IB(r.current)),r.current=null)},[t]),null}function _le(e){var t=e.yAxisId,r=e.className,n=e.width,o=e.label,a=(0,ha.useRef)(null),i=(0,ha.useRef)(null),l=Ae(Hd),s=It(),u=Xe(),c="yAxis",d=Ae(w=>jN(w,t)),f=Ae(w=>Wj(w,t)),p=Ae(w=>Ab(w,c,t,s)),m=Ae(w=>fN(w,t));if((0,ha.useLayoutEffect)(()=>{if(!(n!=="auto"||!d||Yu(o)||(0,ha.isValidElement)(o)||m==null)){var w=a.current;if(w){var T=w.getCalculatedWidth();Math.round(d.width)!==Math.round(T)&&u(jB({id:t,width:T}))}}},[p,d,u,o,t,n,m]),d==null||f==null||m==null)return null;var g=e.dangerouslySetInnerHTML,h=e.ticks,v=e.scale,y=W_(e,ble),b=m.id,x=m.scale,S=W_(m,wle);return ll.createElement(Qv,U_({},y,S,{ref:a,labelRef:i,x:f.x,y:f.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:d.width,height:d.height,className:He("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:p,axisType:c,axisId:t}))}var Ele={allowDataOverflow:Ur.allowDataOverflow,allowDecimals:Ur.allowDecimals,allowDuplicatedCategory:Ur.allowDuplicatedCategory,angle:Ur.angle,axisLine:ma.axisLine,hide:!1,includeHidden:Ur.includeHidden,interval:Ur.interval,label:!1,minTickGap:Ur.minTickGap,mirror:Ur.mirror,orientation:Ur.orientation,padding:Ur.padding,reversed:Ur.reversed,scale:Ur.scale,tick:Ur.tick,tickCount:Ur.tickCount,tickLine:ma.tickLine,tickSize:ma.tickSize,type:Ur.type,niceTicks:Ur.niceTicks,width:Ur.width,yAxisId:0},Ole=e=>{var t=ft(e,Ele);return ll.createElement(ll.Fragment,null,ll.createElement(Nle,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),ll.createElement(_le,t))},sl=ll.memo(Ole,L1);sl.displayName="YAxis";var K9=te(re()),q9=te(re());var sc=te(re()),V9=te(re());var D9=te(re()),I9=te(re());var Tle=(e,t)=>t,tg=J([Tle,Qe,Ox,$r,KN,so,bz,Ht],Nz);function Mle(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function rg(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if(Mle(e)){var o=e.currentTarget.getBBox();r=o.width>0?t.width/o.width:1,n=o.height>0?t.height/o.height:1}else{var a=e.currentTarget;r=a.offsetWidth>0?t.width/a.offsetWidth:1,n=a.offsetHeight>0?t.height/a.offsetHeight:1}var i=(l,s)=>({relativeX:Math.round((l-t.left)/r),relativeY:Math.round((s-t.top)/n)});return"touches"in e?Array.from(e.touches).map(l=>i(l.clientX,l.clientY)):i(e.clientX,e.clientY)}var V_=Gr("mouseClick"),K_=Wi();K_.startListening({actionCreator:V_,effect:(e,t)=>{var r=e.payload,n=tg(t.getState(),rg(r));n?.activeIndex!=null&&t.dispatch(Rj({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var B1=Gr("mouseMove"),q_=Wi(),Vf=null,nc=null,H_=null;q_.startListening({actionCreator:B1,effect:(e,t)=>{var r=e.payload,n=t.getState(),o=n.eventSettings,a=o.throttleDelay,i=o.throttledEvents,l=i==="all"||i?.includes("mousemove");Vf!==null&&(cancelAnimationFrame(Vf),Vf=null),nc!==null&&(typeof a!="number"||!l)&&(clearTimeout(nc),nc=null),H_=rg(r);var s=()=>{var u=t.getState(),c=ds(u,u.tooltip.settings.shared);if(!H_){Vf=null,nc=null;return}if(c==="axis"){var d=tg(u,H_);d?.activeIndex!=null?t.dispatch(_b({activeIndex:d.activeIndex,activeDataKey:void 0,activeCoordinate:d.activeCoordinate})):t.dispatch(Nb())}Vf=null,nc=null};if(!l){s();return}a==="raf"?Vf=requestAnimationFrame(s):typeof a=="number"&&nc===null&&(nc=setTimeout(s,a))}});function x9(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<>":t}var b9={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},w9=Dt({name:"rootProps",initialState:b9,reducers:{updateOptions:(e,t)=>{var r;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(r=t.payload.barGap)!==null&&r!==void 0?r:b9.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),S9=w9.reducer,A9=w9.actions.updateOptions;var Ple=null,Dle={updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)},k9=Dt({name:"polarOptions",initialState:Ple,reducers:Dle}),C9=k9.actions.updatePolarOptions;var N9=k9.reducer;var G_=Gr("keyDown"),Y_=Gr("focus"),X_=Gr("blur"),ng=Wi(),Kf=null,oc=null,$1=null;ng.startListening({actionCreator:G_,effect:(e,t)=>{$1=e.payload,Kf!==null&&(cancelAnimationFrame(Kf),Kf=null);var r=t.getState(),n=r.eventSettings,o=n.throttleDelay,a=n.throttledEvents,i=a==="all"||a.includes("keydown");oc!==null&&(typeof o!="number"||!i)&&(clearTimeout(oc),oc=null);var l=()=>{try{var s=t.getState(),u=s.rootProps.accessibilityLayer!==!1;if(!u)return;var c=s.tooltip.keyboardInteraction,d=$1;if(d!=="ArrowRight"&&d!=="ArrowLeft"&&d!=="Enter")return;var f=fs(c,Qi(s),Gi(s),ms(s)),p=f==null?-1:Number(f),m=!Number.isFinite(p)||p<0,g=so(s),h=Qi(s),v=ds(s,s.tooltip.settings.shared);if(d==="Enter"){if(m)return;var y=Mv(s,v,"hover",String(c.index));t.dispatch(Ov({active:!c.active,activeIndex:c.index,activeCoordinate:y}));return}var b=Hj(s),x=b==="left-to-right"?1:-1,S=d==="ArrowRight"?1:-1,w;if(m){var T=Gi(s),k=ms(s),A=S*x,M=Y=>({active:!1,index:String(Y),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(w=-1,A>0){for(var H=0;H=0;F--)if(fs(M(F),h,T,k)!=null){w=F;break}if(w<0)return}else{w=p+S*x;var X=g?.length||h.length;if(X===0||w>=X||w<0)return}var P=Mv(s,v,"hover",String(w));t.dispatch(Ov({active:!0,activeIndex:w.toString(),activeCoordinate:P}))}finally{Kf=null,oc=null}};if(!i){l();return}o==="raf"?Kf=requestAnimationFrame(l):typeof o=="number"&&oc===null&&(l(),$1=null,oc=setTimeout(()=>{$1?l():(oc=null,Kf=null)},o))}});ng.startListening({actionCreator:Y_,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var o=r.tooltip.keyboardInteraction;if(!o.active&&o.index==null){var a="0",i=ds(r,r.tooltip.settings.shared),l=Mv(r,i,"hover",String(a));t.dispatch(Ov({active:!0,activeIndex:a,activeCoordinate:l}))}}}});ng.startListening({actionCreator:X_,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var o=r.tooltip.keyboardInteraction;o.active&&t.dispatch(Ov({active:!1,activeIndex:o.index,activeCoordinate:o.coordinate}))}}});function F1(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(r,n)=>{if(n==="currentTarget")return t;var o=Reflect.get(r,n);return typeof o=="function"?o.bind(r):o}})}var zo=Gr("externalEvent"),Q_=Wi(),U1=new Map,og=new Map,Z_=new Map;Q_.startListening({actionCreator:zo,effect:(e,t)=>{var r=e.payload,n=r.handler,o=r.reactEvent;if(n!=null){var a=o.type,i=F1(o);Z_.set(a,{handler:n,reactEvent:i});var l=U1.get(a);l!==void 0&&(cancelAnimationFrame(l),U1.delete(a));var s=t.getState(),u=s.eventSettings,c=u.throttleDelay,d=u.throttledEvents,f=d,p=f==="all"||f?.includes(a),m=og.get(a);m!==void 0&&(typeof c!="number"||!p)&&(clearTimeout(m),og.delete(a));var g=()=>{var y=Z_.get(a);try{if(!y)return;var b=y.handler,x=y.reactEvent,S=t.getState(),w={activeCoordinate:XN(S),activeDataKey:Af(S),activeIndex:da(S),activeLabel:Ib(S),activeTooltipIndex:da(S),isTooltipActive:ZN(S)};b&&b(w,x)}finally{U1.delete(a),og.delete(a),Z_.delete(a)}};if(!p){g();return}if(c==="raf"){var h=requestAnimationFrame(g);U1.set(a,h)}else if(typeof c=="number"){if(!og.has(a)){g();var v=setTimeout(g,c);og.set(a,v)}}else g()}}});var Ile=J([Zi],e=>e.tooltipItemPayloads),_9=J([Ile,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(a=>a.settings.graphicalItemId===r);if(n!=null){var o=n.getPosition;if(o!=null)return o(t)}}});var J_=Gr("touchMove"),R_=Wi(),ac=null,_s=null,E9=null,ag=null;R_.startListening({actionCreator:J_,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){ag=F1(r);var n=t.getState(),o=n.eventSettings,a=o.throttleDelay,i=o.throttledEvents,l=i==="all"||i.includes("touchmove");ac!==null&&(cancelAnimationFrame(ac),ac=null),_s!==null&&(typeof a!="number"||!l)&&(clearTimeout(_s),_s=null),E9=Array.from(r.touches).map(u=>rg({clientX:u.clientX,clientY:u.clientY,currentTarget:r.currentTarget}));var s=()=>{if(ag!=null){var u=t.getState(),c=ds(u,u.tooltip.settings.shared);if(c==="axis"){var d,f=(d=E9)===null||d===void 0?void 0:d[0];if(f==null){ac=null,_s=null;return}var p=tg(u,f);p?.activeIndex!=null&&t.dispatch(_b({activeIndex:p.activeIndex,activeDataKey:void 0,activeCoordinate:p.activeCoordinate}))}else if(c==="item"){var m,g=ag.touches[0];if(document.elementFromPoint==null||g==null)return;var h=document.elementFromPoint(g.clientX,g.clientY);if(!h||!h.getAttribute)return;var v=h.getAttribute(W0),y=(m=h.getAttribute(H0))!==null&&m!==void 0?m:void 0,b=ps(u).find(w=>w.id===y);if(v==null||b==null||y==null)return;var x=b.dataKey,S=_9(u,v,y);t.dispatch(Cb({activeDataKey:x,activeIndex:v,activeCoordinate:S,activeGraphicalItemId:y}))}ac=null,_s=null}};if(!l){s();return}a==="raf"?ac=requestAnimationFrame(s):typeof a=="number"&&_s===null&&(s(),ag=null,_s=setTimeout(()=>{ag?s():(_s=null,ac=null)},a))}}});var ig={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},O9=Dt({name:"eventSettings",initialState:ig,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=st(t.payload.throttledEvents))}}}),T9=O9.actions.setEventSettings;var M9=O9.reducer;var jle=g0({brush:RB,cartesianAxis:LB,chartData:Zz,errorBars:D7,eventSettings:M9,graphicalItems:SB,layout:KD,legend:y8,options:Kz,polarAxis:VL,polarOptions:N9,referenceElements:r7,renderedTicks:x7,rootProps:S9,tooltip:ez,zIndex:jz}),P9=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return _D({reducer:jle,preloadedState:t,middleware:n=>{var o;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((o="es6")!==null&&o!==void 0?o:"")}).concat([K_.middleware,q_.middleware,ng.middleware,Q_.middleware,R_.middleware])},enhancers:n=>{var o=n;return typeof n=="function"&&(o=n()),o.concat(Yk({type:"raf"}))},devTools:ia.devToolsEnabled&&{serialize:{replacer:x9},name:"recharts-".concat(r)}})};function W1(e){var t=e.preloadedState,r=e.children,n=e.reduxStoreName,o=It(),a=(0,I9.useRef)(null);if(o)return r;a.current==null&&(a.current=P9(t,n));var i=Om;return D9.createElement(C8,{context:i,store:a.current},r)}var H1=te(re());function zle(e){var t=e.layout,r=e.margin,n=Xe(),o=It();return(0,H1.useEffect)(()=>{o||(n(WD(t)),n(Qk(r)))},[n,o,t,r]),null}var V1=(0,H1.memo)(zle,ao);var j9=te(re());function K1(e){var t=Xe();return(0,j9.useEffect)(()=>{t(A9(e))},[t,e]),null}var q1=te(re());var Lle=e=>{var t=Xe();return(0,q1.useEffect)(()=>{t(T9(e))},[t,e]),null},G1=(0,q1.memo)(Lle,ao);var ul=te(re()),W9=te(re());var lc=te(re()),tE=te(re());var ic=te(re()),Y1=te(re());function z9(e){var t=e.zIndex,r=e.isPanorama,n=(0,Y1.useRef)(null),o=Xe();return(0,Y1.useLayoutEffect)(()=>(n.current&&o(Dz({zIndex:t,element:n.current,isPanorama:r})),()=>{o(Iz({zIndex:t,isPanorama:r}))}),[o,t,r]),ic.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function eE(e){var t=e.children,r=e.isPanorama,n=Ae(Ez);if(!n||n.length===0)return t;var o=n.filter(i=>i<0),a=n.filter(i=>i>0);return ic.createElement(ic.Fragment,null,o.map(i=>ic.createElement(z9,{key:i,zIndex:i,isPanorama:r})),t,a.map(i=>ic.createElement(z9,{key:i,zIndex:i,isPanorama:r})))}var Ble=["children"];function $le(e,t){if(e==null)return{};var r,n,o=Fle(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{var r=qd(),n=Gd(),o=ex();if(!ro(r)||!ro(n))return null;var a=e.children,i=e.otherAttributes,l=e.title,s=e.desc,u,c;return i!=null&&(typeof i.tabIndex=="number"?u=i.tabIndex:u=o?0:void 0,typeof i.role=="string"?c=i.role:c=o?"application":void 0),lc.createElement(wm,X1({},i,{title:l,desc:s,role:c,tabIndex:u,width:r,height:n,style:Ule,ref:t}),a)}),Hle=e=>{var t=e.children,r=Ae(hu);if(!r)return null;var n=r.width,o=r.height,a=r.y,i=r.x;return lc.createElement(wm,{width:n,height:o,x:i,y:a},t)},rE=(0,tE.forwardRef)((e,t)=>{var r=e.children,n=$le(e,Ble),o=It();return o?lc.createElement(Hle,null,lc.createElement(eE,{isPanorama:!0},r)):lc.createElement(Wle,X1({ref:t},n),lc.createElement(eE,{isPanorama:!1},r))});var br=te(re()),bt=te(re());var Z1=te(re());function Vle(e,t){return Yle(e)||Gle(e,t)||qle(e,t)||Kle()}function Kle(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qle(e,t){if(e){if(typeof e=="string")return L9(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?L9(e,t):void 0}}function L9(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n!=null){var i=n.getBoundingClientRect(),l=i.width/n.offsetWidth;qe(l)&&l!==a&&e(VD(l))}},[n,e,a]),o}function $9(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Xle(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r(Jz(),null);function J1(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var ose=(0,bt.forwardRef)((e,t)=>{var r,n,o=(0,bt.useRef)(null),a=(0,bt.useState)({containerWidth:J1((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:J1((n=e.style)===null||n===void 0?void 0:n.height)}),i=Q1(a,2),l=i[0],s=i[1],u=(0,bt.useCallback)((d,f)=>{s(p=>{var m=Math.round(d),g=Math.round(f);return p.containerWidth===m&&p.containerHeight===g?p:{containerWidth:m,containerHeight:g}})},[]),c=(0,bt.useCallback)(d=>{if(typeof t=="function"&&t(d),o.current!=null&&(o.current.disconnect(),o.current=null),d!=null&&typeof ResizeObserver<"u"){var f=d.getBoundingClientRect(),p=f.width,m=f.height;u(p,m);var g=v=>{var y=v[0];if(y!=null){var b=y.contentRect,x=b.width,S=b.height;u(x,S)}},h=new ResizeObserver(g);h.observe(d),o.current=h}},[t,u]);return(0,bt.useEffect)(()=>()=>{var d=o.current;d?.disconnect()},[u]),br.createElement(br.Fragment,null,br.createElement(wu,{width:l.containerWidth,height:l.containerHeight}),br.createElement("div",Es({ref:c},e)))}),ase=(0,bt.forwardRef)((e,t)=>{var r=e.width,n=e.height,o=(0,bt.useState)({containerWidth:J1(r),containerHeight:J1(n)}),a=Q1(o,2),i=a[0],l=a[1],s=(0,bt.useCallback)((c,d)=>{l(f=>{var p=Math.round(c),m=Math.round(d);return f.containerWidth===p&&f.containerHeight===m?f:{containerWidth:p,containerHeight:m}})},[]),u=(0,bt.useCallback)(c=>{if(typeof t=="function"&&t(c),c!=null){var d=c.getBoundingClientRect(),f=d.width,p=d.height;s(f,p)}},[t,s]);return br.createElement(br.Fragment,null,br.createElement(wu,{width:i.containerWidth,height:i.containerHeight}),br.createElement("div",Es({ref:u},e)))}),ise=(0,bt.forwardRef)((e,t)=>{var r=e.width,n=e.height;return br.createElement(br.Fragment,null,br.createElement(wu,{width:r,height:n}),br.createElement("div",Es({ref:t},e)))}),lse=(0,bt.forwardRef)((e,t)=>{var r=e.width,n=e.height;return typeof r=="string"||typeof n=="string"?br.createElement(ase,Es({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?br.createElement(ise,Es({},e,{width:r,height:n,ref:t})):br.createElement(br.Fragment,null,br.createElement(wu,{width:r,height:n}),br.createElement("div",Es({ref:t},e)))});function sse(e){return e?ose:lse}var U9=(0,bt.forwardRef)((e,t)=>{var r=e.children,n=e.className,o=e.height,a=e.onClick,i=e.onContextMenu,l=e.onDoubleClick,s=e.onMouseDown,u=e.onMouseEnter,c=e.onMouseLeave,d=e.onMouseMove,f=e.onMouseUp,p=e.onTouchEnd,m=e.onTouchMove,g=e.onTouchStart,h=e.style,v=e.width,y=e.responsive,b=e.dispatchTouchEvents,x=b===void 0?!0:b,S=(0,bt.useRef)(null),w=Xe(),T=(0,bt.useState)(null),k=Q1(T,2),A=k[0],M=k[1],H=(0,bt.useState)(null),F=Q1(H,2),X=F[0],P=F[1],Y=B9(),C=$m(),_=C?.width>0?C.width:v,z=C?.height>0?C.height:o,D=(0,bt.useCallback)(Z=>{Y(Z),typeof t=="function"&&t(Z),M(Z),P(Z),Z!=null&&(S.current=Z)},[Y,t,M,P]),E=(0,bt.useCallback)(Z=>{w(V_(Z)),w(zo({handler:a,reactEvent:Z}))},[w,a]),j=(0,bt.useCallback)(Z=>{w(B1(Z)),w(zo({handler:u,reactEvent:Z}))},[w,u]),R=(0,bt.useCallback)(Z=>{w(Nb()),w(zo({handler:c,reactEvent:Z}))},[w,c]),U=(0,bt.useCallback)(Z=>{w(B1(Z)),w(zo({handler:d,reactEvent:Z}))},[w,d]),L=(0,bt.useCallback)(()=>{w(Y_())},[w]),q=(0,bt.useCallback)(()=>{w(X_())},[w]),ae=(0,bt.useCallback)(Z=>{w(G_(Z.key))},[w]),ce=(0,bt.useCallback)(Z=>{w(zo({handler:i,reactEvent:Z}))},[w,i]),ze=(0,bt.useCallback)(Z=>{w(zo({handler:l,reactEvent:Z}))},[w,l]),oe=(0,bt.useCallback)(Z=>{w(zo({handler:s,reactEvent:Z}))},[w,s]),Ee=(0,bt.useCallback)(Z=>{w(zo({handler:f,reactEvent:Z}))},[w,f]),V=(0,bt.useCallback)(Z=>{w(zo({handler:g,reactEvent:Z}))},[w,g]),I=(0,bt.useCallback)(Z=>{x&&w(J_(Z)),w(zo({handler:m,reactEvent:Z}))},[w,x,m]),N=(0,bt.useCallback)(Z=>{w(zo({handler:p,reactEvent:Z}))},[w,p]),O=sse(y);return br.createElement(o_.Provider,{value:A},br.createElement(KA.Provider,{value:X},br.createElement(O,{width:_??h?.width,height:z??h?.height,className:He("recharts-wrapper",n),style:Xle({position:"relative",cursor:"default",width:_,height:z},h),onClick:E,onContextMenu:ce,onDoubleClick:ze,onFocus:L,onBlur:q,onKeyDown:ae,onMouseDown:oe,onMouseEnter:j,onMouseLeave:R,onMouseMove:U,onMouseUp:Ee,onTouchEnd:N,onTouchMove:I,onTouchStart:V,ref:D},br.createElement(nse,null),r)))});var use=["width","height","responsive","children","className","style","compact","title","desc"];function cse(e,t){if(e==null)return{};var r,n,o=dse(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{var r=e.width,n=e.height,o=e.responsive,a=e.children,i=e.className,l=e.style,s=e.compact,u=e.title,c=e.desc,d=cse(e,use),f=cr(d);return s?ul.createElement(ul.Fragment,null,ul.createElement(wu,{width:r,height:n}),ul.createElement(rE,{otherAttributes:f,title:u,desc:c},a)):ul.createElement(U9,{className:i,style:l,width:r,height:n,responsive:o??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},ul.createElement(rE,{otherAttributes:f,title:u,desc:c,ref:t},ul.createElement(o7,null,a)))});function nE(){return nE=Object.assign?Object.assign.bind():function(e){for(var t=1;tK9.createElement(qf,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:hse,tooltipPayloadSearcher:vs,categoricalChartProps:e,ref:t}));var G9=te(re()),Y9=te(re());var xse=["axis","item"],aE=(0,Y9.forwardRef)((e,t)=>G9.createElement(qf,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:xse,tooltipPayloadSearcher:vs,categoricalChartProps:e,ref:t}));var r$=te(re()),n$=te(re());var J9=te(re()),Os=te(re());var X9=te(re());function Z9(e){var t=Xe();return(0,X9.useEffect)(()=>{t(C9(e))},[t,e]),null}var bse=["layout"];function iE(){return iE=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=ft(e,Pse);return r$.createElement(R9,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:Mse,tooltipPayloadSearcher:vs,categoricalChartProps:r,ref:t})});var o$=te(re()),a$=te(re());var Dse=["axis"],Ts=(0,a$.forwardRef)((e,t)=>o$.createElement(qf,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Dse,tooltipPayloadSearcher:vs,categoricalChartProps:e,ref:t}));var xa=te(re()),Gf=[{id:"5m",label:"5m",minutes:5,bucketSeconds:10},{id:"10m",label:"10m",minutes:10,bucketSeconds:20},{id:"15m",label:"15m",minutes:15,bucketSeconds:30},{id:"30m",label:"30m",minutes:30,bucketSeconds:60},{id:"45m",label:"45m",minutes:45,bucketSeconds:60},{id:"1h",label:"1h",minutes:60,bucketSeconds:120},{id:"2h",label:"2h",minutes:120,bucketSeconds:240},{id:"3h",label:"3h",minutes:180,bucketSeconds:300},{id:"6h",label:"6h",minutes:360,bucketSeconds:600},{id:"12h",label:"12h",minutes:720,bucketSeconds:1200},{id:"1d",label:"1d",minutes:1440,bucketSeconds:1800},{id:"3d",label:"3d",minutes:4320,bucketSeconds:7200},{id:"7d",label:"7d",minutes:10080,bucketSeconds:14400},{id:"30d",label:"30d",minutes:43200,bucketSeconds:86400},{id:"90d",label:"90d",minutes:129600,bucketSeconds:259200}],i$="30m",l$="activeagents.timeWindow",s$=(0,xa.createContext)(null),uE=e=>Gf.find(t=>t.id===e);function u$({children:e}){let[t,r]=(0,xa.useState)(()=>{try{let a=localStorage.getItem(l$);if(a&&uE(a))return a}catch{}return i$}),n=(0,xa.useCallback)(a=>{if(uE(a)){r(a);try{localStorage.setItem(l$,a)}catch{}}},[]),o=(0,xa.useMemo)(()=>{let a=Gf.findIndex(l=>l.id===t),i=Gf[a]||uE(i$);return{timeWindow:i,windowIndex:a,windows:Gf,setWindow:n,zoomTo:l=>{let s=Gf[Math.min(Math.max(l,0),Gf.length-1)];s&&n(s.id)},days:Math.max(1,Math.ceil(i.minutes/1440))}},[t,n]);return xa.default.createElement(s$.Provider,{value:o},e)}function si(){let e=(0,xa.useContext)(s$);if(!e)throw new Error("useTimeWindow must be used within a TimeWindowProvider");return e}var Yf=te(re());function ui({compact:e=!1}){let{windows:t,windowIndex:r,timeWindow:n,setWindow:o,zoomTo:a}=si(),{darkMode:i}=Nt(),l=Ro(i),s={color:l.textSecondary};return Yf.default.createElement("div",{className:"flex items-center rounded-lg p-1",style:{background:l.mutedBg}},Yf.default.createElement("button",{onClick:()=>a(r-1),disabled:r<=0,title:"Zoom in (shorter window)","aria-label":"Zoom in",className:"aa-zoom px-2 py-1 text-sm rounded-md disabled:opacity-30 disabled:cursor-not-allowed",style:s},"\u2212"),Yf.default.createElement("select",{value:n.id,onChange:u=>o(u.target.value),"aria-label":"Time window",className:`aa-field px-2 py-1 mx-1 text-sm rounded-md shadow ${e?"":"min-w-[4.5rem]"}`,style:{background:l.cardBg,color:l.textPrimary,border:`1px solid ${l.cardBorder}`}},t.map(u=>Yf.default.createElement("option",{key:u.id,value:u.id},u.label))),Yf.default.createElement("button",{onClick:()=>a(r+1),disabled:r>=t.length-1,title:"Zoom out (longer window)","aria-label":"Zoom out",className:"aa-zoom px-2 py-1 text-sm rounded-md disabled:opacity-30 disabled:cursor-not-allowed",style:s},"+"))}var kr=te(re());var Jt=te(re());var lg=e=>{let t=(e||"").toLowerCase();return t.includes("claude")?2e5:t.includes("gemini")?1e6:t.includes("llama")?131072:t.includes("gpt-4o")||t.includes("gpt-4-turbo")||t.includes("gpt-4.1")?128e3:t.includes("gpt-5")?4e5:128e3},Ms=e=>{if(e==null)return 0;let t=typeof e=="string"?e:JSON.stringify(e);return Math.round(t.length/4)},ew=e=>{let t=e?.spans||[],r=null;for(let m of t){let g=m.tokens||{},h=(g.input||0)+(g.output||0);h>0&&(!r||h>r.total)&&(r={input:g.input||0,output:g.output||0,thinking:g.thinking||0,cached:g.cached||0,total:h})}if(!r)return null;let n=m=>{for(let g of t){let h=(g.attributes||{})[m];if(h)return h}return null},o=(m,...g)=>{let h=Number(n(m));if(Number.isFinite(h)&&h>0)return h;for(let v of g){let y=n(v);if(y)return Ms(y)}return 0},a=o("prompt.input.instructions.tokens","prompt.input.instructions","llm.instructions"),i=o("prompt.input.tools.tokens","prompt.input.tools","llm.tools"),l=o("prompt.input.mcp_tools.tokens","prompt.input.mcp_tools"),s=o("prompt.input.messages.tokens","prompt.input.messages","llm.messages"),u=0;for(let m of t){let g=m.attributes||{},h=g["tool.output.result"]||g["tool.result"],v=g["tool.input.args"]||g["tool.arguments"];h&&(u+=Ms(h)),v&&(u+=Ms(v))}u=Math.min(u,r.input);let c=["messages","toolResults","instructions","toolSchemas","mcpSchemas"],d={messages:s,toolResults:u,instructions:a,toolSchemas:i,mcpSchemas:l},f=c.reduce((m,g)=>m+d[g],0),p;if(f>0&&r.input>0){let m=r.input/f;p={};for(let h of c)p[h]=Math.round(d[h]*m);let g=r.input-c.reduce((h,v)=>h+p[v],0);if(g!==0){let h=c.reduce((v,y)=>p[y]>p[v]?y:v);p[h]=Math.max(p[h]+g,0)}}else p={messages:r.input,toolResults:0,instructions:0,toolSchemas:0,mcpSchemas:0};return{used:r.total,limit:lg(e.model),cached:r.cached,thinking:r.thinking,estimated:f>0,segments:[{key:"messages",label:"Messages",tokens:p.messages},{key:"tool_results",label:"Tool results",tokens:p.toolResults},{key:"instructions",label:"Instructions",tokens:p.instructions},{key:"tool_schemas",label:"Tool schemas",tokens:p.toolSchemas},{key:"mcp_schemas",label:"MCP tool schemas",tokens:p.mcpSchemas},{key:"output",label:"Generated output",tokens:r.output}]}};var Ise={messages:"#2563eb",tool_results:"#5b84ec",instructions:"#85a3f0",tool_schemas:"#a6bcf4",mcp_schemas:"#c3d2f8",memory:"#dce4fb",output:"#7c3aed"},Xf=e=>e==null?"\u2014":e>=1e6?`${(e/1e6).toFixed(1).replace(/\.0$/,"")}M`:e>=1e3?`${(e/1e3).toFixed(1).replace(/\.0$/,"")}k`:String(Math.round(e));function Ps({used:e,limit:t=2e5,segments:r=[],cached:n=0,thinking:o=0,compact:a=!1,defaultOpen:i=!1,label:l="Context window",estimated:s=!1,darkMode:u=!1}){let[c,d]=(0,Jt.useState)(i),f=r.filter(T=>T.tokens>0),p=e??f.reduce((T,k)=>T+k.tokens,0),m=t>0?p/t:0,g=m>=.9?"#dc2626":m>=.75?"#eab308":null,h=u?"rgba(255,255,255,0.4)":"#9ca3af",v=u?"rgba(255,255,255,0.6)":"#6b7280",y=u?"rgba(255,255,255,0.75)":"#4b5563",b=u?"rgba(255,255,255,0.1)":"#f3f4f6",x=`${Xf(p)} / ${Xf(t)} (${Math.round(m*100)}%)`,S=T=>T.key==="messages"&&g?g:T.color||Ise[T.key]||"#2563eb",w=T=>Jt.default.createElement("div",{style:{display:"flex",height:T,borderRadius:"999px",overflow:"hidden",background:b,flex:1}},f.map(k=>Jt.default.createElement("div",{key:k.key,title:`${k.label} \xB7 ${Xf(k.tokens)}`,style:{width:`${Math.min(k.tokens/t*100,100)}%`,background:S(k)}})));return a?Jt.default.createElement("span",{title:`${l}: ${x}`,style:{display:"inline-flex",alignItems:"center",gap:"6px",width:"132px",verticalAlign:"middle"}},w("6px"),Jt.default.createElement("span",{style:{fontSize:"11px",fontFamily:"'SF Mono', 'Fira Code', monospace",color:g||h,whiteSpace:"nowrap"}},Math.round(m*100),"%")):Jt.default.createElement("div",{style:{background:u?"rgba(255,255,255,0.03)":"#ffffff",border:`1px solid ${g?g+"66":u?"rgba(255,255,255,0.1)":"#e5e7eb"}`,borderRadius:"12px",padding:"12px 14px"}},Jt.default.createElement("div",{onClick:T=>{T.stopPropagation(),d(!c)},style:{display:"flex",alignItems:"center",justifyContent:"space-between",cursor:"pointer"}},Jt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:v}},l,s&&Jt.default.createElement("span",{style:{color:h,fontWeight:400}}," \xB7 estimated")),Jt.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px"}},Jt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",fontWeight:600,color:g||y}},x),Jt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:h,display:"inline-block",transform:c?"rotate(90deg)":"none",transition:"transform 0.15s ease"}},">"))),Jt.default.createElement("div",{style:{display:"flex",marginTop:"8px"}},w("9px")),m>=.9&&Jt.default.createElement("div",{style:{marginTop:"6px",fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:"#dc2626"}},"[!] compaction imminent \u2014 next turn may drop the oldest messages"),c&&Jt.default.createElement("div",{style:{marginTop:"10px",display:"grid",gap:"5px"}},[...f,{key:"__free",label:"Free space",tokens:Math.max(t-p,0)}].map(T=>Jt.default.createElement("div",{key:T.key,style:{display:"flex",alignItems:"center",gap:"8px"}},Jt.default.createElement("span",{style:{width:"9px",height:"9px",borderRadius:"2px",flexShrink:0,background:T.key==="__free"?b:S(T),border:T.key==="__free"?`1px solid ${u?"rgba(255,255,255,0.25)":"#d1d5db"}`:"none"}}),Jt.default.createElement("span",{style:{fontSize:"13px",color:y,flex:1}},T.label),Jt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:v,width:"56px",textAlign:"right"}},Xf(T.tokens)),Jt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:h,width:"46px",textAlign:"right"}},t>0?`${(T.tokens/t*100).toFixed(1)}%`:"\u2014"))),(n>0||o>0)&&Jt.default.createElement("div",{style:{marginTop:"4px",paddingTop:"6px",borderTop:`1px solid ${u?"rgba(255,255,255,0.08)":"#f3f4f6"}`,display:"flex",gap:"16px",fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:h}},n>0&&Jt.default.createElement("span",null,Jt.default.createElement("span",{style:{color:"#2563eb"}},"[=]")," cached prefix ",Xf(n)),o>0&&Jt.default.createElement("span",null,Jt.default.createElement("span",{style:{color:"#7c3aed"}},"[~]")," thinking ",Xf(o)))))}var Ke=te(re());var ke=te(re());var Mr=te(re());var se=te(re());var c$=["ui","json-ui","genui"],uc="render_ui",Ba=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),cE=e=>{if(typeof e=="string")try{return JSON.parse(e)}catch{return}};function cc(e){let t=typeof e=="string"?cE(e):e;if(Array.isArray(t))return t.every(Ba)?t:null;if(Ba(t)){if(Array.isArray(t.blocks))return t.blocks.every(Ba)?t.blocks:null;if(Array.isArray(t.ui))return t.ui.every(Ba)?t.ui:null}return null}function dE(e,t){let r=String(e||"").trim().toLowerCase();if(c$.includes(r))return cc(t);if(r==="json"){let n=cE(t);return Ba(n)&&Array.isArray(n.ui)?cc(n):null}return null}function fE(e){if(typeof e!="string")return null;let t=e.trim(),r=t.startsWith("{")&&t.endsWith("}"),n=t.startsWith("[")&&t.endsWith("]");if(!r&&!n)return null;let o=cE(t);if(o==null||typeof o!="object")return null;if(Array.isArray(o))return o.length>0&&o.every(l=>Ba(l)&&typeof l.type=="string")?{blocks:o}:{object:o};let a=cc(o);return a?{blocks:a}:{object:o}}var jse=e=>Ba(e)?e.function?.name||e.name:void 0,zse=e=>Ba(e)?e.function?.arguments??e.arguments??e.input:void 0;function Zf(e,{callId:t}={}){if(!Ba(e))return null;if(e.tool_name===uc&&e.tool_arguments!=null){let o=cc(e.tool_arguments);if(o)return o}let r=e.tool_calls,n=[];if(Array.isArray(r)){let o=r.some(a=>Ba(a)&&a.id!=null);r.forEach(a=>{if(jse(a)!==uc||t!=null&&o&&a.id!==t)return;let i=cc(zse(a));i&&n.push(...i)})}else if(Ba(r)&&e.tool_name===uc){let o=cc(r);o&&n.push(...o)}return n.length>0?n:null}function tw(e){return typeof e=="string"&&/^(https?:\/\/|data:image\/)/i.test(e.trim())}function rw(e){if(typeof e!="string")return!1;let t=e.trim();if(/^data:image\//i.test(t))return!0;if(!/^https?:\/\//i.test(t)||typeof window>"u"||!window.location)return!1;try{return new URL(t,window.location.href).origin===window.location.origin}catch{return!1}}function d$(e){try{return new URL(String(e).trim()).host}catch{return""}}var y$=["#2a78d6","#eb6834","#1baf7a","#eda100","#e87ba4","#008300","#4a3aa7","#e34948"],Lse=["#3987e5","#d95926","#199e70","#c98500","#d55181","#008300","#9085e9","#e66767"],sg=y$.length,f$=220,Qf=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),dt=e=>e==null?"":typeof e=="object"?JSON.stringify(e):String(e),h$=e=>{if(typeof e!="number"||!Number.isFinite(e))return dt(e);let t=Math.abs(e);return t>=1e9?`${(e/1e9).toFixed(1).replace(/\.0$/,"")}B`:t>=1e6?`${(e/1e6).toFixed(1).replace(/\.0$/,"")}M`:t>=1e4?`${(e/1e3).toFixed(1).replace(/\.0$/,"")}K`:e.toLocaleString()},gE=(e,t)=>typeof t=="string"&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,p$={info:{light:["#eff6ff","#1d4ed8"],dark:["rgba(59,130,246,0.15)","#93c5fd"]},success:{light:["#f0fdf4","#15803d"],dark:["rgba(34,197,94,0.15)","#86efac"]},warning:{light:["#fffbeb","#b45309"],dark:["rgba(245,158,11,0.15)","#fcd34d"]},danger:{light:["#fef2f2","#b91c1c"],dark:["rgba(239,68,68,0.15)","#fca5a5"]}},Bse={positive:{light:"#15803d",dark:"#4ade80"},negative:{light:"#b91c1c",dark:"#f87171"}},pE=e=>({width:"100%",padding:"6px 10px",borderRadius:"8px",border:`1px solid ${e.inputBorder}`,background:e.inputBg,color:e.textPrimary,fontFamily:"inherit",fontSize:"13px"}),yE=e=>({background:e?"rgba(0,0,0,0.35)":"#f3f4f6",color:e?"#ffffff":"#111827",borderRadius:"6px",padding:"8px 10px",fontSize:"12px",overflowX:"auto",margin:0,whiteSpace:"pre-wrap"}),Jf=e=>({fontSize:"13px",fontWeight:600,color:e.textPrimary,margin:0});function cl({block:e,reason:t,colors:r,darkMode:n}){return se.default.createElement("div",{className:"text-xs",style:{color:r.textMuted}},se.default.createElement("div",{className:"mb-1"},"Unsupported block",e&&e.type?` \u201C${dt(e.type)}\u201D`:"",t?` \u2014 ${t}`:""),se.default.createElement("pre",{style:{...yE(n),maxHeight:"160px",overflowY:"auto"}},JSON.stringify(e,null,2)))}function $se({block:e,colors:t,darkMode:r,onAction:n}){let o=tw(e.image_url)&&rw(e.image_url)?e.image_url.trim():null;return se.default.createElement("div",{className:"overflow-hidden",style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",background:t.innerBg}},o&&se.default.createElement("img",{src:o,alt:dt(e.title),style:{width:"100%",maxHeight:"220px",objectFit:"cover",display:"block"}}),se.default.createElement("div",{className:"p-3 space-y-1.5"},e.title!=null&&se.default.createElement("div",{style:Jf(t)},dt(e.title)),e.body!=null&&se.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},se.default.createElement($a,{text:dt(e.body),darkMode:r,onUiAction:n})),e.footer!=null&&se.default.createElement("div",{className:"text-xs pt-1",style:{color:t.textMuted,borderTop:`1px solid ${t.cardBorder}`}},dt(e.footer))))}function x$({block:e,colors:t,darkMode:r}){let n=e.delta!=null?dt(e.delta):null,o=e.tone||(n&&n.trim().startsWith("-")?"negative":n?"positive":"neutral"),a=gE(Bse,o),i=a?a[r?"dark":"light"]:t.textMuted,l=typeof e.value=="number"?h$(e.value):dt(e.value);return se.default.createElement("div",{style:{background:t.innerBg,border:`1px solid ${t.cardBorder}`,borderRadius:"10px",padding:"10px 12px"}},se.default.createElement("div",{className:"text-xs",style:{color:t.textMuted}},dt(e.label)),se.default.createElement("div",{className:"text-lg font-semibold leading-tight mt-0.5",style:{color:t.textPrimary}},l),n&&se.default.createElement("div",{className:"text-xs mt-0.5 font-medium",style:{color:i}},n))}function Fse({block:e,colors:t,darkMode:r}){let n=Array.isArray(e.items)?e.items.filter(Qf):[];return n.length===0?se.default.createElement(cl,{block:e,reason:"stats needs an items array",colors:t,darkMode:r}):se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(140px, 1fr))",gap:"8px"}},n.map((o,a)=>se.default.createElement(x$,{key:a,block:o,colors:t,darkMode:r})))}var vE=(e,t)=>({padding:"6px 10px",borderBottom:`1px solid ${e.cardBorder}`,color:e.textCell,textAlign:t?"right":"left",fontVariantNumeric:t?"tabular-nums":void 0,verticalAlign:"top"}),Use=e=>({padding:"6px 10px",borderBottom:`1px solid ${e.borderStrong}`,color:e.textSecondary,fontSize:"11px",fontWeight:600,textAlign:"left",fontFamily:Ve.mono,textTransform:"uppercase",letterSpacing:"0.04em",whiteSpace:"nowrap"});function b$({columns:e,rows:t,colors:r,renderCell:n}){return se.default.createElement("div",{style:{overflowX:"auto"}},se.default.createElement("table",{className:"text-sm",style:{width:"100%",borderCollapse:"collapse"}},se.default.createElement("thead",null,se.default.createElement("tr",null,e.map((o,a)=>se.default.createElement("th",{key:a,style:Use(r)},dt(o))))),se.default.createElement("tbody",null,t.map((o,a)=>se.default.createElement("tr",{key:a},e.map((i,l)=>{let s=o[l];return se.default.createElement("td",{key:l,style:vE(r,typeof s=="number")},n?n(s):typeof s=="number"?s.toLocaleString():dt(s))}))))))}function Wse({block:e,colors:t,darkMode:r}){let n=Array.isArray(e.columns)?e.columns:null,o=Array.isArray(e.rows)?e.rows:null;if(!n||!o)return se.default.createElement(cl,{block:e,reason:"table needs columns and rows arrays",colors:t,darkMode:r});let a=o.map(i=>Array.isArray(i)?i:Qf(i)?n.map(l=>i[l]):[i]);return se.default.createElement("div",null,e.title!=null&&se.default.createElement("div",{className:"mb-1.5",style:Jf(t)},dt(e.title)),se.default.createElement(b$,{columns:n,rows:a,colors:t}))}var Hse=e=>{let t=e[0];return Object.keys(t).find(r=>typeof t[r]=="string")||Object.keys(t)[0]},Vse=(e,t)=>Object.keys(e[0]).filter(r=>r!==t&&typeof e[0][r]=="number");function Kse({block:e,colors:t,darkMode:r}){let n=String(e.chart||e.kind||"bar").toLowerCase(),o=Array.isArray(e.data)?e.data.filter(Qf):[];if(o.length===0)return se.default.createElement(cl,{block:e,reason:"chart needs a data array of objects",colors:t,darkMode:r});let a=typeof e.x=="string"?e.x:Hse(o),i=Array.isArray(e.series)?e.series.filter(h=>typeof h=="string"):[],l=(i.length>0?i:Vse(o,a)).slice(0,sg);if(!a||l.length===0)return se.default.createElement(cl,{block:e,reason:"chart needs an x key and at least one series",colors:t,darkMode:r});let s=r?Lse:y$,u=t.cardBg,c={fontSize:10,fill:t.textMuted},d=se.default.createElement(gs,{contentStyle:{background:u,border:`1px solid ${t.cardBorder}`,borderRadius:"8px",fontSize:"12px"},labelStyle:{color:t.textPrimary,fontWeight:600,marginBottom:"4px"},itemStyle:{color:t.textCell},formatter:h=>typeof h=="number"?h.toLocaleString():dt(h)}),f=l.length>1||n==="pie"?se.default.createElement(Q0,{wrapperStyle:{fontSize:"11px",color:t.textSecondary},iconSize:10}):null,p=se.default.createElement(se.default.Fragment,null,se.default.createElement(rl,{stroke:t.cardBorder,vertical:!1}),se.default.createElement(il,{dataKey:a,stroke:t.borderStrong,tick:c,tickLine:!1}),se.default.createElement(sl,{stroke:t.borderStrong,tick:c,tickLine:!1,axisLine:!1,tickFormatter:h$,width:44})),m={top:8,right:12,bottom:0,left:0},g;if(n==="line")g=se.default.createElement(oE,{data:o,margin:m},p,d,f,l.map((h,v)=>se.default.createElement(T1,{key:h,type:"monotone",dataKey:h,stroke:s[v],strokeWidth:2,dot:{r:4,strokeWidth:2,stroke:u,fill:s[v]},activeDot:{r:5,strokeWidth:2,stroke:u},isAnimationActive:!1})));else if(n==="area")g=se.default.createElement(Ts,{data:o,margin:m},p,d,f,l.map((h,v)=>se.default.createElement(ol,{key:h,type:"monotone",dataKey:h,stroke:s[v],strokeWidth:2,fill:s[v],fillOpacity:.12,dot:{r:3,strokeWidth:2,stroke:u,fill:s[v]},isAnimationActive:!1})));else if(n==="pie"){let h=l[0],v=[...o].sort((x,S)=>(Number(S[h])||0)-(Number(x[h])||0)),y=v.slice(0,sg),b=v.slice(sg);b.length>0&&(y[sg-1]={[a]:"Other",[h]:b.reduce((x,S)=>x+(Number(S[h])||0),Number(y[sg-1][h])||0)}),g=se.default.createElement(sE,{margin:m},d,f,se.default.createElement(g1,{data:y,dataKey:h,nameKey:a,innerRadius:44,outerRadius:80,paddingAngle:2,stroke:u,strokeWidth:2,isAnimationActive:!1},y.map((x,S)=>se.default.createElement(Ji,{key:S,fill:s[S]}))))}else g=se.default.createElement(aE,{data:o,margin:m,barCategoryGap:"25%",barGap:2},p,d,f,l.map((h,v)=>se.default.createElement(z1,{key:h,dataKey:h,fill:s[v],radius:[4,4,0,0],maxBarSize:24,isAnimationActive:!1})));return se.default.createElement("div",null,e.title!=null&&se.default.createElement("div",{className:"mb-1",style:Jf(t)},dt(e.title)),se.default.createElement("div",{style:{width:"100%",height:f$,minWidth:0}},se.default.createElement(Rl,{width:"100%",height:f$},g)))}function qse({block:e,colors:t,darkMode:r,onAction:n}){let o=Array.isArray(e.items)?e.items:null;if(!o)return se.default.createElement(cl,{block:e,reason:"list needs an items array",colors:t,darkMode:r});let a=e.ordered?"ol":"ul";return se.default.createElement("div",null,e.title!=null&&se.default.createElement("div",{className:"mb-1",style:Jf(t)},dt(e.title)),se.default.createElement(a,{className:`${e.ordered?"list-decimal":"list-disc"} pl-5 text-sm space-y-0.5`,style:{color:t.textCell}},o.map((i,l)=>se.default.createElement("li",{key:l},typeof i=="string"?se.default.createElement($a,{text:i,darkMode:r,onUiAction:n}):dt(i)))))}function Gse({block:e,colors:t}){let r=Number(e.value),n=Number.isFinite(r)?Math.max(0,Math.min(100,r)):0;return se.default.createElement("div",null,se.default.createElement("div",{className:"flex items-center justify-between text-xs mb-1"},se.default.createElement("span",{style:{color:t.textCell}},dt(e.label)),se.default.createElement("span",{className:"font-mono",style:{color:t.textMuted}},Math.round(n),"%")),se.default.createElement("div",{style:{height:"8px",borderRadius:"999px",background:t.trackBg,overflow:"hidden"}},se.default.createElement("div",{style:{width:`${n}%`,height:"100%",background:bn,borderRadius:"999px",transition:"width 0.3s ease"}})))}var Yse=["text","textarea","number","select","checkbox"],mE=e=>dt(e.name||e.label),m$=e=>dt(e.label||e.name),v$=e=>Yse.includes(e.type)?e.type:"text";function Xse({block:e,colors:t,darkMode:r,onAction:n}){let o=(Array.isArray(e.fields)?e.fields:[]).filter(f=>Qf(f)&&(f.name||f.label)),[a,i]=(0,se.useState)(()=>Object.fromEntries(o.map(f=>[mE(f),v$(f)==="checkbox"?!1:""]))),[l,s]=(0,se.useState)(!1);if(o.length===0)return se.default.createElement(cl,{block:e,reason:"form needs fields",colors:t,darkMode:r});let u=e.submit!=null?dt(e.submit):"Submit",c=(f,p)=>i(m=>({...m,[f]:p}));return se.default.createElement("form",{onSubmit:f=>{f.preventDefault();let p=o.map(m=>{let g=a[mE(m)];return`${m$(m)}: ${typeof g=="boolean"?g?"yes":"no":dt(g)}`}).join("; ");s(!0),n&&n({kind:"form",text:`${e.submit!=null?dt(e.submit):"Submitted"}: ${p}`,values:{...a}})},className:"space-y-2.5",style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",background:t.innerBg,padding:"12px"}},e.title!=null&&se.default.createElement("div",{style:Jf(t)},dt(e.title)),o.map(f=>{let p=mE(f),m=v$(f),g=m$(f),h=`genui-field-${p.replace(/\W+/g,"-")}`;return m==="checkbox"?se.default.createElement("label",{key:p,className:"flex items-center gap-2 text-sm",style:{color:t.textCell}},se.default.createElement("input",{type:"checkbox",checked:!!a[p],onChange:v=>c(p,v.target.checked),style:{accentColor:bn}}),g):se.default.createElement("div",{key:p},se.default.createElement("label",{htmlFor:h,className:"block text-xs mb-1",style:{color:t.textSecondary}},g,f.required?" *":""),m==="textarea"?se.default.createElement("textarea",{id:h,name:p,value:a[p],onChange:v=>c(p,v.target.value),placeholder:f.placeholder!=null?dt(f.placeholder):void 0,required:!!f.required,rows:3,className:"aa-field",style:{...pE(t),resize:"vertical"}}):m==="select"?se.default.createElement("select",{id:h,name:p,value:a[p],onChange:v=>c(p,v.target.value),required:!!f.required,className:"aa-field",style:pE(t)},se.default.createElement("option",{value:""},f.placeholder!=null?dt(f.placeholder):"Select\u2026"),(Array.isArray(f.options)?f.options:[]).map((v,y)=>se.default.createElement("option",{key:y,value:dt(v)},dt(v)))):se.default.createElement("input",{id:h,name:p,type:m==="number"?"number":"text",value:a[p],onChange:v=>c(p,m==="number"&&v.target.value!==""?Number(v.target.value):v.target.value),placeholder:f.placeholder!=null?dt(f.placeholder):void 0,required:!!f.required,className:"aa-field",style:pE(t)}))}),se.default.createElement("div",{className:"flex items-center gap-3 pt-1"},se.default.createElement("button",{type:"submit","data-testid":"genui-form-submit",style:{padding:"6px 14px",borderRadius:"8px",fontSize:"13px",fontWeight:500,background:bn,color:"#ffffff",border:"1px solid transparent",cursor:"pointer"}},u),l&&se.default.createElement("span",{className:"text-xs",style:{color:t.textMuted}},"Sent to the agent")))}function Zse({block:e,colors:t,darkMode:r,onAction:n}){let o=Array.isArray(e.options)?e.options:null,[a,i]=(0,se.useState)(null);return!o||o.length===0?se.default.createElement(cl,{block:e,reason:"choices needs options",colors:t,darkMode:r}):se.default.createElement("div",null,e.prompt!=null&&se.default.createElement("div",{className:"text-sm mb-1.5",style:{color:t.textCell}},dt(e.prompt)),se.default.createElement("div",{className:"flex flex-wrap gap-2"},o.map((l,s)=>{let u=dt(l),c=a===s;return se.default.createElement("button",{key:s,type:"button","data-testid":"genui-choice",onClick:()=>{i(s),n&&n({kind:"choice",text:u})},style:{padding:"5px 12px",borderRadius:"999px",fontSize:"13px",cursor:"pointer",border:`1px solid ${c?bn:t.inputBorder}`,background:c?bn:"transparent",color:c?"#ffffff":t.textCell}},u)})))}function Qse({url:e,alt:t,colors:r,darkMode:n}){let[o,a]=(0,se.useState)(!1);if(o)return se.default.createElement("img",{src:e,alt:t,style:{maxWidth:"100%",borderRadius:"8px",display:"block"}});let i=d$(e);return se.default.createElement("button",{type:"button",onClick:()=>a(!0),"data-testid":"genui-image-load",className:"text-xs w-full",style:{border:`1px dashed ${r.cardBorder}`,borderRadius:"8px",padding:"14px 12px",color:r.textMuted,background:n?"rgba(255,255,255,0.03)":"#f9fafb"}},"Load image from ",i||"another site")}function Jse({block:e,colors:t,darkMode:r}){if(!tw(e.url))return se.default.createElement(cl,{block:e,reason:"image URL must be http(s) or data:",colors:t,darkMode:r});let n=e.url.trim(),o=e.alt!=null?dt(e.alt):"";return se.default.createElement("figure",{style:{margin:0}},rw(n)?se.default.createElement("img",{src:n,alt:o,style:{maxWidth:"100%",borderRadius:"8px",display:"block"}}):se.default.createElement(Qse,{url:n,alt:o,colors:t,darkMode:r}),e.caption!=null&&se.default.createElement("figcaption",{className:"text-xs mt-1",style:{color:t.textMuted}},dt(e.caption)))}function Rse({block:e,colors:t,darkMode:r,onAction:n}){let[o,a]=(gE(p$,e.tone)||p$.info)[r?"dark":"light"];return se.default.createElement("div",{style:{background:o,borderLeft:`3px solid ${a}`,borderRadius:"8px",padding:"10px 12px"}},e.title!=null&&se.default.createElement("div",{className:"text-sm font-semibold mb-0.5",style:{color:a}},dt(e.title)),se.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},se.default.createElement($a,{text:dt(e.body),darkMode:r,onUiAction:n})))}function eue({block:e,colors:t,darkMode:r}){return se.default.createElement("div",null,e.language!=null&&se.default.createElement("div",{className:"text-xs font-mono mb-1",style:{color:t.textMuted}},dt(e.language)),se.default.createElement("pre",{style:yE(r)},dt(e.code)))}function g$({block:e,colors:t,darkMode:r,onAction:n}){let o=e.text??e.body??e.content??e.markdown;return se.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},se.default.createElement($a,{text:dt(o),darkMode:r,onUiAction:n}))}var tue=3;function nw({value:e,colors:t,darkMode:r,depth:n}){if(e==null||typeof e!="object")return typeof e=="boolean"?se.default.createElement("span",{className:"font-mono"},String(e)):typeof e=="number"?se.default.createElement("span",{style:{fontVariantNumeric:"tabular-nums"}},e.toLocaleString()):se.default.createElement("span",null,dt(e));if(n>=tue)return se.default.createElement("pre",{style:{...yE(r),maxHeight:"160px",overflowY:"auto"}},JSON.stringify(e,null,2));if(Array.isArray(e)){if(e.length===0)return se.default.createElement("span",{style:{color:t.textMuted}},"\u2014");if(e.every(Qf)){let a=[...new Set(e.flatMap(i=>Object.keys(i)))];return se.default.createElement(b$,{columns:a,rows:e.map(i=>a.map(l=>i[l])),colors:t,renderCell:i=>se.default.createElement(nw,{value:i,colors:t,darkMode:r,depth:n+1})})}return e.every(a=>a==null||typeof a!="object")?se.default.createElement("span",null,e.map(dt).join(", ")):se.default.createElement("ul",{className:"list-disc pl-5 space-y-0.5"},e.map((a,i)=>se.default.createElement("li",{key:i},se.default.createElement(nw,{value:a,colors:t,darkMode:r,depth:n+1}))))}let o=Object.entries(e);return o.length===0?se.default.createElement("span",{style:{color:t.textMuted}},"{}"):se.default.createElement("table",{className:"text-sm",style:{borderCollapse:"collapse",width:n===0?"100%":"auto"}},se.default.createElement("tbody",null,o.map(([a,i])=>se.default.createElement("tr",{key:a},se.default.createElement("th",{scope:"row",className:"font-mono text-xs",style:{...vE(t,!1),color:t.textSecondary,fontWeight:500,whiteSpace:"nowrap",width:"1%"}},a),se.default.createElement("td",{style:vE(t,!1)},se.default.createElement(nw,{value:i,colors:t,darkMode:r,depth:n+1}))))))}function rue({block:e,colors:t,darkMode:r}){let n="value"in e?e.value:e.data;return se.default.createElement("div",{style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",overflow:"hidden"}},e.title!=null&&se.default.createElement("div",{className:"px-3 pt-2",style:Jf(t)},dt(e.title)),se.default.createElement("div",{className:"px-1 pb-1",style:{overflowX:"auto"}},se.default.createElement(nw,{value:n,colors:t,darkMode:r,depth:0})))}var nue={card:$se,stat:x$,stats:Fse,table:Wse,chart:Kse,list:qse,progress:Gse,form:Xse,choices:Zse,image:Jse,callout:Rse,code:eue,object:rue,text:g$,markdown:g$};function Ds({blocks:e,onAction:t,darkMode:r=!1}){let n=Array.isArray(e)?e.filter(Qf):[];if(n.length===0)return null;let o=Ro(r);return se.default.createElement("div",{className:"space-y-3",onClick:a=>a.stopPropagation()},n.map((a,i)=>{let l=typeof a.type=="string"?a.type.toLowerCase():"unknown",s=gE(nue,l);return se.default.createElement("div",{key:i,"data-testid":"genui-block","data-block-type":l},s?se.default.createElement(s,{block:a,colors:o,darkMode:r,onAction:t}):se.default.createElement(cl,{block:a,colors:o,darkMode:r}))}))}var oue=/(\*\*[^*]+\*\*|\*[^*\n]+\*|`[^`]+`|\[[^\]]+\]\((?:https?:\/\/|\/)[^)\s]+\))/g,ug=(e,t)=>e.split(oue).filter(Boolean).map((r,n)=>{let o=`${t}-${n}`;if(r.startsWith("**")&&r.endsWith("**"))return Mr.default.createElement("strong",{key:o},r.slice(2,-2));if(r.startsWith("*")&&r.endsWith("*")&&r.length>2)return Mr.default.createElement("em",{key:o},r.slice(1,-1));if(r.startsWith("`")&&r.endsWith("`"))return Mr.default.createElement("code",{key:o,className:"px-1 py-0.5 rounded text-[0.9em]",style:{background:"rgba(127,127,127,0.15)"}},r.slice(1,-1));let a=r.match(/^\[([^\]]+)\]\(((?:https?:\/\/|\/)[^)\s]+)\)$/);return a?Mr.default.createElement("a",{key:o,href:a[2],target:"_blank",rel:"noopener noreferrer",className:"underline text-blue-500"},a[1]):r}),w$=e=>/^\s*\|.*\|\s*$/.test(e),aue=e=>/^\s*\|(\s*:?-+:?\s*\|)+\s*$/.test(e),S$=e=>e.trim().replace(/^\|/,"").replace(/\|$/,"").split(/(?t.replace(/\\\|/g,"|").trim());function $a({text:e,onUiAction:t,darkMode:r}){if(!e)return null;let n=[],o=String(e).split(` +`),a=0,i=0;for(;aMr.default.createElement("th",{key:p,className:"text-left font-semibold px-2 py-1",style:{borderBottom:"1px solid rgba(127,127,127,0.35)"}},ug(f,`th${d}-${p}`))))),Mr.default.createElement("tbody",null,c.map((f,p)=>Mr.default.createElement("tr",{key:p},u.map((m,g)=>Mr.default.createElement("td",{key:g,className:"px-2 py-1 align-top",style:{borderBottom:"1px solid rgba(127,127,127,0.15)"}},ug(f[g]??"",`td${d}-${p}-${g}`)))))))));continue}if(/^\s*([-*]|\d+\.)\s+/.test(l)){let u=[];for(;aMr.default.createElement("li",{key:d},ug(c,`li${i}-${d}`)))));continue}if(l.trim()===""){n.push(Mr.default.createElement("div",{key:i++,className:"h-2"})),a+=1;continue}n.push(Mr.default.createElement("div",{key:i++},ug(l,`p${i}`))),a+=1}return Mr.default.createElement("div",{className:"break-words"},n)}var co=te(re()),iue=e=>{let t=e.mcp_server||e.server;return t?`MCP server \xB7 ${t}`:typeof e.name=="string"&&e.name.startsWith("mcp__")?`MCP server \xB7 ${e.name.split("__")[1]}`:e.gem?`gem \xB7 ${e.gem}`:e.source?String(e.source):"agent-defined \xB7 method on the agent class"},lue=e=>Array.isArray(e.parameters)?e.parameters:e.parameters&&typeof e.parameters=="object"?Object.keys(e.parameters.properties||e.parameters):[];function hE({tool:e,darkMode:t}){let r=lue(e);return co.default.createElement("div",{style:{display:"grid",gap:"4px"}},e.description&&co.default.createElement("div",{className:"text-sm",style:{color:t?"rgba(255,255,255,0.75)":"#4b5563"}},e.description),co.default.createElement("div",{className:"text-xs font-mono",style:{color:t?"rgba(255,255,255,0.45)":"#9ca3af",display:"flex",flexWrap:"wrap",columnGap:"16px",rowGap:"4px"}},co.default.createElement("span",null,"params: ",r.length>0?r.join(", "):"none"),co.default.createElement("span",null,"source: ",iue(e))))}function xE({tools:e,darkMode:t}){let[r,n]=(0,co.useState)(null),o=(e||[]).filter(l=>l&&l.name);if(o.length===0)return null;let a=o.find(l=>l.name===r),i=l=>({background:t?"rgba(34,197,94,0.12)":"#f0fdf4",color:t?"#86efac":"#15803d",border:`1px solid ${l?t?"#4ade80":"#22c55e":"transparent"}`,borderRadius:"6px",padding:"2px 8px",fontSize:"11px",cursor:"pointer"});return co.default.createElement("div",{style:{marginTop:"8px"}},co.default.createElement("div",{className:"flex items-center gap-1.5 flex-wrap font-mono"},co.default.createElement("span",{className:"text-xs uppercase",style:{letterSpacing:"0.05em",color:t?"rgba(255,255,255,0.45)":"#9ca3af"}},"tools"),o.map(l=>co.default.createElement("button",{key:l.name,onClick:s=>{s.stopPropagation(),n(r===l.name?null:l.name)},title:r===l.name?"Hide definition":"Show definition",style:i(r===l.name)},"\u2699 ",l.name))),a&&co.default.createElement("div",{onClick:l=>l.stopPropagation(),style:{marginTop:"6px",padding:"8px 10px",borderRadius:"8px",background:t?"rgba(34,197,94,0.06)":"#f7fef9",border:`1px solid ${t?"rgba(34,197,94,0.25)":"#bbf7d0"}`}},co.default.createElement(hE,{tool:a,darkMode:t})))}var sue=["application/json","application/xml","application/x-yaml","application/csv"],uue=/\.(csv|md|txt|json|ya?ml)$/i;function A$(e){let t=String(e?.type||e?.content_type||"").toLowerCase(),r=String(e?.name||e?.filename||"");return t.startsWith("image/")?"image":t==="application/pdf"?"document":t.startsWith("text/")||sue.includes(t)||uue.test(r)?"text":"file"}function k$(e){let t=Number(e);return!Number.isFinite(t)||t<0?"":t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}function C$(e){if(typeof e!="string")return!1;let t=e.trim();if(/^(data:image\/|blob:)/i.test(t))return!0;if(/^\/[\\/]/.test(t))return!1;if(t.startsWith("/"))return!0;if(!/^https?:\/\//i.test(t)||typeof window>"u"||!window.location)return!1;try{return new URL(t,window.location.href).origin===window.location.origin}catch{return!1}}var N$=e=>e==null?null:e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`,cg=e=>{if(e==null)return null;if(typeof e=="object")return JSON.stringify(e,null,2);try{return JSON.stringify(JSON.parse(e),null,2)}catch{return null}},cue=["text","output","body","content"],_$=e=>{if(e==null)return null;if(typeof e=="object")return e;try{return JSON.parse(e)}catch{return null}},due=e=>{let t=_$(e.tool_result)??_$(e.content);if(!t||typeof t!="object"||Array.isArray(t))return null;let r=cue.find(a=>typeof t[a]=="string"&&t[a].trim().length>0);if(!r)return null;let n=[t.error&&"error",t.status!=null&&`status ${t.status}`,typeof t.url=="string"&&t.url.replace(/^https?:\/\//,""),typeof t.agent=="string"&&`\u2192 ${t.agent}`,t.truncated&&"truncated"].filter(Boolean).join(" \xB7 "),o=Object.fromEntries(Object.entries(t).filter(([a])=>a!==r));return{field:r,meta:n,body:t[r],rest:o}},fue=e=>!!(e.tool_name||e.tool_call_id||e.tool_arguments||e.tool_result||(e.tool_calls||[]).length>0||e.duration_ms!=null||cg(e.content)),T$=280,pue=["tool","system","developer"],dg=(e,t=T$)=>e.replace(/\s+/g," ").trim().slice(0,t),bE=e=>{if(e==null)return null;if(typeof e=="object")return JSON.stringify(e);try{return JSON.stringify(JSON.parse(e))}catch{return String(e)}},M$=e=>{let t=e.tool_calls;return t?Array.isArray(t)?t.map(r=>({name:r.function?.name||r.name||e.tool_name,args:bE(r.function?.arguments??r.arguments??r.input)})):[{name:e.tool_name,args:bE(t)}]:[]},P$=e=>!!(e&&String(e).trim()&&String(e).trim()!=="\u2014"),mue=e=>{let t=(e||[]).filter(Boolean),r=new Map,n=new Set;return t.forEach((o,a)=>{if(o.role!=="assistant"||P$(o.content))return;let i=M$(o);if(i.length===0)return;let l=new Set;Array.isArray(o.tool_calls)?o.tool_calls.forEach(u=>u.id&&l.add(u.id)):o.tool_call_id&&l.add(o.tool_call_id);let s=[];for(let u=a+1;u0&&c.tool_call_id&&!l.has(c.tool_call_id))break;s.push(u)}s.length!==0&&(s.forEach((u,c)=>{let d=t[u],f=i.find(p=>p.name&&p.name===d.tool_name)||i[Math.min(c,i.length-1)];f&&f.args&&!d.tool_arguments&&r.set(u,{tool_arguments:f.args,created_at:o.created_at||d.created_at})}),n.add(a))}),t.map((o,a)=>r.has(a)?{...o,...r.get(a)}:o).filter((o,a)=>!n.has(a))},E$=e=>pue.includes(e.role)&&typeof e.content=="string"&&dg(e.content).length>=T$,vue=({message:e,darkMode:t})=>{let r=e.trace_duration_ms||0;if(!r||e.span_duration_ms==null)return null;let n=Math.min((e.span_start_ms||0)/r*100,98),o=Math.max(e.span_duration_ms/r*100,2),a=e.role==="tool"?"#22c55e":e.role==="assistant"?"#ef4444":"#60a5fa";return ke.default.createElement("span",{title:`${Math.round(e.span_duration_ms)}ms \xB7 starts at ${Math.round(e.span_start_ms||0)}ms of ${Math.round(r)}ms`,style:{position:"relative",width:"96px",height:"5px",borderRadius:"999px",background:t?"rgba(255,255,255,0.08)":"#f3f4f6",flexShrink:0,marginTop:"8px",display:"inline-block"}},ke.default.createElement("span",{style:{position:"absolute",top:0,bottom:0,left:`${n}%`,width:`${Math.min(o,100-n)}%`,borderRadius:"999px",background:a}}))},ow=e=>({background:e?"rgba(0,0,0,0.35)":"#f3f4f6",color:e?"#ffffff":"#111827",borderRadius:"6px",padding:"8px 10px",fontSize:"12px",overflowX:"auto",margin:0}),Ar=(e,t)=>{switch(e){case"user":return t?{background:"rgba(59,130,246,0.15)",color:"#93c5fd",label:"User"}:{background:"#eff6ff",color:"#1d4ed8",label:"User"};case"assistant":return t?{background:"rgba(239,68,68,0.12)",color:"#fca5a5",label:"Assistant"}:{background:"#fef2f2",color:"#b91c1c",label:"Assistant"};case"tool":return t?{background:"rgba(245,158,11,0.12)",color:"#fcd34d",label:"Tool"}:{background:"#fffbeb",color:"#b45309",label:"Tool"};case"system":return t?{background:"rgba(139,92,246,0.15)",color:"#c4b5fd",label:"System"}:{background:"#f5f3ff",color:"#6d28d9",label:"System"};case"developer":return t?{background:"rgba(20,184,166,0.15)",color:"#5eead4",label:"Dev"}:{background:"#f0fdfa",color:"#0f766e",label:"Dev"};default:return t?{background:"rgba(255,255,255,0.08)",color:"rgba(255,255,255,0.7)",label:e}:{background:"#f3f4f6",color:"#374151",label:e}}},O$={image:"IMG",document:"PDF",text:"TXT",file:"FILE"};function aw({attachments:e,darkMode:t,testId:r,onRemove:n,removeTestId:o}){let a=(e||[]).filter(Boolean);if(a.length===0)return null;let i=Ro(t);return ke.default.createElement("div",{className:"flex flex-wrap gap-2 mt-1.5"},a.map((l,s)=>{let u=String(l.content_type||""),c=(l.kind==="image"||u.startsWith("image/"))&&C$(l.url),d=k$(l.byte_size);return ke.default.createElement("span",{key:l.id??`${l.filename}-${s}`,"data-testid":r,title:[l.filename,u,d].filter(Boolean).join(" \xB7 "),className:"inline-flex items-center gap-2 rounded-lg px-2 py-1 text-xs",style:{background:i.mutedBg,border:`1px solid ${i.cardBorder}`,color:i.textCell,maxWidth:"260px"}},c?ke.default.createElement("img",{src:l.url,alt:l.filename||"",style:{width:"36px",height:"36px",objectFit:"cover",borderRadius:"4px",flexShrink:0}}):ke.default.createElement("span",{className:"font-mono",style:{color:i.textMuted,flexShrink:0}},O$[l.kind]||O$.file),ke.default.createElement("span",{className:"min-w-0"},ke.default.createElement("span",{className:"block truncate"},l.filename||"attachment"),d&&ke.default.createElement("span",{className:"block font-mono",style:{color:i.textMuted}},d)),n&&ke.default.createElement("button",{type:"button","data-testid":o,onClick:f=>{f.stopPropagation(),n(l,s)},title:"Remove","aria-label":`Remove ${l.filename||"attachment"}`,className:"font-mono",style:{color:i.textMuted,background:"none",border:"none",cursor:"pointer",padding:"0 2px"}},"\u2715"))}))}var D$=e=>{let t=new Set;return Array.isArray(e.tool_calls)?e.tool_calls.forEach(r=>r&&r.id!=null&&t.add(r.id)):e.tool_call_id&&t.add(e.tool_call_id),t},gue=(e,t)=>{let r=Zf(e);if(r)return r;let n=t.find(o=>o&&o.role==="assistant"&&(e.tool_call_id?D$(o).has(e.tool_call_id):Zf(o)));return n?Zf(n,{callId:e.tool_call_id}):null},yue=(e,t)=>{let r=D$(e);return t.some(n=>n&&n.role==="tool"&&n.tool_name===uc&&(!n.tool_call_id||r.size===0||r.has(n.tool_call_id)))};function ba({messages:e,darkMode:t,tools:r,onUiAction:n,onEditMessage:o,onDeleteMessage:a,testIdPrefix:i}){let[l,s]=(0,ke.useState)({}),[u,c]=(0,ke.useState)(null),[d,f]=(0,ke.useState)(""),[p,m]=(0,ke.useState)(!1),[g,h]=(0,ke.useState)(null),v=A=>s(M=>({...M,[A]:!M[A]})),y={textPrimary:t?"#ffffff":"#111827",textSecondary:t?"rgba(255,255,255,0.6)":"#6b7280",textMuted:t?"rgba(255,255,255,0.4)":"#9ca3af"},b=A=>i?`${i}-${A}`:void 0,x=A=>A.stopPropagation(),S=A=>{c(A.id),f(A.content||""),h(null)},w=()=>{c(null),h(null)},T=async A=>{if(!p){m(!0),h(null);try{await o(A,d),c(null)}catch(M){h(M.message||"Could not save the message")}finally{m(!1)}}},k=mue(e);return ke.default.createElement("div",{className:"space-y-3"},k.map(A=>{let M=Ar(A.role,t),H=!!l[A.id],F=u===A.id,X=!!((o||a)&&["user","assistant"].includes(A.role)),P=A.role==="tool"&&A.tool_name===uc?gue(A,k):null,Y=A.role==="assistant"&&!F?fE(A.content):null,C=A.role==="assistant"&&!yue(A,k)?Zf(A):null,_=E$(A)&&!H,z=fue(A)||E$(A),D=cg(A.tool_arguments),E=cg(A.tool_result)||cg(A.content),j=A.tool_calls&&(!Array.isArray(A.tool_calls)||A.tool_calls.length>0)?cg(A.tool_calls):null,R=A.role==="tool"?due(A):null,U=A.tool_name?(r||[]).find(V=>V&&V.name===A.tool_name):null,L=A.role==="tool"?bE(A.tool_arguments):null,q=A.role==="tool"&&!!L,ae=Ar("assistant",t),ce=Ar("tool",t),ze=A.role==="tool"&&!A.tool_arguments&&k.some(V=>V&&V.role==="assistant"&&(A.tool_call_id&&V.tool_call_id===A.tool_call_id||Array.isArray(V.tool_calls)&&V.tool_calls.some(I=>I.id&&I.id===A.tool_call_id))),oe=A.role==="assistant"&&!P$(A.content)?M$(A):[],Ee=ow(t);return ke.default.createElement("div",{key:A.id,className:"group","data-testid":i,"data-message-id":i?A.id:void 0,"data-role":i?A.role:void 0},ke.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${z?"cursor-pointer":""}`,onClick:z?()=>v(A.id):void 0,style:H?{background:t?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.03)"}:{}},ke.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},(q?[ae,ce]:[M]).map(V=>ke.default.createElement("span",{key:V.label,className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:V.background,color:V.color,textAlign:"center"}},V.label))),ke.default.createElement("div",{className:"min-w-0 flex-1"},ke.default.createElement("div",{className:"text-sm break-words",style:{color:y.textPrimary}},F?ke.default.createElement("div",{className:"space-y-2",onClick:x},ke.default.createElement("textarea",{"data-testid":b("editor"),value:d,onChange:V=>f(V.target.value),onKeyDown:V=>{V.key==="Escape"&&w(),V.key==="Enter"&&(V.metaKey||V.ctrlKey)&&T(A)},rows:Math.min(12,Math.max(3,d.split(` +`).length)),autoFocus:!0,className:"aa-field w-full",style:{padding:"8px 10px",borderRadius:"8px",border:`1px solid ${t?"rgba(255,255,255,0.2)":"#d1d5db"}`,background:t?"rgba(255,255,255,0.06)":"#ffffff",color:y.textPrimary,fontFamily:"inherit",fontSize:"13px",resize:"vertical"}}),ke.default.createElement("div",{className:"flex items-center gap-2 text-xs"},ke.default.createElement("button",{type:"button","data-testid":b("save"),onClick:()=>T(A),disabled:p,style:{padding:"4px 10px",borderRadius:"6px",background:"#ef4444",color:"#ffffff",border:"none",cursor:p?"wait":"pointer",fontWeight:500}},p?"Saving\u2026":"Save"),ke.default.createElement("button",{type:"button","data-testid":b("cancel"),onClick:w,disabled:p,style:{padding:"4px 10px",borderRadius:"6px",background:"transparent",color:y.textSecondary,border:`1px solid ${t?"rgba(255,255,255,0.2)":"#d1d5db"}`,cursor:"pointer"}},"Cancel"),g&&ke.default.createElement("span",{style:{color:"#dc2626"}},g))):P?ke.default.createElement("div",null,ke.default.createElement("div",{className:"font-mono text-xs mb-1",style:{color:ce.color}},"\u2699 ",A.tool_name," \xB7 ",P.length," block",P.length===1?"":"s"),ke.default.createElement(Ds,{blocks:P,onAction:n,darkMode:t})):A.role==="tool"?ke.default.createElement("span",{style:{display:"grid",gap:"2px"}},L&&!ze&&ke.default.createElement("span",{className:"font-mono text-xs break-words"},A.tool_name&&ke.default.createElement("span",{style:{color:ce.color}},"\u2699 ",A.tool_name," "),ke.default.createElement("span",{style:{color:q?ae.color:y.textMuted}},"in:")," ",dg(L,180),L.length>180?"\u2026":""),R?ke.default.createElement("span",null,A.tool_name&&!(L&&!ze)&&ke.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:ce.color}},"\u2699 ",A.tool_name),(L||ze)&&ke.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:q?ce.color:y.textMuted}},"out:"),R.meta&&ke.default.createElement("span",{className:"font-mono text-xs mr-2",style:{color:y.textMuted}},R.meta),"\u201C",R.body.replace(/\s+/g," ").trim().slice(0,180),R.body.length>180?"\u2026":"","\u201D"):A.content?ke.default.createElement("span",null,A.tool_name&&!(L&&!ze)&&ke.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:ce.color}},"\u2699 ",A.tool_name),(L||ze)&&ke.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:q?ce.color:y.textMuted}},"out:"),"\u201C",dg(A.content,180),A.content.replace(/\s+/g," ").trim().length>180?"\u2026":"","\u201D"):ke.default.createElement("span",{className:"whitespace-pre-wrap"},A.tool_name?`\u2192 ${A.tool_name}(...)`:"\u2014")):_?ke.default.createElement("span",{style:{color:y.textSecondary}},dg(A.content),"\u2026"):oe.length>0?ke.default.createElement("span",{style:{display:"grid",gap:"2px"}},oe.map((V,I)=>ke.default.createElement("span",{key:I,className:"font-mono text-xs break-words"},V.name&&ke.default.createElement("span",{style:{color:y.textMuted}},V.name," "),ke.default.createElement("span",{style:{color:y.textMuted}},"in:")," ",V.args?ke.default.createElement(ke.default.Fragment,null,dg(V.args,180),V.args.length>180?"\u2026":""):"\u2014"))):Y&&Y.blocks?ke.default.createElement(Ds,{blocks:Y.blocks,onAction:n,darkMode:t}):Y&&Y.object?ke.default.createElement(Ds,{blocks:[{type:"object",value:Y.object}],darkMode:t}):ke.default.createElement($a,{text:A.content||"\u2014",darkMode:t,onUiAction:n}),C&&!F&&ke.default.createElement("div",{className:"mt-2"},ke.default.createElement(Ds,{blocks:C,onAction:n,darkMode:t})),A.role==="user"&&ke.default.createElement(aw,{attachments:A.attachments,darkMode:t,testId:b("attachment")})),ke.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap",style:{color:y.textMuted}},X&&!F&&ke.default.createElement("span",{className:"flex items-center gap-2 opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity",onClick:x},o&&ke.default.createElement("button",{type:"button","data-testid":b("edit"),onClick:()=>S(A),className:"hover:underline",style:{color:y.textSecondary,background:"none",border:"none",padding:0,cursor:"pointer",font:"inherit"}},"Edit"),a&&ke.default.createElement("button",{type:"button","data-testid":b("delete"),onClick:()=>a(A),className:"hover:underline",style:{color:"#dc2626",background:"none",border:"none",padding:0,cursor:"pointer",font:"inherit"}},"Delete")),A.created_at&&ke.default.createElement("span",null,new Date(A.created_at).toLocaleTimeString()),A.tool_name&&A.role!=="tool"&&ke.default.createElement("span",{className:"px-1.5 py-0.5 rounded",style:{background:M.background,color:M.color}},"\u2699 ",A.tool_name),A.duration_ms!=null&&ke.default.createElement("span",null,N$(A.duration_ms)),(A.tool_calls||[]).length>0&&ke.default.createElement("span",null,A.tool_calls.length," tool call",A.tool_calls.length>1?"s":""),A.content_checksum&&ke.default.createElement("span",{title:"Content fingerprint"},"\u{1F512} ",A.content_checksum.slice(0,8)))),ke.default.createElement(vue,{message:A,darkMode:t}),z&&ke.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${H?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:y.textMuted}},ke.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),H&&ke.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:M.color+"55"}},ke.default.createElement("div",{className:"flex flex-wrap gap-x-5 gap-y-1 text-xs font-mono",style:{color:y.textSecondary}},A.created_at&&ke.default.createElement("span",null,new Date(A.created_at).toLocaleString()),A.tool_call_id&&ke.default.createElement("span",null,"call: ",A.tool_call_id),A.duration_ms!=null&&ke.default.createElement("span",null,"took ",N$(A.duration_ms)),A.content_checksum&&ke.default.createElement("span",null,"\u{1F512} ",A.content_checksum)),D&&ke.default.createElement("div",null,ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:q?ae.color:y.textMuted}},"Arguments",q?" \xB7 from the agent":""),ke.default.createElement("pre",{style:Ee},D)),R?ke.default.createElement("div",null,ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:q?ce.color:y.textMuted}},"Result",q?" \xB7 from the tool":""),Object.keys(R.rest).length>0&&ke.default.createElement("pre",{style:Ee},JSON.stringify(R.rest,null,2)),ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mt-2 mb-1",style:{color:y.textMuted}},R.field," \xB7 ",R.body.length.toLocaleString()," chars"),ke.default.createElement("pre",{style:{...Ee,whiteSpace:"pre-wrap",maxHeight:"320px",overflowY:"auto"}},R.body.slice(0,8e3),R.body.length>8e3?` +\u2026`:"")):E?ke.default.createElement("div",null,ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:y.textMuted}},A.role==="tool"?"Result":"Content (parsed)"),ke.default.createElement("pre",{style:Ee},E)):A.role==="tool"&&A.content?ke.default.createElement("div",null,ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:q?ce.color:y.textMuted}},"Result",q?" \xB7 from the tool":""," \xB7 ",A.content.length.toLocaleString()," chars"),ke.default.createElement("pre",{style:{...Ee,whiteSpace:"pre-wrap",maxHeight:"320px",overflowY:"auto"}},A.content.slice(0,8e3),A.content.length>8e3?` +\u2026`:"")):null,j&&ke.default.createElement("div",null,ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:y.textMuted}},"Requested tool calls"),ke.default.createElement("pre",{style:Ee},j)),U&&ke.default.createElement("div",null,ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:y.textMuted}},"Tool definition"),ke.default.createElement(hE,{tool:U,darkMode:t}))))}))}var pt=te(re());var nr=te(re());var Pr=e=>({cardBg:e?"#1f1f1f":"#ffffff",cardBorder:e?"#2a2a2a":"#e5e7eb",innerBg:e?"rgba(255,255,255,0.04)":"#f9fafb",panelBg:e?"rgba(0,0,0,0.35)":"#f9fafb",preBg:e?"rgba(255,255,255,0.06)":"#eef0f3",trackBg:e?"rgba(255,255,255,0.08)":"#f3f4f6",hoverBg:e?"rgba(255,255,255,0.04)":"#f9fafb",controlBg:e?"rgba(255,255,255,0.06)":"#f3f4f6",controlActiveBg:e?"#2a2a2a":"#ffffff",textPrimary:e?"#ffffff":"#111827",textSecondary:e?"rgba(255,255,255,0.6)":"#6b7280",textMuted:e?"rgba(255,255,255,0.4)":"#9ca3af",textBody:e?"rgba(255,255,255,0.75)":"#4b5563",link:"#3b82f6",good:e?"#4ade80":"#16a34a",bad:"#ef4444"}),I$=(e,t=200)=>{let r=String(e??"").replace(/\s+/g," ").trim();return r.length>t?`${r.slice(0,t)}\u2026`:r};function dc({open:e,darkMode:t,size:r=14,style:n}){return nr.default.createElement("svg",{className:`flex-shrink-0 transition-transform ${e?"rotate-180":""}`,width:r,height:r,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:Pr(t).textMuted,...n},"aria-hidden":"true"},nr.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))}function iw({darkMode:e,id:t,children:r,style:n,className:o=""}){let a=Pr(e);return nr.default.createElement("div",{id:t,className:`rounded-xl border overflow-hidden transition-colors ${o}`,style:{backgroundColor:a.cardBg,borderColor:a.cardBorder,...n}},r)}var Lo={context:132,duration:76,tokens:104,cost:88,status:68,count:96,age:76};function Rf({cells:e,darkMode:t,gap:r=16,className:n="",style:o}){let a=Pr(t),i=(e||[]).filter(Boolean);return i.length===0?null:nr.default.createElement("div",{className:`flex-shrink-0 text-sm ${n}`,style:{display:"grid",gridTemplateColumns:i.map(l=>l.width?`${l.width}px`:"minmax(0, auto)").join(" "),alignItems:"center",columnGap:`${r}px`,color:a.textSecondary,...o}},i.map(l=>{let s=l.content!=null&&l.content!==!1&&l.content!=="";return nr.default.createElement("div",{key:l.key,title:(s?l.title:l.empty)||void 0,className:"min-w-0 truncate",style:{textAlign:l.align||"right"}},s?l.content:nr.default.createElement("span",{style:{color:a.textMuted}},"\u2014"))}))}var j$=(e,{wrap:t=!0,maxHeight:r=320}={})=>({background:Pr(e).preBg,borderRadius:"6px",padding:"6px 8px",margin:"2px 0 4px 0",overflowX:"auto",overflowY:"auto",maxHeight:`${r}px`,whiteSpace:t?"pre-wrap":"pre"}),hue=e=>{if(e==null)return{text:"",json:!1};if(typeof e=="object")return{text:JSON.stringify(e,null,2),json:!0};let t=String(e);if(!/^[[{]/.test(t.trim()))return{text:t,json:!1};try{return{text:JSON.stringify(JSON.parse(t),null,2),json:!0}}catch{return{text:t,json:!1}}};function ep({lines:e,darkMode:t,onClick:r,indent:n=0,size:o="12px",style:a,max:i=200,hold:l=!1}){let[s,u]=tp(),c=Pr(t),d=(e||[]).filter(f=>f&&(f.text||l));return d.some(f=>f.text)?nr.default.createElement("div",{onClick:r,className:"min-w-0",style:{display:"grid",gap:"2px",paddingLeft:n?`${n}px`:0,fontFamily:Ve.mono,fontSize:o,color:c.textSecondary,cursor:r?"pointer":"default",...a}},d.map((f,p)=>{let m=`${f.label}-${p}`,g=s(m),h=f.max||i,v=!f.text,y=String(f.text??"").replace(/\s+/g," ").trim(),b=hue(f.text),x=!v&&(b.json||y.length>60||y!==String(f.text).trim());return nr.default.createElement("div",{key:m},nr.default.createElement("div",{onClick:x?S=>{S.stopPropagation(),u(m)}:void 0,title:x?g?"Collapse":"Expand":void 0,style:{cursor:x?"pointer":"default",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:0}},nr.default.createElement("span",{style:{color:f.color||c.textMuted}},x?g?"\u25BE":"\u25B8":"\xA0"," ",f.label,":")," ",!g&&(v?nr.default.createElement("span",{style:{color:c.textMuted}},"\u2014"):I$(y,h))),g&&nr.default.createElement("pre",{onClick:S=>S.stopPropagation(),style:j$(t,{wrap:!b.json})},b.text))})):null}function fg({options:e,value:t,onChange:r,darkMode:n,label:o,style:a}){let i=Pr(n);return nr.default.createElement("div",{className:"flex items-center gap-1 flex-shrink-0",style:a},o&&nr.default.createElement("span",{className:"text-xs mr-1",style:{color:i.textMuted}},o),e.map(l=>nr.default.createElement("button",{key:l.id,type:"button",onClick:s=>{s.stopPropagation(),r(l.id)},title:l.hint,className:"px-2 py-0.5 text-xs rounded transition-colors",style:t===l.id?{background:i.controlActiveBg,color:i.textPrimary,boxShadow:n?"none":"0 1px 2px rgba(0,0,0,0.08)"}:{color:i.textSecondary}},l.label)))}function z$({label:e,body:t,open:r,onToggle:n,darkMode:o,prose:a=!1,max:i=140}){let l=Pr(o);return nr.default.createElement("div",null,nr.default.createElement("div",{onClick:s=>{s.stopPropagation(),n()},title:r?"Collapse":"Expand",style:{cursor:"pointer",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},nr.default.createElement("span",{style:{color:l.textMuted}},r?"\u25BE":"\u25B8"," ",e,":")," ",!r&&nr.default.createElement("span",{style:{color:l.textMuted}},I$(t,i))),r&&nr.default.createElement("pre",{onClick:s=>s.stopPropagation(),style:j$(o,{wrap:a})},t))}function tp(e={}){let[t,r]=(0,nr.useState)(e),n=(0,nr.useCallback)(a=>{r(i=>({...i,[a]:!i[a]}))},[]);return[(0,nr.useCallback)(a=>!!t[a],[t]),n,r]}var wE={root:"#9ca3af",prompt:"#60a5fa",generate:"#a855f7",llm:"#ef4444",thinking:"#fbbf24",tool:"#22c55e",response:"#2dd4bf",embedding:"#818cf8"},B$=[{id:"time",label:"Time",hint:"Chronological \u2014 reads as a waterfall"},{id:"duration",label:"Slowest",hint:"Longest-running first"},{id:"name",label:"Name",hint:"Group repeated tool calls together"}],Dr=e=>e==null?"\u2014":e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`,SE=e=>{switch(e){case"root":return Yt.spans.root;case"prompt":return Yt.spans.prompt;case"generate":return Yt.spans.generate;case"llm":return Yt.spans.llm;case"thinking":return Yt.spans.thinking;case"tool":return Yt.spans.tool;case"response":return Yt.spans.response;default:return"-"}},xue=(e,t)=>{let r=Math.max(e||0,1),n=Math.max(t||1,1);if(n<=1)return 100;let o=Math.log(r)/Math.log(n);return Math.min(100,Math.max(4,o*100))},bue=(e,t)=>{let r=[...e||[]];switch(t){case"duration":return r.sort((n,o)=>(o.duration||0)-(n.duration||0));case"name":return r.sort((n,o)=>(n.name||"").localeCompare(o.name||""));default:return r.sort((n,o)=>(n.start||0)-(o.start||0))}},wue=e=>{let t=e.tokens||{};return(t.input||0)+(t.output||0)+(t.thinking||0)},Sue=(e,t)=>{if(!t.duration_ms)return Dr(e.duration);let r=(e.duration||0)/t.duration_ms*100;return`${Dr(e.duration)} \xB7 ${r<1?r.toFixed(2):r.toFixed(1)}%`},Aue=e=>{if(typeof e!="string")return null;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return null}},L$=e=>e.endsWith(".instructions")?0:e.endsWith(".tools")?1:e.endsWith(".messages")?3:2,AE=e=>{let t=e.spans||[],r=a=>{for(let i of t){let l=(i.attributes||{})[a];if(l)return l}return null},n=r("llm.prompt");if(!n){let a=r("prompt.input.messages");if(a)try{n=[...JSON.parse(a)].reverse().find(s=>s&&s.role==="user"&&s.content)?.content}catch{}}let o=r("llm.completion")||r("llm.output.message");return{input:n,output:o}},kue=e=>{let t=e.attributes||{},r=null,n="input",o="user";if(t["prompt.input.messages"])try{let u=[...JSON.parse(t["prompt.input.messages"])].reverse().find(c=>c&&c.role==="user"&&c.content);typeof u?.content=="string"&&(r=u.content)}catch{}if(!r&&t["llm.prompt"]&&(r=String(t["llm.prompt"])),!r&&(t["tool.input.args"]||t["tool.arguments"])){let s=t["tool.input.args"]||t["tool.arguments"];r=typeof s=="string"?s:JSON.stringify(s),n="in",o="assistant"}let a=null,i="output",l="assistant";return t["llm.output.message"]||t["llm.completion"]?a=t["llm.output.message"]||t["llm.completion"]:(t["tool.output.result"]||t["tool.result"])&&(a=t["tool.output.result"]||t["tool.result"],i="out",l="tool"),a!=null&&typeof a!="string"&&(a=JSON.stringify(a)),{input:r,output:a,inputLabel:n,inputTone:o,outputLabel:i,outputTone:l}},Cue=(e,t)=>{let r=kue(e),n=AE(t);return r.input&&r.input===n.input&&(r.input=null),r.output&&r.output===n.output&&(r.output=null),r},Nue=e=>{let t={...e.attributes||{}},r=f=>{let p=t[f];return delete t[f],p},n=[],o=f=>n.push({id:`${e.span_id}-m${n.length}`,...f}),a=r("prompt.input.instructions")||r("llm.instructions");a&&o({role:"system",content:String(a)});let i=r("prompt.input.messages");if(i)try{JSON.parse(i).forEach(f=>{f&&o({role:f.role||"user",content:typeof f.content=="string"?f.content:JSON.stringify(f.content),tool_call_id:f.tool_call_id,tool_calls:f.tool_calls})})}catch{t["prompt.input.messages"]=i}let l=r("llm.prompt");l&&o({role:"user",content:String(l)});let s=r("tool.input.args")||r("tool.arguments"),u=r("tool.output.result")||r("tool.result");if(s||u){let f=r("tool.name");o({role:"tool",tool_name:f||(e.name||"").replace(/^tool\./,""),tool_arguments:s,content:u?String(u):null})}let c=r("llm.completion"),d=r("llm.output.message");return(c||d)&&o({role:"assistant",content:String(c||d)}),{messages:n,rest:t}},kE=e=>{for(let t of e?.spans||[]){let r=(t.attributes||{})["prompt.input.tools"];if(r)try{let n=typeof r=="string"?JSON.parse(r):r;if(Array.isArray(n)&&n.length>0)return n}catch{}}return[]};function _ue({span:e,darkMode:t,tools:r=[]}){let[n,o]=tp(),a=Pr(t),{messages:i,rest:l}=Nue(e),s=null,u=l["prompt.input.tools"];if(u)try{let p=typeof u=="string"?JSON.parse(u):u;Array.isArray(p)&&p.length>0&&(s=p,delete l["prompt.input.tools"])}catch{}let c=Object.entries(l).sort((p,m)=>L$(p[0])-L$(m[0])),d=i.length===1&&i[0].role==="tool"?i[0]:null,f=d?.tool_arguments==null?null:typeof d.tool_arguments=="string"?d.tool_arguments:JSON.stringify(d.tool_arguments);return pt.default.createElement("div",{onClick:p=>p.stopPropagation(),style:{margin:"4px 0 8px 0",padding:"10px 12px",borderRadius:"8px",background:a.panelBg,border:`1px solid ${a.cardBorder}`,fontFamily:Ve.mono,fontSize:"12px",color:a.textBody,cursor:"default"}},pt.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 20px"}},pt.default.createElement("span",null,"duration: ",Dr(e.duration)),pt.default.createElement("span",null,"status: ",e.status||"OK"),wue(e)>0&&pt.default.createElement("span",null,"tokens in:",e.tokens.input||0," out:",e.tokens.output||0,e.tokens.thinking>0?` thinking:${e.tokens.thinking}`:""),pt.default.createElement("span",{style:{color:a.textMuted}},"span: ",e.span_id)),d&&pt.default.createElement("div",{style:{marginTop:"8px",display:"grid",gap:"4px"}},pt.default.createElement("div",{style:{fontSize:"12px",wordBreak:"break-all"}},pt.default.createElement("span",{style:{color:Ar("tool",t).color}},"\u2699 ",d.tool_name),f&&pt.default.createElement(pt.default.Fragment,null," ",pt.default.createElement("span",{style:{color:Ar("assistant",t).color}},"in:")," ",pt.default.createElement("span",{style:{color:a.textBody}},f))),d.content&&pt.default.createElement("div",{style:{fontSize:"12px"}},pt.default.createElement("span",{style:{color:Ar("tool",t).color}},"out:")," ",pt.default.createElement("span",{style:{color:a.textBody,whiteSpace:"pre-wrap",display:"inline-block",maxHeight:"240px",overflowY:"auto",verticalAlign:"top",maxWidth:"100%"}},d.content))),i.length>0&&!d&&pt.default.createElement("div",{style:{marginTop:"10px",fontFamily:"ui-sans-serif, system-ui, sans-serif"}},pt.default.createElement(ba,{messages:i,darkMode:t,tools:s||r})),s&&pt.default.createElement(xE,{tools:s,darkMode:t}),c.length>0&&pt.default.createElement("div",{style:{marginTop:"6px",display:"grid",gap:"2px"}},c.map(([p,m])=>{let g=p.match(/args|result|input|output/)?Aue(m):null,h=!g&&(p.endsWith(".instructions")||p.match(/input|output|result/))&&typeof m=="string"?m:null,v=g||h;if(!v)return pt.default.createElement("div",{key:p,style:{wordBreak:"break-all"}},pt.default.createElement("span",{style:{color:a.textMuted}},p,":")," ",typeof m=="string"?m:JSON.stringify(m));let y=`${e.span_id}:${p}`;return pt.default.createElement(z$,{key:p,label:p,body:v,prose:!g,darkMode:t,open:n(y),onToggle:()=>o(y)})})))}function Eue({span:e,trace:t,darkMode:r,sort:n,longest:o,expanded:a,onToggle:i,tools:l}){let s=Pr(r),u=Object.keys(e.attributes||{}).length>0,c=a?null:Cue(e,t);return pt.default.createElement(pt.default.Fragment,null,pt.default.createElement("div",{className:`py-0.5 px-1 -mx-1 rounded transition-colors ${u?`cursor-pointer ${r?"hover:bg-white/5":"hover:bg-gray-100"}`:""}`,style:{paddingLeft:n==="time"?`${(e.nested||0)*16}px`:0,background:a?s.hoverBg:void 0},onClick:u?()=>i():void 0,title:u?`${e.name} \u2014 click for span details`:e.name},pt.default.createElement("div",{className:"flex items-baseline gap-2 min-w-0"},pt.default.createElement("span",{className:"flex-shrink-0",style:{color:e.type==="thinking"?void 0:s.textMuted}},SE(e.type)),pt.default.createElement("span",{className:"text-sm font-medium truncate",style:{color:e.error?s.bad:s.textPrimary}},e.name),pt.default.createElement("span",{className:"text-xs ml-auto flex-shrink-0",style:{fontFamily:Ve.mono,color:s.textMuted}},Sue(e,t)),u&&pt.default.createElement(dc,{open:a,darkMode:r,size:13,style:{marginLeft:"2px"}})),pt.default.createElement("div",{className:"h-3 relative rounded mt-0.5",style:{background:s.trackBg}},pt.default.createElement("div",{className:"absolute h-3 rounded",style:{background:e.error?"#f87171":wE[e.type]||"#9ca3af",left:n==="time"?`${t.duration_ms?e.start/t.duration_ms*100:0}%`:0,width:n==="time"?`${t.duration_ms?Math.max(e.duration/t.duration_ms*100,1):1}%`:`${xue(e.duration,o)}%`}})),c&&pt.default.createElement(ep,{darkMode:r,size:"11px",style:{marginTop:"2px"},lines:[{label:c.inputLabel,text:c.input,color:Ar(c.inputTone,r).color,max:160},{label:c.outputLabel,text:c.output,color:Ar(c.outputTone,r).color,max:160}]})),a&&pt.default.createElement(_ue,{span:e,darkMode:r,tools:l}))}function CE({trace:e,darkMode:t,sort:r="time",tools:n,keyPrefix:o=""}){let[a,i]=tp(),l=Pr(t),s=bue(e?.spans,r),u=n||kE(e);if(s.length===0)return pt.default.createElement("div",{className:"text-sm py-2",style:{color:l.textMuted}},"No spans recorded for this trace.");let c=Math.max(...s.map(d=>d.duration||0),1);return pt.default.createElement("div",{className:"space-y-2"},s.map((d,f)=>{let p=`${o}${d.span_id||f}`;return pt.default.createElement(Eue,{key:p,span:d,trace:e,darkMode:t,sort:r,longest:c,tools:u,expanded:a(p),onToggle:()=>i(p)})}))}var Oue=[{id:"spans",label:"Spans",hint:"Timing waterfall with span details"},{id:"conversation",label:"Conversation",hint:"The run as a message stream \u2014 prompt, tool calls, response"}],Tue=e=>{let t=0,r=[];(e?.spans||[]).forEach(a=>{(a.nested||0)!==0&&(a.type==="tool"?r.push(a):(a.type==="llm"||a.type==="generate")&&(t=Math.max(t,a.duration||0)))});let n=r.reduce((a,i)=>a+(i.duration||0),0);t=Math.max(t-n,0);let o=e?.duration_ms||t+n||1;return{generation:t,tools:r,toolTotal:n,total:o,overhead:Math.max(o-t-n,0)}};function Mue({trace:e,darkMode:t}){let r=Pr(t),{generation:n,tools:o,toolTotal:a,total:i,overhead:l}=Tue(e);if(n===0&&a===0||n/i>=.99&&a/i<.01)return null;let s=c=>`${(c/i*100).toFixed(c/i<.01?2:1)}%`,u=(c,d)=>Ke.default.createElement("div",{style:{width:`${Math.max(c/i*100,.4)}%`,background:d,height:"100%"}});return Ke.default.createElement("div",{style:{marginTop:"14px",paddingTop:"12px",borderTop:`1px solid ${r.cardBorder}`}},Ke.default.createElement("div",{style:{fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em",color:r.textSecondary,marginBottom:"6px"}},"Time breakdown \u2014 generation vs tools"),Ke.default.createElement("div",{style:{display:"flex",height:"10px",borderRadius:"5px",overflow:"hidden",background:r.trackBg}},u(n,"#ef4444"),u(a,"#10b981"),l>0&&u(l,t?"rgba(255,255,255,0.2)":"#d1d5db")),Ke.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"8px",fontSize:"12px",fontFamily:Ve.mono,color:r.textBody}},Ke.default.createElement("span",null,Ke.default.createElement("span",{style:{color:"#ef4444"}},"\u25A0")," generation ",Dr(n)," (",s(n),")"),Ke.default.createElement("span",null,Ke.default.createElement("span",{style:{color:"#10b981"}},"\u25A0")," tools ",Dr(a)," (",s(a),")"),l>0&&Ke.default.createElement("span",null,Ke.default.createElement("span",{style:{color:r.textSecondary}},"\u25A0")," overhead ",Dr(l)," (",s(l),")")),o.length>0&&Ke.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"4px",fontSize:"12px",fontFamily:Ve.mono,color:r.textSecondary}},o.map((c,d)=>Ke.default.createElement("span",{key:d},c.name," ",Dr(c.duration)," (",s(c.duration||0),")"))))}function Pue({trace:e,darkMode:t}){let[r,n]=(0,Ke.useState)(null),[o,a]=(0,Ke.useState)(!1),i=Pr(t);if((0,Ke.useEffect)(()=>{if(e?.id==null)return;let s=!0;return n(null),a(!1),fetch(`/api/interactions/trace-${e.id}`).then(u=>u.ok?u.json():Promise.reject(new Error("request failed"))).then(u=>s&&n(u.interaction)).catch(()=>s&&a(!0)),()=>{s=!1}},[e?.id]),o)return Ke.default.createElement("div",{className:"text-sm py-4",style:{color:i.bad}},"Couldn't load the conversation for this trace.");if(!r)return Ke.default.createElement("div",{className:"text-sm py-4",style:{color:i.textMuted}},"Loading conversation\u2026");let l=r.instructions?[{id:`trace-${e.id}-system`,role:"system",content:r.instructions,created_at:r.created_at},...r.messages||[]]:r.messages||[];return l.length===0?Ke.default.createElement("div",{className:"text-sm py-4",style:{color:i.textMuted}},"This trace predates content capture \u2014 no conversation to show."):Ke.default.createElement(ba,{messages:l,darkMode:t,tools:kE(e)})}function pg({trace:e,darkMode:t,compact:r=!1,showConversation:n=!0}){let[o,a]=(0,Ke.useState)("spans"),[i,l]=(0,Ke.useState)("time"),s=Pr(t),u=(e?.spans||[]).length,c=ew(e),d=e?.tokens||{},f=(0,Ke.useCallback)(p=>a(n?p:"spans"),[n]);return e?Ke.default.createElement("div",null,Ke.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2 mb-2"},Ke.default.createElement("div",{className:"flex items-center gap-1"},n&&Ke.default.createElement(fg,{options:Oue,value:o,onChange:f,darkMode:t}),Ke.default.createElement("span",{className:"text-xs ml-2",style:{color:s.textSecondary}},u," ",u===1?"span":"spans")),o==="spans"&&u>0&&Ke.default.createElement(fg,{options:B$,value:i,onChange:l,darkMode:t,label:"Sort"})),o==="conversation"?Ke.default.createElement("div",{className:"rounded-lg border p-4",style:{background:s.cardBg,borderColor:s.cardBorder}},Ke.default.createElement(Pue,{trace:e,darkMode:t})):Ke.default.createElement(Ke.default.Fragment,null,i==="time"?Ke.default.createElement("div",{className:"flex justify-between text-xs mb-2",style:{color:s.textMuted}},Ke.default.createElement("span",null,"0ms"),Ke.default.createElement("span",null,Math.round((e.duration_ms||0)*.33),"ms"),Ke.default.createElement("span",null,Math.round((e.duration_ms||0)*.66),"ms"),Ke.default.createElement("span",null,Dr(e.duration_ms))):Ke.default.createElement("div",{className:"text-xs mb-2",style:{color:s.textMuted}},"Bar length compares duration on a log scale"),Ke.default.createElement(CE,{trace:e,darkMode:t,sort:i,keyPrefix:`${e.id||e.trace_id}:`})),c&&Ke.default.createElement("div",{className:"mt-3"},Ke.default.createElement(Ps,{...c,label:"Context pressure",darkMode:t})),Ke.default.createElement(Mue,{trace:e,darkMode:t}),!r&&Ke.default.createElement("div",{className:"mt-4 pt-4 border-t flex items-center flex-wrap gap-x-6 gap-y-1 text-sm",style:{borderColor:s.cardBorder,color:s.textSecondary}},Ke.default.createElement("span",null,"Tokens:"),d.thinking>0&&Ke.default.createElement("span",{className:"text-amber-500",style:{fontFamily:Ve.mono}},"T:",d.thinking.toLocaleString()),Ke.default.createElement("span",{className:"text-blue-500",style:{fontFamily:Ve.mono}},"in:",(d.input||0).toLocaleString()),Ke.default.createElement("span",{className:"text-green-500",style:{fontFamily:Ve.mono}},"out:",(d.output||0).toLocaleString()),e.provider&&Ke.default.createElement("span",{style:{fontFamily:Ve.mono}},e.provider,e.model?` \xB7 ${e.model}`:"")),e.error&&Ke.default.createElement("div",{className:"mt-4 p-3 rounded-lg border",style:{background:t?"rgba(239,68,68,0.1)":"#fef2f2",borderColor:t?"rgba(239,68,68,0.3)":"#fecaca"}},Ke.default.createElement("span",{className:"text-sm",style:{color:t?"#fca5a5":"#b91c1c"}},e.error))):null}var Due=e=>{let t=(e?.input||0)+(e?.output||0)+(e?.thinking||0);return t?t>=1e3?`${(t/1e3).toFixed(1)}K`:`${t}`:null},Iue=e=>e==null?null:`$${e.toFixed(4)}`;function lw({trace:e,darkMode:t,expanded:r,onToggle:n}){let o=Pr(t),a=AE(e),i=ew(e),l=e.status!=="ERROR",s=Due(e.tokens);return kr.default.createElement(iw,{darkMode:t,id:`trace-row-${e.id}`},kr.default.createElement("div",{className:`p-4 flex items-center justify-between flex-wrap gap-y-2 cursor-pointer transition-colors ${t?"hover:bg-white/5":"hover:bg-gray-50"}`,onClick:n,style:r?{background:o.hoverBg}:void 0},kr.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},kr.default.createElement("span",{className:"px-2 py-1 text-xs rounded flex-shrink-0",style:{fontFamily:Ve.mono,background:o.controlBg,color:o.textSecondary}},"TRACE"),kr.default.createElement("span",{className:"text-sm flex-shrink-0",style:{fontFamily:Ve.mono,color:o.textMuted}},e.short_id),kr.default.createElement("span",{className:"text-sm font-medium truncate",style:{color:o.textPrimary}},e.display_name)),kr.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0"},kr.default.createElement(Rf,{darkMode:t,cells:[{key:"model",title:"Model that generated this trace",empty:"No model recorded for this trace",content:e.model&&kr.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded",style:{fontFamily:Ve.mono,background:t?"rgba(99,102,241,0.2)":"#eef2ff",color:t?"#a5b4fc":"#4338ca"}},e.model)},{key:"context",width:Lo.context,empty:"Context: no generation in this trace reported its token counts",content:i&&kr.default.createElement(Ps,{compact:!0,...i,label:"Context",darkMode:t})},{key:"duration",width:Lo.duration,title:"Wall-clock duration",empty:"No duration recorded for this trace",content:e.duration_ms!=null&&kr.default.createElement(kr.default.Fragment,null,kr.default.createElement("i",{className:"fa-solid fa-clock mr-1"}),Dr(e.duration_ms))},{key:"tokens",width:Lo.tokens,title:"Tokens in, out and thinking",empty:"No token counts recorded for this trace",content:s&&`${s} tokens`},{key:"cost",width:Lo.cost,title:"Estimated cost of this trace",empty:"Nothing to price \u2014 this trace recorded no tokens",content:e.estimated_cost!=null&&kr.default.createElement(kr.default.Fragment,null,kr.default.createElement("i",{className:"fa-solid fa-coins mr-1"}),Iue(e.estimated_cost))},{key:"status",width:Lo.status,title:l?"Trace completed":e.error||"Trace ended in an error",content:kr.default.createElement("span",{style:{color:l?o.good:o.bad}},kr.default.createElement("i",{className:`fa-solid ${l?"fa-check":"fa-xmark"} mr-1`}),l?"OK":"ERROR")}]}),kr.default.createElement(dc,{open:r,darkMode:t}))),!r&&kr.default.createElement(ep,{darkMode:t,onClick:n,hold:!0,style:{padding:"0 16px 12px"},lines:[{label:"input",text:a.input,color:Ar("user",t).color},{label:"output",text:a.output,color:Ar("assistant",t).color}]}),r&&kr.default.createElement("div",{className:"border-t p-4",style:{borderColor:o.cardBorder,background:o.innerBg}},kr.default.createElement(pg,{trace:e,darkMode:t})))}function Re(e=""){return`${(window.ACTIVE_AGENT_DASHBOARD?.mountPath||"").replace(/\/$/,"")}${e}`||"/"}function sw(e=""){window.history.pushState({},"",Re(e))}function dl(e=window.location.pathname){let t=(window.ACTIVE_AGENT_DASHBOARD?.mountPath||"").replace(/\/$/,"");return t&&(e===t||e.startsWith(`${t}/`))?e.slice(t.length)||"/":e}function Is(e){if(!e)return;let t=dl(e);sw(t),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Re(t)}}))}var $$=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],jue=3e4,zue=e=>{let t={};return e.forEach((r,n)=>{t[r]=$$[n%$$.length]}),t},Lue=e=>{let t={};return e.forEach(r=>{(r.spans||[]).forEach(n=>{if((n.nested||0)===0)return;let o=n.name||n.type||"unknown";t[o]||(t[o]={name:o,type:n.type,count:0,total:0,max:0,errors:0});let a=t[o];a.count+=1,a.total+=n.duration||0,a.max=Math.max(a.max,n.duration||0),n.error&&(a.errors+=1)})}),Object.values(t).map(r=>({...r,avg:r.total/r.count})).sort((r,n)=>n.total-r.total)},Bue=(e,t,r,n=60)=>{let o=Date.now(),a=[],i=n*1e3,l=Math.max(1,Math.round(r*60/n));for(let s=l-1;s>=0;s--){let u=o-(s+1)*i,c=o-s*i,d=e.filter(p=>p.timestamp_ms>=u&&p.timestamp_ms{f[p]=d.filter(m=>m.agent===p).length}),a.push({time:r>1440?new Date(c).toLocaleString([],{month:"short",day:"numeric",hour:"2-digit"}):new Date(c).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),timestamp:c,requests:d.length,errors:d.filter(p=>p.status==="ERROR").length,avgLatency:d.length>0?Math.round(d.reduce((p,m)=>p+(m.duration_ms||0),0)/d.length):0,traces:d,...f})}return a};function fc({agentClass:e=null,embedded:t=!1}){let{darkMode:r}=Nt(),[n,o]=(0,$.useState)([]),[a,i]=(0,$.useState)([]),[l,s]=(0,$.useState)({}),[u,c]=(0,$.useState)(!0),[d,f]=(0,$.useState)(null),[p,m]=(0,$.useState)(null),g=(0,$.useRef)(new URLSearchParams(window.location.search).get("trace")),[h,v]=(0,$.useState)(null),[y,b]=(0,$.useState)({status:"all",agent:"all",action:"all"}),[x,S]=(0,$.useState)("time"),[w,T]=(0,$.useState)(null),[k,A]=(0,$.useState)("timeline"),[M,H]=(0,$.useState)("popular"),{timeWindow:F}=si(),X=(0,$.useCallback)(async()=>{try{let N=e?`&agent=${encodeURIComponent(e)}`:"",O=await fetch(`/api/traces?minutes=${F.minutes}${N}`);if(!O.ok)throw new Error(`Request failed (${O.status})`);let Z=await O.json();o(Z.traces||[]),i(e?[e]:Z.agents||[]),s(Z.agent_ids||{}),f(null)}catch(N){f(N.message)}finally{c(!1)}},[F.minutes,e]);(0,$.useEffect)(()=>{X();let N=setInterval(X,jue);return()=>clearInterval(N)},[X]);let P=(0,$.useMemo)(()=>zue(a),[a]);(0,$.useEffect)(()=>{T(null)},[F.id]);let Y=(0,$.useMemo)(()=>Bue(n,a,F.minutes,F.bucketSeconds),[n,a,F]),C=Math.max(0,Math.ceil(Y.length/6)-1),_=(0,$.useMemo)(()=>{let N=n;if(w!==null){let O=Y[w];O&&(N=O.traces||[])}if(y.status!=="all"&&(N=N.filter(O=>y.status==="success"?O.status!=="ERROR":O.status==="ERROR")),y.agent!=="all"&&(N=N.filter(O=>O.agent===y.agent)),y.action!=="all")if(y.action.includes("#")){let[O,Z]=y.action.split("#");N=N.filter(B=>B.agent===O&&B.action===Z)}else N=N.filter(O=>O.action===y.action);return x==="latency"&&(N=[...N].sort((O,Z)=>(Z.duration_ms||0)-(O.duration_ms||0))),h&&!N.some(O=>O.id===h.id)&&(N=[h,...N]),N},[n,w,Y,y,x,h]);(0,$.useEffect)(()=>{let N=g.current;if(!N)return;let O=B=>{g.current=null,m(B.id),setTimeout(()=>{document.getElementById(`trace-row-${B.id}`)?.scrollIntoView({behavior:"smooth",block:"start"})},150)},Z=n.find(B=>B.id===N||B.trace_id===N||B.short_id&&String(N).startsWith(B.short_id));if(Z){O(Z);return}n.length!==0&&fetch(`/api/traces/${encodeURIComponent(N)}`).then(B=>B.ok?B.json():Promise.reject(new Error("not found"))).then(({trace:B})=>{v(B),O(B)}).catch(()=>{g.current=null})},[n]);let z=(0,$.useMemo)(()=>{let N=w!==null?Y[w]?.traces||[]:n,O={};N.forEach(B=>{B.agent&&(O[B.agent]||(O[B.agent]={agent:B.agent,count:0,totalDuration:0,cost:0,errors:0,actions:{},tokens:{thinking:0,input:0,output:0}}),O[B.agent].count++,O[B.agent].totalDuration+=B.duration_ms||0,O[B.agent].cost+=B.estimated_cost||0,B.status==="ERROR"&&O[B.agent].errors++,B.tokens&&(O[B.agent].tokens.thinking+=B.tokens.thinking||0,O[B.agent].tokens.input+=B.tokens.input||0,O[B.agent].tokens.output+=B.tokens.output||0),B.action&&(O[B.agent].actions[B.action]=(O[B.agent].actions[B.action]||0)+1))});let Z={popular:B=>B.count,longest:B=>B.totalDuration/(B.count||1),cost:B=>B.cost,tokens:B=>(B.tokens.input||0)+(B.tokens.output||0)+(B.tokens.thinking||0),errors:B=>B.errors}[M]||(B=>B.count);return Object.values(O).sort((B,we)=>Z(we)-Z(B)||we.count-B.count)},[n,Y,w,M]),D=(0,$.useMemo)(()=>{let N=w!==null?Y[w]?.traces||[]:n,O={};return N.forEach(Z=>{if(!Z.agent)return;let B=`${Z.agent}#${Z.action||"unknown"}`;O[B]||(O[B]={key:B,agent:Z.agent,action:Z.action||"unknown",count:0,totalDuration:0,errors:0,minDuration:1/0,maxDuration:0,tokens:{thinking:0,input:0,output:0}}),O[B].count++,O[B].totalDuration+=Z.duration_ms||0,O[B].minDuration=Math.min(O[B].minDuration,Z.duration_ms||0),O[B].maxDuration=Math.max(O[B].maxDuration,Z.duration_ms||0),Z.status==="ERROR"&&O[B].errors++,Z.tokens&&(O[B].tokens.thinking+=Z.tokens.thinking||0,O[B].tokens.input+=Z.tokens.input||0,O[B].tokens.output+=Z.tokens.output||0)}),Object.values(O).forEach(Z=>{Z.minDuration===1/0&&(Z.minDuration=0)}),Object.values(O).sort((Z,B)=>B.count-Z.count)},[n,Y,w]),E=(0,$.useMemo)(()=>{let N=w!==null?Y[w]?.traces||[]:n,O={};return N.forEach(Z=>{(Z.spans||[]).forEach(B=>{if(B.type!=="tool")return;let we=B.attributes?.["tool.name"]||B.name?.replace(/^tool\./,"")||"unknown";O[we]||(O[we]={name:we,count:0,totalDuration:0,maxDuration:0,errors:0,agents:new Set}),O[we].count++,O[we].totalDuration+=B.duration||0,O[we].maxDuration=Math.max(O[we].maxDuration,B.duration||0),B.error&&O[we].errors++,Z.agent&&O[we].agents.add(`${Z.agent}#${Z.action||"unknown"}`)})}),Object.values(O).map(Z=>({...Z,agents:[...Z.agents],avgDuration:Z.count?Z.totalDuration/Z.count:0})).sort((Z,B)=>B.totalDuration-Z.totalDuration)},[n,Y,w]),j=(0,$.useMemo)(()=>y.agent==="all"?D.map(N=>N.key):D.filter(N=>N.agent===y.agent).map(N=>N.key),[y.agent,D]),R=(0,$.useMemo)(()=>Lue(_),[_]),U=N=>{if(N&&N.activeTooltipIndex!==void 0){let O=N.activeTooltipIndex;T(w===O?null:O),m(null)}},L=N=>(N?.input||0)+(N?.output||0)+(N?.thinking||0),q=N=>{let O=N.count?N.errors/N.count:0;return[{label:`Calls ${F.label||""}`.trim(),value:N.count.toLocaleString()},{label:"Errors",value:`${(O*100).toFixed(1)}%`,tone:N.errors>0?"bad":"good"},{label:"Avg time",value:`${Math.round(N.totalDuration/(N.count||1))}ms`},{label:"Tokens",value:L(N.tokens).toLocaleString()},{label:"Cost",value:ae(N.cost),title:"Estimated from token counts at this model's published rates",tone:N.cost?void 0:"muted"},{label:"Actions",value:(N.agents?.length||0).toLocaleString()}]},ae=N=>N?N<.01?"<$0.01":`$${N.toFixed(2)}`:"\u2014",ce=$.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:"8px",marginBottom:"12px"}},$.default.createElement("span",{style:{fontSize:"12px",color:r?"rgba(255,255,255,0.5)":"#6b7280"}},"Rank by"),$.default.createElement("select",{value:M,onChange:N=>H(N.target.value),style:{fontSize:"12px",padding:"4px 8px",borderRadius:"6px",border:`1px solid ${r?"rgba(255,255,255,0.15)":"#e5e7eb"}`,background:r?"rgba(255,255,255,0.05)":"#ffffff",color:r?"#f9fafb":"#111827"}},$.default.createElement("option",{value:"popular"},"Most calls"),$.default.createElement("option",{value:"longest"},"Longest average"),$.default.createElement("option",{value:"cost"},"Highest cost"),$.default.createElement("option",{value:"tokens"},"Most tokens"),$.default.createElement("option",{value:"errors"},"Most errors"))),ze=N=>b(O=>({...O,agent:O.agent===N?"all":N})),oe=N=>{let O=l[N];if(!O)return ze(N);let Z=Re(`/agents/${O}`);window.history.pushState(window.history.state,"",Z),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Z}}))},Ee=N=>{let O=R[0]?.total||1,Z=N?"rgba(0,0,0,0.3)":"white",B=N?"1px solid rgba(255,255,255,0.1)":"1px solid #e5e7eb",we=N?"white":"#111827",ee=N?"rgba(255,255,255,0.5)":"#6b7280",ue={llm:"#ef4444",tool:"#10b981",generate:"#8b5cf6",prompt:"#3b82f6"};return $.default.createElement("div",{style:{padding:N?"0 24px 24px 24px":0}},$.default.createElement("div",{style:{background:Z,border:B,borderRadius:"12px",padding:"16px"}},$.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:we,marginBottom:"4px"}},"Slowest operations"),$.default.createElement("div",{style:{fontSize:"12px",color:ee,marginBottom:"14px"}},"Span durations aggregated across ",_.length," trace",_.length===1?"":"s"," \u2014 ranked by total time"),R.length===0?$.default.createElement("div",{style:{fontSize:"13px",color:ee,padding:"12px 0"}},"No spans in the current selection"):$.default.createElement("div",{style:{display:"grid",gap:"10px"}},R.map(W=>$.default.createElement("div",{key:W.name,style:{display:"flex",alignItems:"center",gap:"12px"}},$.default.createElement("div",{style:{width:"220px",flexShrink:0,display:"flex",alignItems:"center",gap:"8px"}},$.default.createElement("span",{style:{color:ee}},SE(W.type)),$.default.createElement("span",{style:{fontSize:"13px",color:W.errors>0?"#ef4444":we,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},W.name)),$.default.createElement("div",{style:{flex:1,height:"18px",background:N?"rgba(255,255,255,0.06)":"#f3f4f6",borderRadius:"4px",position:"relative"}},$.default.createElement("div",{style:{position:"absolute",top:"3px",left:0,height:"12px",borderRadius:"3px",width:`${Math.max(W.total/O*100,.5)}%`,background:ue[W.type]||"#6366f1"}})),$.default.createElement("div",{style:{width:"260px",flexShrink:0,fontSize:"12px",color:ee,fontFamily:Ve.mono,textAlign:"right"}},W.count,"\xD7 \xB7 avg ",Dr(W.avg)," \xB7 max ",Dr(W.max)," \xB7 \u03A3 ",Dr(W.total)))))))};if(u)return $.default.createElement("div",{className:"flex items-center justify-center h-64"},$.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let V={requests:Y.reduce((N,O)=>N+O.requests,0),errors:Y.reduce((N,O)=>N+O.errors,0),avgLatency:(()=>{let N=Y.filter(O=>O.requests>0);return N.length===0?0:Math.round(N.reduce((O,Z)=>O+Z.avgLatency,0)/N.length)})(),throughput:(Y.reduce((N,O)=>N+O.requests,0)/F.minutes).toFixed(1)},I=n.length===0;return r?$.default.createElement("div",{className:"preview-content",style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)"}},$.default.createElement("div",{style:{padding:"24px 24px 0 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",marginBottom:"16px",paddingBottom:"16px"}},$.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},$.default.createElement("div",null,!t&&$.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:"white",margin:0}},"Traces"),$.default.createElement("p",{style:{fontSize:"14px",color:"rgba(255,255,255,0.6)",marginTop:"4px"}},w!==null?`Viewing ${Y[w]?.time} \u2022 ${_.length} requests`:`Last ${F.label} \u2022 Click timeline to drill down`)),$.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},$.default.createElement("div",{style:{display:"flex",background:"rgba(255,255,255,0.1)",borderRadius:"8px",padding:"2px"}},["timeline","agents","actions","tools","spans"].map(N=>$.default.createElement("button",{key:N,onClick:()=>A(N),style:{padding:"6px 12px",background:k===N?"#ef4444":"transparent",color:"white",borderRadius:"6px",border:"none",fontSize:"13px",cursor:"pointer",textTransform:"capitalize"}},N))),!e&&$.default.createElement("select",{value:y.agent,onChange:N=>b({...y,agent:N.target.value,action:"all"}),style:{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px",maxWidth:"180px",textOverflow:"ellipsis"}},$.default.createElement("option",{value:"all"},"All Agents"),a.map(N=>$.default.createElement("option",{key:N,value:N},N))),$.default.createElement("select",{value:y.action,onChange:N=>b({...y,action:N.target.value}),style:{padding:"8px 12px",background:y.action!=="all"?"rgba(239, 68, 68, 0.3)":"rgba(255,255,255,0.1)",border:y.action!=="all"?"1px solid #ef4444":"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px",maxWidth:"220px",textOverflow:"ellipsis"}},$.default.createElement("option",{value:"all"},"All Actions"),j.map(N=>$.default.createElement("option",{key:N,value:N},N))),$.default.createElement("select",{value:y.status,onChange:N=>b({...y,status:N.target.value}),style:{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px"}},$.default.createElement("option",{value:"all"},"All Status"),$.default.createElement("option",{value:"success"},"Success"),$.default.createElement("option",{value:"error"},"Error")),$.default.createElement("select",{value:x,onChange:N=>S(N.target.value),style:{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px"}},$.default.createElement("option",{value:"time"},"Newest first"),$.default.createElement("option",{value:"latency"},"Slowest first")),w!==null&&$.default.createElement("button",{onClick:()=>T(null),style:{padding:"8px 16px",background:"rgba(255,255,255,0.2)",color:"white",borderRadius:"8px",border:"none",fontSize:"14px",fontWeight:"500",cursor:"pointer"}},"Clear Selection")))),d&&$.default.createElement("div",{style:{margin:"0 24px 16px 24px",padding:"12px 16px",background:"rgba(239, 68, 68, 0.1)",borderRadius:"8px",color:"#ef4444",fontSize:"13px"}},"Failed to load traces: ",d),$.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},$.default.createElement("div",{style:{background:"rgba(0,0,0,0.3)",borderRadius:"12px",padding:"16px",border:"1px solid rgba(255,255,255,0.1)"}},$.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"12px"}},$.default.createElement("div",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},"Agent Requests / Minute"),$.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},Object.entries(P).map(([N,O])=>$.default.createElement("div",{key:N,style:{display:"flex",alignItems:"center",gap:"6px"}},$.default.createElement("div",{style:{width:"10px",height:"10px",borderRadius:"2px",background:O}}),$.default.createElement("span",{style:{fontSize:"11px",color:"rgba(255,255,255,0.7)"}},N.replace("Agent","")))))),$.default.createElement("div",{style:{height:"150px"}},$.default.createElement(Rl,{width:"100%",height:"100%"},$.default.createElement(Ts,{data:Y,onClick:U,style:{cursor:"pointer"}},$.default.createElement("defs",null,Object.entries(P).map(([N,O])=>$.default.createElement("linearGradient",{key:N,id:`gradient-${N}`,x1:"0",y1:"0",x2:"0",y2:"1"},$.default.createElement("stop",{offset:"5%",stopColor:O,stopOpacity:.8}),$.default.createElement("stop",{offset:"95%",stopColor:O,stopOpacity:.1})))),$.default.createElement(rl,{strokeDasharray:"3 3",stroke:"rgba(255,255,255,0.1)"}),$.default.createElement(il,{dataKey:"time",stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,interval:C}),$.default.createElement(sl,{stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,axisLine:!1,allowDecimals:!1}),$.default.createElement(gs,{contentStyle:{background:"rgba(0,0,0,0.9)",border:"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",padding:"12px"},labelStyle:{color:"white",fontWeight:"600",marginBottom:"8px"},itemStyle:{color:"rgba(255,255,255,0.8)",fontSize:"12px"},formatter:(N,O)=>[N,O.replace("Agent","")]}),Object.keys(P).map(N=>$.default.createElement(ol,{key:N,type:"monotone",dataKey:N,stackId:"1",stroke:P[N],fill:`url(#gradient-${N})`}))))),$.default.createElement("div",{style:{display:"flex",gap:"24px",marginTop:"12px",paddingTop:"12px",borderTop:"1px solid rgba(255,255,255,0.1)"}},$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"white"}},V.requests),$.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Total Requests")),$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#ef4444"}},V.errors),$.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Errors")),$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#10b981"}},V.avgLatency,"ms"),$.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Avg Latency")),$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#f59e0b"}},V.throughput,"/min"),$.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Throughput"))))),k==="agents"&&$.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},ce,$.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(280px, 1fr))",gap:"16px"}},z.map(N=>$.default.createElement(hd,{key:N.agent,name:N.agent,accentColor:P[N.agent],subtitle:N.agents?.length?N.agents.join(", "):void 0,badge:$.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:P[N.agent]+"30",color:P[N.agent],borderRadius:"4px",whiteSpace:"nowrap"}},N.count," calls"),onClick:()=>oe(N.agent),stats:q(N),footer:$.default.createElement($.default.Fragment,null,$.default.createElement("span",null,l[N.agent]?"Open agent \u2192":"Not linked to an agent record"),$.default.createElement("button",{onClick:O=>{O.stopPropagation(),ze(N.agent)},style:{background:"none",border:"none",padding:0,cursor:"pointer",color:y.agent===N.agent?"#ef4444":"inherit",font:"inherit"}},y.agent===N.agent?"Clear filter":"Filter traces"))})))),k==="actions"&&$.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},$.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:"12px"}},D.map(N=>{let O=y.action===N.key;return $.default.createElement("div",{key:N.key,onClick:()=>{b({...y,action:O?"all":N.key}),A("timeline")},style:{background:O?"rgba(239, 68, 68, 0.15)":"rgba(0,0,0,0.3)",borderRadius:"10px",padding:"14px",border:O?"1px solid #ef4444":`1px solid ${P[N.agent]}30`,cursor:"pointer",transition:"all 0.15s"}},$.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"10px"}},$.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},$.default.createElement("div",{style:{width:"6px",height:"6px",borderRadius:"50%",background:P[N.agent]}}),$.default.createElement("span",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},N.agent),$.default.createElement("span",{style:{fontSize:"13px",color:"rgba(255,255,255,0.7)"}},"#",N.action)),$.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:P[N.agent]+"30",color:P[N.agent],borderRadius:"4px"}},N.count," calls")),$.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Avg"),$.default.createElement("div",{style:{fontSize:"13px",color:"white",fontWeight:"500"}},Math.round(N.totalDuration/N.count),"ms")),$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Min/Max"),$.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},Math.round(N.minDuration),"ms / ",Math.round(N.maxDuration),"ms")),$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Errors"),$.default.createElement("div",{style:{fontSize:"13px",color:N.errors>0?"#ef4444":"#10b981"}},N.errors," (",(N.errors/N.count*100).toFixed(0),"%)")),$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Tokens"),$.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},L(N.tokens).toLocaleString()))))}))),k==="spans"&&Ee(!0),k==="timeline"&&!I&&$.default.createElement("div",{className:"space-y-4"},_.length===0?$.default.createElement("div",{style:{textAlign:"center",padding:"32px",color:"rgba(255,255,255,0.5)",fontSize:"14px"}},"No traces match filters"):_.map(N=>$.default.createElement(lw,{key:N.id,trace:N,darkMode:!0,expanded:p===N.id,onToggle:()=>m(p===N.id?null:N.id)}))),I&&k==="timeline"&&$.default.createElement("div",{style:{textAlign:"center",padding:"48px 0"}},$.default.createElement("div",{style:{color:"rgba(255,255,255,0.5)",fontSize:"18px"}},"No traces yet"),$.default.createElement("p",{style:{color:"rgba(255,255,255,0.4)",fontSize:"14px",marginTop:"8px"}},"Run an agent, or point your app's ActiveAgent telemetry at this workspace to see traces appear here"))):$.default.createElement("div",{className:"space-y-6"},$.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2"},$.default.createElement("div",null,$.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Traces"),$.default.createElement("p",{className:"text-sm text-gray-500"},w!==null?`Viewing ${Y[w]?.time} \u2022 ${_.length} requests`:`Last ${F.label} \u2022 Click timeline to drill down`)),$.default.createElement("div",{className:"flex items-center space-x-3 flex-wrap gap-y-2 min-w-0"},$.default.createElement(ui,null),$.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},["timeline","agents","actions","tools","spans"].map(N=>$.default.createElement("button",{key:N,onClick:()=>A(N),className:`px-3 py-1 text-sm rounded-md transition-colors capitalize ${k===N?"bg-white shadow text-gray-900":"text-gray-600"}`},N))),$.default.createElement("select",{value:y.agent,onChange:N=>b({...y,agent:N.target.value,action:"all"}),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500",style:{maxWidth:"180px",textOverflow:"ellipsis"}},$.default.createElement("option",{value:"all"},"All Agents"),a.map(N=>$.default.createElement("option",{key:N,value:N},N))),$.default.createElement("select",{value:y.action,onChange:N=>b({...y,action:N.target.value}),className:`px-3 py-2 border rounded-lg text-sm focus:ring-2 focus:ring-red-500 ${y.action!=="all"?"border-red-500 bg-red-50":"border-gray-300"}`,style:{maxWidth:"220px",textOverflow:"ellipsis"}},$.default.createElement("option",{value:"all"},"All Actions"),j.map(N=>$.default.createElement("option",{key:N,value:N},N))),$.default.createElement("select",{value:y.status,onChange:N=>b({...y,status:N.target.value}),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},$.default.createElement("option",{value:"all"},"All Status"),$.default.createElement("option",{value:"success"},"Success"),$.default.createElement("option",{value:"error"},"Error")),$.default.createElement("select",{value:x,onChange:N=>S(N.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},$.default.createElement("option",{value:"time"},"Newest first"),$.default.createElement("option",{value:"latency"},"Slowest first")),w!==null&&$.default.createElement("button",{onClick:()=>T(null),className:"px-4 py-2 bg-gray-200 text-gray-700 rounded-lg hover:bg-gray-300 transition-colors text-sm font-medium"},"Clear Selection"))),d&&$.default.createElement("div",{className:"p-3 bg-red-50 border border-red-200 rounded-lg text-sm text-red-700"},"Failed to load traces: ",d),$.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},$.default.createElement("div",{className:"flex justify-between items-center mb-3"},$.default.createElement("h3",{className:"text-sm font-semibold text-gray-700"},"Agent Requests / Minute"),$.default.createElement("div",{className:"flex gap-4 flex-wrap"},Object.entries(P).map(([N,O])=>$.default.createElement("div",{key:N,className:"flex items-center gap-1.5"},$.default.createElement("div",{className:"w-2.5 h-2.5 rounded-sm",style:{background:O}}),$.default.createElement("span",{className:"text-xs text-gray-500"},N.replace("Agent","")))))),$.default.createElement("div",{className:"h-36"},$.default.createElement(Rl,{width:"100%",height:"100%"},$.default.createElement(Ts,{data:Y,onClick:U,style:{cursor:"pointer"}},$.default.createElement("defs",null,Object.entries(P).map(([N,O])=>$.default.createElement("linearGradient",{key:N,id:`gradient-light-${N}`,x1:"0",y1:"0",x2:"0",y2:"1"},$.default.createElement("stop",{offset:"5%",stopColor:O,stopOpacity:.6}),$.default.createElement("stop",{offset:"95%",stopColor:O,stopOpacity:.05})))),$.default.createElement(rl,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),$.default.createElement(il,{dataKey:"time",stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,interval:C}),$.default.createElement(sl,{stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,axisLine:!1,allowDecimals:!1}),$.default.createElement(gs,{contentStyle:{background:"white",border:"1px solid #e5e7eb",borderRadius:"8px",boxShadow:"0 4px 6px -1px rgba(0,0,0,0.1)"},labelStyle:{color:"#111827",fontWeight:"600",marginBottom:"8px"},formatter:(N,O)=>[N,O.replace("Agent","")]}),Object.keys(P).map(N=>$.default.createElement(ol,{key:N,type:"monotone",dataKey:N,stackId:"1",stroke:P[N],fill:`url(#gradient-light-${N})`}))))),$.default.createElement("div",{className:"flex gap-6 mt-3 pt-3 border-t border-gray-100"},$.default.createElement("div",null,$.default.createElement("div",{className:"text-lg font-bold text-gray-900"},V.requests),$.default.createElement("div",{className:"text-xs text-gray-500"},"Total Requests")),$.default.createElement("div",null,$.default.createElement("div",{className:"text-lg font-bold text-red-500"},V.errors),$.default.createElement("div",{className:"text-xs text-gray-500"},"Errors")),$.default.createElement("div",null,$.default.createElement("div",{className:"text-lg font-bold text-green-600"},V.avgLatency,"ms"),$.default.createElement("div",{className:"text-xs text-gray-500"},"Avg Latency")),$.default.createElement("div",null,$.default.createElement("div",{className:"text-lg font-bold text-amber-500"},V.throughput,"/min"),$.default.createElement("div",{className:"text-xs text-gray-500"},"Throughput")))),k==="agents"&&$.default.createElement("div",null,ce,$.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"},z.map(N=>$.default.createElement(hd,{key:N.agent,name:N.agent,accentColor:P[N.agent],subtitle:N.agents?.length?N.agents.join(", "):void 0,badge:$.default.createElement("span",{className:"text-sm px-2 py-0.5 rounded",style:{background:P[N.agent]+"20",color:P[N.agent]}},N.count," calls"),onClick:()=>oe(N.agent),stats:q(N),footer:$.default.createElement($.default.Fragment,null,$.default.createElement("span",null,l[N.agent]?"Open agent \u2192":"Not linked to an agent record"),$.default.createElement("button",{onClick:O=>{O.stopPropagation(),ze(N.agent)},className:y.agent===N.agent?"text-red-600":"hover:text-gray-700"},y.agent===N.agent?"Clear filter":"Filter traces"))})))),k==="actions"&&$.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3"},D.map(N=>{let O=y.action===N.key;return $.default.createElement("div",{key:N.key,onClick:()=>{b({...y,action:O?"all":N.key}),A("timeline")},className:`rounded-xl p-4 cursor-pointer transition-all ${O?"bg-red-50 border-2 border-red-500":"bg-white border border-gray-200 hover:border-gray-300"}`,style:{borderLeftColor:P[N.agent],borderLeftWidth:O?"2px":"4px"}},$.default.createElement("div",{className:"flex items-center justify-between mb-3"},$.default.createElement("div",{className:"flex items-center gap-2"},$.default.createElement("div",{className:"w-2 h-2 rounded-full",style:{background:P[N.agent]}}),$.default.createElement("span",{className:"font-semibold text-gray-900"},N.agent),$.default.createElement("span",{className:"text-gray-500"},"#",N.action)),$.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded",style:{background:P[N.agent]+"20",color:P[N.agent]}},N.count," calls")),$.default.createElement("div",{className:"flex flex-wrap gap-4 text-sm"},$.default.createElement("div",null,$.default.createElement("div",{className:"text-xs text-gray-500"},"Avg"),$.default.createElement("div",{className:"font-medium"},Math.round(N.totalDuration/N.count),"ms")),$.default.createElement("div",null,$.default.createElement("div",{className:"text-xs text-gray-500"},"Min/Max"),$.default.createElement("div",{className:"text-gray-600"},Math.round(N.minDuration),"ms / ",Math.round(N.maxDuration),"ms")),$.default.createElement("div",null,$.default.createElement("div",{className:"text-xs text-gray-500"},"Errors"),$.default.createElement("div",{className:N.errors>0?"text-red-600":"text-green-600"},N.errors," (",(N.errors/N.count*100).toFixed(0),"%)")),$.default.createElement("div",null,$.default.createElement("div",{className:"text-xs text-gray-500"},"Tokens"),$.default.createElement("div",{className:"text-gray-600"},L(N.tokens).toLocaleString()))))})),k==="tools"&&(E.length===0?$.default.createElement("div",{className:"text-center py-8 text-gray-500 text-sm"},"No tool calls in this window"):$.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},$.default.createElement("div",{className:"flex items-center gap-4 px-4 py-2 text-xs font-medium text-gray-500 border-b border-gray-100"},$.default.createElement("div",{className:"flex-1"},"Tool"),$.default.createElement("div",{className:"w-20 text-right"},"Calls"),$.default.createElement("div",{className:"w-24 text-right"},"Total time"),$.default.createElement("div",{className:"w-20 text-right"},"Avg"),$.default.createElement("div",{className:"w-20 text-right"},"Slowest")),E.map(N=>{let O=E[0].totalDuration?N.totalDuration/E[0].totalDuration*100:0;return $.default.createElement("div",{key:N.name,className:"px-4 py-2 border-b border-gray-50 last:border-0"},$.default.createElement("div",{className:"flex items-center gap-4 text-sm"},$.default.createElement("div",{className:"flex-1 min-w-0"},$.default.createElement("div",{className:"font-medium text-gray-900 truncate",title:N.name},N.name),N.agents.length>0&&$.default.createElement("div",{className:"text-xs text-gray-400 truncate",title:N.agents.join(", ")},N.agents.join(", "))),$.default.createElement("div",{className:"w-20 text-right text-gray-700",style:{fontFamily:Ve.mono}},N.count.toLocaleString(),N.errors>0&&$.default.createElement("span",{className:"text-red-600 ml-1",title:`${N.errors} failed`},"(",N.errors,")")),$.default.createElement("div",{className:"w-24 text-right text-gray-900 font-medium",style:{fontFamily:Ve.mono}},Dr(N.totalDuration)),$.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:Ve.mono}},Dr(N.avgDuration)),$.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:Ve.mono}},Dr(N.maxDuration))),$.default.createElement("div",{className:"h-1 bg-gray-100 rounded mt-1.5"},$.default.createElement("div",{className:"h-1 bg-green-500 rounded",style:{width:`${Math.max(O,1)}%`}})))}))),k==="spans"&&Ee(!1),k==="timeline"&&!I&&$.default.createElement("div",{className:"space-y-4"},_.length===0?$.default.createElement("div",{className:"text-center py-8 text-gray-500"},"No traces match filters"):_.map(N=>$.default.createElement(lw,{key:N.id,trace:N,darkMode:!1,expanded:p===N.id,onToggle:()=>m(p===N.id?null:N.id)}))),I&&k==="timeline"&&$.default.createElement("div",{className:"text-center py-12"},$.default.createElement("div",{className:"text-gray-400 text-lg"},"No traces yet"),$.default.createElement("p",{className:"text-gray-500 text-sm mt-2"},"Run an agent, or point your app's ActiveAgent telemetry at this workspace to see traces appear here")))}var pe=te(re());var uw=te(re());function NE({trace:e,darkMode:t,height:r=8}){let n=Pr(t);if(!e)return uw.default.createElement("div",{className:"rounded",style:{height:`${r}px`,background:n.trackBg}});let o=e.spans||[],a=e.duration_ms||1,i=[...o].sort((l,s)=>(l.nested||0)-(s.nested||0));return uw.default.createElement("div",{style:{position:"relative",height:`${r}px`,borderRadius:"999px",background:n.trackBg,overflow:"hidden",flex:1}},i.map((l,s)=>uw.default.createElement("div",{key:l.span_id||s,title:`${l.name} \xB7 ${Dr(l.duration)}`,style:{position:"absolute",top:0,bottom:0,left:`${Math.min(l.start/a*100,99)}%`,width:`${Math.max(l.duration/a*100,.8)}%`,background:l.error?"#ef4444":wE[l.type]||"#9ca3af"}})))}var $ue=e=>{let t=null;if((e?.generations||[]).forEach(a=>{let i=a.tokens||{},l=(i.input||0)+(i.output||0);l>0&&(!t||l>t.total)&&(t={input:i.input||0,output:i.output||0,cached:i.cached||0,thinking:i.thinking||0,model:a.model,total:l})}),!t)return null;let r=Ms(e?.instructions),n=0;(e?.messages||[]).forEach(a=>{a.role==="tool"&&(n+=Ms(a.content)+Ms(a.tool_arguments))}),n=Math.min(n,t.input);let o=Math.max(t.input-r-n,0);return{used:t.total,limit:lg(t.model),cached:t.cached,thinking:t.thinking,segments:[{key:"messages",label:"Messages",tokens:o},{key:"tool_results",label:"Tool results",tokens:n},{key:"instructions",label:"Instructions",tokens:r},{key:"output",label:"Generated output",tokens:t.output}]}},F$=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],Fue=[{id:"recent",label:"Recent"},{id:"tokens",label:"Tokens"},{id:"messages",label:"Messages"}],Uue=[{id:"conversation",label:"Conversation",hint:"Messages, tool calls and responses in order"},{id:"spans",label:"Spans",hint:"Each generation as a trace \u2014 waterfall, span details, timings"}],Wue=3e4,fl=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString(),U$=e=>{if(!e)return"";let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);return t<60?"just now":t<3600?`${Math.floor(t/60)}m ago`:t<86400?`${Math.floor(t/3600)}h ago`:`${Math.floor(t/86400)}d ago`};function Hue({generation:e,darkMode:t,maxMs:r,expanded:n,onToggle:o}){let a=Pr(t),[i,l]=(0,pe.useState)(null),[s,u]=(0,pe.useState)(!1),c=e.trace_id,d=(e.duration_seconds||0)*1e3;(0,pe.useEffect)(()=>{if(!c)return;let m=!0;return fetch(`/api/traces/${encodeURIComponent(c)}`).then(g=>g.ok?g.json():Promise.reject(new Error("not found"))).then(({trace:g})=>m&&l(g)).catch(()=>m&&u(!0)),()=>{m=!1}},[c]);let f=!!i,p=(i?.spans||[]).length;return pe.default.createElement("div",{className:`rounded-lg px-2 py-1.5 -mx-2 transition-colors ${f?t?"hover:bg-white/5":"hover:bg-gray-100":""}`,style:n?{background:a.hoverBg}:void 0},pe.default.createElement("div",{className:f?"cursor-pointer":void 0,onClick:f?o:void 0,title:f?`${p} spans \u2014 click for the trace`:void 0},pe.default.createElement("div",{className:"flex flex-wrap items-center gap-3 text-xs font-mono",style:{color:a.textSecondary}},pe.default.createElement("span",{title:e.cache_hit?`${fl(e.tokens.cached)} cached prompt tokens`:"No prompt cache hit",style:{color:e.cache_hit?a.good:a.textMuted}},e.cache_hit?"\u26A1 cache hit":"\u25CF generated"),e.thinking&&pe.default.createElement("span",{className:"text-amber-500",title:`${fl(e.tokens.thinking)} thinking tokens`},"\u{1F9E0} ",fl(e.tokens.thinking)),pe.default.createElement("span",null,e.model||"unknown-model"),e.provider&&pe.default.createElement("span",null,e.provider),pe.default.createElement("span",{className:"text-blue-500"},"in:",fl(e.tokens.input)),pe.default.createElement("span",{className:"text-green-500"},"out:",fl(e.tokens.output)),e.finish_reason&&pe.default.createElement("span",null,e.finish_reason),e.duration_seconds!=null&&pe.default.createElement("span",null,Dr(d)),c&&pe.default.createElement("a",{href:Re(`/traces?trace=${c}`),title:`${c} \u2014 open in Traces`,style:{color:a.link},className:"hover:underline",onClick:m=>m.stopPropagation()},"trace:",c.slice(0,8)," \u2192"),s&&pe.default.createElement("span",{style:{color:a.textMuted}},"trace unavailable")),pe.default.createElement("div",{className:"flex items-center gap-2 mt-1"},c&&!s?pe.default.createElement(NE,{trace:i,darkMode:t}):d>0?pe.default.createElement("div",{className:"rounded flex-1",style:{height:"8px",background:a.trackBg}},pe.default.createElement("div",{className:"rounded",style:{height:"8px",width:`${Math.max(d/r*100,2)}%`,background:"#ef4444"}})):null,f&&pe.default.createElement(pe.default.Fragment,null,pe.default.createElement("span",{className:"font-mono flex-shrink-0",style:{fontSize:"10px",color:a.textMuted}},p," ",p===1?"span":"spans"),pe.default.createElement(dc,{open:n,darkMode:t,size:12})))),n&&i&&pe.default.createElement("div",{className:"mt-2 rounded-lg border p-3",style:{background:a.cardBg,borderColor:a.cardBorder}},pe.default.createElement(pg,{trace:i,darkMode:t,compact:!0})))}function pl({agentId:e=null,embedded:t=!1}){let{darkMode:r}=Nt(),[n,o]=(0,pe.useState)([]),[a,i]=(0,pe.useState)(!0),[l,s]=(0,pe.useState)(null),[u,c]=(0,pe.useState)(null),[d,f]=(0,pe.useState)({}),{timeWindow:p}=si(),m=(0,pe.useCallback)(async()=>{try{let X=await fetch(`/api/interactions?minutes=${p.minutes}${e?`&agent_id=${e}`:""}`);if(!X.ok)throw new Error(`Request failed (${X.status})`);let P=await X.json();o(P.interactions||[]),s(null)}catch(X){s(X.message)}finally{i(!1)}},[p.minutes,e]);(0,pe.useEffect)(()=>{m();let X=setInterval(m,Wue);return()=>clearInterval(X)},[m]);let[g,h]=(0,pe.useState)("recent"),v=(0,pe.useMemo)(()=>{let X=[...new Set(n.map(P=>P.display_name).filter(Boolean))].sort();return Object.fromEntries(X.map((P,Y)=>[P,F$[Y%F$.length]]))},[n]),y=(0,pe.useMemo)(()=>{let X=n.reduce((Y,C)=>Y+(C.tokens?.total||0),0),P=new Set(n.map(Y=>Y.display_name).filter(Boolean));return{interactions:n.length,tokens:X,agents:P.size,avgTokens:n.length?Math.round(X/n.length):0}},[n]),b=(0,pe.useMemo)(()=>{if(n.length===0)return[];let X=Date.now(),P=p.bucketSeconds*1e3,Y=Math.max(1,Math.round(p.minutes*60/p.bucketSeconds)),C=Object.keys(v);return Array.from({length:Y},(_,z)=>{let D=X-(Y-1-z)*P,E=D-P,j=n.filter(R=>{let U=new Date(R.last_activity_at).getTime();return U>=E&&U1440?new Date(D).toLocaleString([],{month:"short",day:"numeric",hour:"2-digit"}):new Date(D).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),...Object.fromEntries(C.map(R=>[R,j.filter(U=>U.display_name===R).length]))}})},[n,v,p]),x=Math.max(0,Math.ceil(b.length/6)-1),S=(0,pe.useCallback)(X=>{let P=[...X];switch(g){case"tokens":return P.sort((Y,C)=>(C.tokens?.total||0)-(Y.tokens?.total||0));case"messages":return P.sort((Y,C)=>(C.message_count||0)-(Y.message_count||0));default:return P.sort((Y,C)=>String(C.last_activity_at).localeCompare(String(Y.last_activity_at)))}},[g]),w=(0,pe.useMemo)(()=>{let X=new Map;n.forEach(Y=>{let C=Y.agent_name||Y.agent?.name||"Unattributed",_=Y.action_name,z=`${C}#${_||""}`;X.has(z)||X.set(z,{key:z,title:_?`${C} ${_.charAt(0).toUpperCase()}${_.slice(1)} Agent Interactions`:`${C} Interactions`,sessions:[],tokens:0,lastActivity:Y.last_activity_at});let D=X.get(z);D.sessions.push(Y),D.tokens+=Y.tokens?.total||0,Y.last_activity_at>D.lastActivity&&(D.lastActivity=Y.last_activity_at)});let P=[...X.values()].map(Y=>({...Y,sessions:S(Y.sessions)}));return g==="tokens"?P.sort((Y,C)=>C.tokens-Y.tokens):g==="messages"?P.sort((Y,C)=>C.sessions.length-Y.sessions.length):P.sort((Y,C)=>String(C.lastActivity).localeCompare(String(Y.lastActivity)))},[n,g,S]),T=async X=>{if(u===X){c(null);return}if(c(X),!d[X])try{let P=await fetch(`/api/interactions/${X}`);if(P.ok){let Y=await P.json();f(C=>({...C,[X]:Y.interaction}))}}catch{}},[k,A]=(0,pe.useState)({}),[M,H]=tp(),F=Pr(r);return a?pe.default.createElement("div",{className:"flex items-center justify-center h-64"},pe.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):pe.default.createElement("div",{className:"space-y-6"},pe.default.createElement("div",{className:"flex items-start justify-between"},!t&&pe.default.createElement("div",null,pe.default.createElement("h1",{className:"text-2xl font-bold",style:{color:F.textPrimary}},"Interactions"),pe.default.createElement("p",{className:"text-sm mt-1",style:{color:F.textSecondary}},"Persisted conversation streams per agent \u2014 messages, generations and provenance")),pe.default.createElement("div",{className:"flex items-center gap-3"},pe.default.createElement("div",{className:"flex items-center rounded-lg p-1",style:{background:r?"rgba(255,255,255,0.06)":"#f3f4f6"}},pe.default.createElement("span",{className:"text-xs px-1",style:{color:F.textMuted}},"Sort"),Fue.map(X=>pe.default.createElement("button",{key:X.id,onClick:()=>h(X.id),className:"px-2 py-1 text-xs rounded transition-colors",style:g===X.id?{background:r?"#2a2a2a":"#ffffff",color:F.textPrimary,boxShadow:r?"none":"0 1px 2px rgba(0,0,0,0.08)"}:{color:F.textSecondary}},X.label))),pe.default.createElement(ui,null))),l&&pe.default.createElement("div",{className:"p-3 rounded-lg text-sm",style:{background:r?"rgba(239,68,68,0.1)":"#fef2f2",color:"#ef4444"}},"Failed to load interactions: ",l),n.length>0&&pe.default.createElement("div",{className:"rounded-xl border p-4",style:{backgroundColor:F.cardBg,borderColor:F.cardBorder}},pe.default.createElement("div",{className:"flex items-center justify-between mb-3"},pe.default.createElement("h3",{className:"text-sm font-semibold",style:{color:F.textPrimary}},"Interactions over time"),pe.default.createElement("div",{className:"flex items-center gap-3 flex-wrap justify-end"},Object.entries(v).map(([X,P])=>pe.default.createElement("span",{key:X,className:"flex items-center gap-1.5 text-xs",style:{color:F.textSecondary}},pe.default.createElement("span",{className:"inline-block w-2 h-2 rounded-full",style:{background:P}}),X)))),pe.default.createElement("div",{className:"h-32"},pe.default.createElement(Rl,{width:"100%",height:"100%"},pe.default.createElement(Ts,{data:b},pe.default.createElement("defs",null,Object.entries(v).map(([X,P])=>pe.default.createElement("linearGradient",{key:X,id:`ix-gradient-${X.replace(/\W/g,"-")}`,x1:"0",y1:"0",x2:"0",y2:"1"},pe.default.createElement("stop",{offset:"5%",stopColor:P,stopOpacity:.6}),pe.default.createElement("stop",{offset:"95%",stopColor:P,stopOpacity:.05})))),pe.default.createElement(rl,{strokeDasharray:"3 3",stroke:r?"#2a2a2a":"#e5e7eb"}),pe.default.createElement(il,{dataKey:"time",stroke:r?"rgba(255,255,255,0.4)":"#9ca3af",tick:{fontSize:10,fill:r?"rgba(255,255,255,0.5)":"#6b7280"},tickLine:!1,interval:x}),pe.default.createElement(sl,{stroke:r?"rgba(255,255,255,0.4)":"#9ca3af",tick:{fontSize:10,fill:r?"rgba(255,255,255,0.5)":"#6b7280"},tickLine:!1,axisLine:!1,allowDecimals:!1}),pe.default.createElement(gs,{contentStyle:{background:r?"#1f1f1f":"white",border:`1px solid ${F.cardBorder}`,borderRadius:"8px"},labelStyle:{color:F.textPrimary,fontWeight:"600",marginBottom:"4px"}}),Object.entries(v).map(([X,P])=>pe.default.createElement(ol,{key:X,type:"monotone",dataKey:X,stackId:"1",stroke:P,strokeWidth:2,fill:`url(#ix-gradient-${X.replace(/\W/g,"-")})`}))))),pe.default.createElement("div",{className:"flex items-center gap-8 pt-3 mt-3 border-t",style:{borderColor:F.cardBorder}},[{label:"Interactions",value:y.interactions.toLocaleString()},{label:"Agents",value:y.agents.toLocaleString()},{label:"Total tokens",value:fl(y.tokens)},{label:"Avg / interaction",value:fl(y.avgTokens)}].map(X=>pe.default.createElement("div",{key:X.label},pe.default.createElement("div",{className:"text-lg font-bold",style:{color:F.textPrimary}},X.value),pe.default.createElement("div",{className:"text-xs",style:{color:F.textSecondary}},X.label))))),n.length===0?pe.default.createElement("div",{className:"text-center py-12"},pe.default.createElement("div",{className:"text-lg",style:{color:F.textMuted}},"No interactions in the last ",p.label),pe.default.createElement("p",{className:"text-sm mt-2",style:{color:F.textSecondary}},"Widen the time window, or run an agent to start recording its conversation stream")):pe.default.createElement("div",{className:"space-y-8"},w.map(X=>pe.default.createElement("div",{key:X.key,className:"space-y-4"},pe.default.createElement("div",{className:"flex items-baseline justify-between"},pe.default.createElement("h2",{className:"text-sm font-semibold",style:{color:F.textPrimary}},X.title),pe.default.createElement("span",{className:"text-xs",style:{color:F.textMuted}},X.sessions.length," ",X.sessions.length===1?"interaction":"interactions",X.tokens>0&&` \xB7 ${fl(X.tokens)} tokens`)),X.sessions.map(P=>{let Y=d[P.id],C=u===P.id,_=k[P.id]||"conversation",z=P.tokens?.total||0,D=(P.tokens?.input||0)+(P.tokens?.output||0)||z;return pe.default.createElement(iw,{key:P.id,darkMode:r,className:"shadow-sm"},pe.default.createElement("div",{className:`flex items-center justify-between flex-wrap gap-y-2 p-4 cursor-pointer transition-colors ${r?"hover:bg-white/5":"hover:bg-gray-50"}`,onClick:()=>T(P.id),style:C?{background:F.hoverBg}:void 0},pe.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},P.source==="telemetry"?pe.default.createElement("span",{className:"px-2 py-1 text-xs font-medium rounded flex-shrink-0",style:{background:r?"rgba(168,85,247,0.15)":"#faf5ff",color:r?"#d8b4fe":"#7e22ce"},title:"Reported by an app running this agent outside the platform"},"REPORTED"):pe.default.createElement("span",{className:"px-2 py-1 text-xs font-medium bg-blue-100 text-blue-700 rounded flex-shrink-0"},"SESSION"),pe.default.createElement("span",{className:"font-mono text-sm truncate",style:{color:F.textPrimary}},P.display_name),P.agent&&pe.default.createElement("span",{className:"text-sm truncate",style:{color:F.textSecondary}},P.agent.name),P.service_name&&pe.default.createElement("span",{className:"text-sm truncate font-mono",style:{color:F.textMuted}},P.service_name)),pe.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0"},pe.default.createElement(Rf,{darkMode:r,cells:[{key:"activity",width:Lo.count,content:P.message_count>0?`${P.message_count} messages`:`${P.tool_count||0} tool ${P.tool_count===1?"call":"calls"}`},{key:"tokens",width:Lo.tokens,title:"Tokens across this interaction",empty:"No token counts recorded for this interaction",content:z>0&&`${fl(z)} tokens`},{key:"context",width:Lo.context,empty:"Context: this interaction recorded no token counts",content:z>0&&pe.default.createElement(Ps,{compact:!0,darkMode:r,label:"Context",used:D,limit:lg(P.model),segments:[{key:"messages",label:"Context",tokens:D}]})},{key:"age",width:Lo.age,title:P.last_activity_at||void 0,empty:"No activity recorded",content:U$(P.last_activity_at)&&pe.default.createElement("span",{style:{color:F.textMuted}},U$(P.last_activity_at))}]}),pe.default.createElement(dc,{open:C,darkMode:r}))),!C&&pe.default.createElement(ep,{darkMode:r,onClick:()=>T(P.id),hold:!0,style:{padding:"0 16px 12px"},lines:[{label:"input",text:P.preview?.input,color:Ar("user",r).color},{label:"output",text:P.preview?.output,color:Ar("assistant",r).color}]}),C&&pe.default.createElement("div",{className:"border-t p-4 space-y-3",style:{borderColor:F.cardBorder,background:F.innerBg}},Y?pe.default.createElement(pe.default.Fragment,null,pe.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2"},pe.default.createElement(fg,{options:Uue,value:_,onChange:E=>A(j=>({...j,[P.id]:E})),darkMode:r}),pe.default.createElement("span",{className:"text-xs",style:{color:F.textSecondary}},Y.messages.length," ",Y.messages.length===1?"message":"messages",Y.generations.length>0&&` \xB7 ${Y.generations.length} ${Y.generations.length===1?"generation":"generations"}`)),_==="conversation"&&pe.default.createElement(pe.default.Fragment,null,Y.messages.length===0&&pe.default.createElement("div",{className:"text-sm",style:{color:F.textMuted}},"No conversation content captured for this run. Enable content capture in the reporting app to record prompts, tool arguments, and responses."),pe.default.createElement(ba,{darkMode:r,messages:Y.instructions?[{id:`ctx-${P.id}-system`,role:"system",content:Y.instructions,created_at:P.created_at},...Y.messages]:Y.messages}),(()=>{let E=$ue(Y);return E?pe.default.createElement("div",{className:"pt-3 mt-2 border-t",style:{borderColor:F.cardBorder}},pe.default.createElement(Ps,{...E,label:"Context pressure",estimated:!0,darkMode:r})):null})()),_==="spans"&&(Y.generations.length===0?pe.default.createElement("div",{className:"text-sm",style:{color:F.textMuted}},"No generations recorded for this interaction \u2014 nothing to trace."):pe.default.createElement("div",{className:"space-y-2"},Y.generations.map(E=>pe.default.createElement(Hue,{key:E.id,generation:E,darkMode:r,maxMs:Math.max(...Y.generations.map(j=>(j.duration_seconds||0)*1e3),1),expanded:M(`${P.id}:${E.id}`),onToggle:()=>H(`${P.id}:${E.id}`)}))))):pe.default.createElement("div",{className:"flex justify-center py-6"},pe.default.createElement("div",{className:"animate-spin rounded-full h-6 w-6 border-b-2 border-red-500"}))))})))))}var je=te(re());function H$(e,t){let r=i=>{let l=Object.values(t[i]||{})[0];if(!l)return null;let s=l.scenario||l;return{key:i,prompt:s.prompt,group:s.group??null,notes:s.notes??null,expectations:s.expectations||{},position:s.position}},n=new Set(e.map(i=>i.key)),o=e.map(i=>{let l=r(i.key);if(!l)return i;let s=["prompt","group","notes","expectations"].some(u=>JSON.stringify(i[u]??null)!==JSON.stringify(l[u]??null));return{...i,...l,catalogChanged:s}}),a=Object.keys(t).filter(i=>!n.has(i)).map(i=>({...r(i),id:null,enabled:!1,orphan:!0}));return[...o,...a]}var W$=e=>/^[1-9]\d*$/.test(e||"")?e:null;function _E(e){let t=new URLSearchParams(e),r=W$(t.get("evaluation"));return r?{evaluationId:r,runId:W$(t.get("run"))}:null}async function V$(e,t,r){if(!t||e.some(a=>String(a.id)===String(t)))return e;let n=await r(`/api/evaluations/${encodeURIComponent(t)}`);if(!n.ok)throw new Error(`Requested evaluation is unavailable (HTTP ${n.status})`);let o=await n.json();if(!o.evaluation)throw new Error("Requested evaluation is unavailable");return[o.evaluation,...e]}var Ie=te(re());var or=te(re());var fe="var(--font-mono)",pc=e=>e>=1?"success":e>=.7?"warning":"error",ml={success:{strong:"var(--color-success)",soft:"var(--color-success-soft)",text:"var(--color-success-text)"},warning:{strong:"var(--color-warning)",soft:"var(--color-warning-soft)",text:"var(--color-warning-text)"},error:{strong:"var(--color-error)",soft:"var(--color-error-soft)",text:"var(--color-error-text)"},info:{strong:"var(--color-info)",soft:"var(--color-info-soft)",text:"var(--color-info-text)"},muted:{strong:"var(--color-text-muted)",soft:"var(--color-muted)",text:"var(--color-text-secondary)"},accent:{strong:"var(--color-accent-ui)",soft:"var(--color-accent-ui-tint)",text:"var(--color-accent-ui)"}},EE={object:"=",sample:"~",pass:Yt.success,fault:Yt.error,info:Yt.info,on:"[x]",off:"[ ]",link:Yt.arrow,chevron:Yt.chevronRight};function Fa({kind:e="pass",open:t=!1,color:r,size:n=12,weight:o=700,style:a,title:i}){return e==="chevron"?or.default.createElement("span",{className:"aa-chevron","data-open":t?"true":"false",title:i,style:{fontFamily:fe,fontSize:n,color:r||"var(--color-text-muted)",flexShrink:0,...a}},EE.chevron):or.default.createElement("span",{title:i,style:{fontFamily:fe,fontSize:n,fontWeight:o,color:r||(e==="fault"?"var(--color-error)":e==="info"?"var(--color-info)":e==="pass"?"var(--color-success)":"var(--color-text-muted)"),flexShrink:0,...a}},EE[e]||e)}function Tt({tone:e="muted",size:t=11,children:r,title:n,style:o,testId:a}){let i=ml[e]||ml.muted;return or.default.createElement("span",{"data-testid":a,title:n,style:{display:"inline-flex",alignItems:"center",padding:"2px 7px",borderRadius:4,fontFamily:fe,fontSize:t,fontWeight:600,whiteSpace:"nowrap",background:i.soft,color:i.text,...o}},r)}function et({children:e,size:t=11,color:r="var(--color-text-secondary)",spacing:n="0.06em",style:o,as:a="span"}){return or.default.createElement(a,{style:{fontFamily:fe,fontSize:t,fontWeight:600,letterSpacing:n,textTransform:"uppercase",color:r,...o}},e)}function fo({selected:e=!1,onClick:t,children:r,square:n=!1,mono:o=!1,title:a,style:i,testId:l}){return or.default.createElement("button",{type:"button","data-testid":l,onClick:t,title:a,style:{padding:"4px 10px",borderRadius:n?6:999,cursor:t?"pointer":"default",fontFamily:o?fe:"inherit",fontSize:o?11:12,fontWeight:o?400:500,background:e?"var(--color-accent-ui-tint)":"var(--color-card)",border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border)"}`,color:e?"var(--color-accent-ui)":o?"var(--color-text-muted)":"var(--color-text-cell)",...i}},r)}function cw({options:e,value:t,onChange:r,style:n}){return or.default.createElement("div",{style:{display:"flex",gap:4,...n},role:"group"},e.map(o=>{let a=o.value===t;return or.default.createElement("button",{key:o.value,type:"button",onClick:()=>r(o.value),"aria-pressed":a,style:{padding:"6px 12px",borderRadius:8,cursor:"pointer",fontSize:13,fontWeight:500,background:"var(--color-card)",border:`1px solid ${a?"var(--color-accent-ui)":"var(--color-border)"}`,color:a?"var(--color-accent-ui)":"var(--color-text-cell)"}},o.label)}))}function mr({variant:e="secondary",size:t="md",children:r,onClick:n,disabled:o=!1,title:a,type:i="button",style:l,testId:s}){let c={padding:t==="sm"?"6px 12px":"8px 14px",borderRadius:8,cursor:o?"not-allowed":"pointer",fontSize:13,fontWeight:500,opacity:o?.5:1,whiteSpace:"nowrap",fontFamily:"inherit"},d={primary:{background:"var(--color-accent-ui)",color:"var(--color-on-accent)",border:"1px solid transparent"},secondary:{background:"transparent",color:"var(--color-text-cell)",border:"1px solid var(--color-border-strong)"},danger:{background:"transparent",color:"var(--color-error)",border:"1px solid transparent"},ghost:{background:"transparent",color:"var(--color-text-secondary)",border:"1px solid transparent"}};return or.default.createElement("button",{type:i,"data-testid":s,onClick:n,disabled:o,title:a,style:{...c,...d[e]||d.secondary,...l}},r)}function ht({children:e,padding:t=20,style:r,className:n,testId:o,...a}){return or.default.createElement("div",{"data-testid":o,className:n,style:{background:"var(--color-card)",border:"1px solid var(--color-border)",borderRadius:12,padding:t,...r},...a},e)}function rp({label:e,value:t,sub:r,valueColor:n,valueSize:o=32,testId:a}){return or.default.createElement(ht,{testId:a},or.default.createElement(et,{size:11,spacing:"0.05em"},e),or.default.createElement("div",{style:{marginTop:8,fontFamily:fe,fontSize:o,fontWeight:700,lineHeight:1.1,color:n||"var(--color-text-primary)"}},t),r!=null&&or.default.createElement("div",{style:{marginTop:8,fontSize:13,color:"var(--color-text-secondary)"}},r))}function K$({title:e,meta:t,children:r,style:n,testId:o,bodyStyle:a}){return or.default.createElement("div",{"data-testid":o,style:{border:"1px solid var(--color-border-light)",borderRadius:10,overflow:"hidden",minWidth:0,...n}},(e||t)&&or.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",background:"var(--color-muted)"}},e&&or.default.createElement(et,null,e),t&&or.default.createElement("span",{style:{marginLeft:"auto",fontFamily:fe,fontSize:11,color:"var(--color-text-muted)"}},t)),or.default.createElement("div",{style:a},r))}function q$({passed:e,total:t,label:r,labelWidth:n=128,width:o,height:a=6,color:i,valueWidth:l=38,style:s}){let u=t?e/t:0,c=i||ml[pc(u)].strong;return or.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,...s}},r!=null&&or.default.createElement("span",{style:{fontFamily:fe,fontSize:10,color:"var(--color-text-muted)",width:n,flexShrink:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:r},r),or.default.createElement("span",{style:{flex:o?void 0:1,width:o,height:a,borderRadius:999,background:"var(--color-muted)",overflow:"hidden",flexShrink:0}},or.default.createElement("span",{style:{display:"block",width:`${Math.round(u*100)}%`,height:"100%",borderRadius:999,background:c}})),or.default.createElement("span",{style:{fontFamily:fe,fontSize:11,fontWeight:600,width:l,textAlign:"right",color:c}},e,"/",t))}function np({children:e,onClick:t,href:r="#",color:n="var(--color-info)",size:o=11,style:a,title:i}){return or.default.createElement("a",{href:r,title:i,onClick:l=>{t&&(l.preventDefault(),t(l))},style:{fontFamily:fe,fontSize:o,color:n,textDecoration:"none",...a}},e," ",EE.link)}function An({children:e,style:t}){return or.default.createElement("div",{style:{padding:"20px 12px",fontFamily:fe,fontSize:11,color:"var(--color-text-muted)",textAlign:"center",...t}},e)}var Ir=e=>{let t=Number(e)||0;return Math.abs(t)>=1e6?`${(t/1e6).toFixed(1)}M`:Math.abs(t)>=1e3?`${(t/1e3).toFixed(1)}K`:`${Math.round(t)}`},OE=e=>e==null?"\u2014":Ir(e),kn=e=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let t=Number(e);return t>=1e3?`${(t/1e3).toFixed(t>=1e4?1:2).replace(/\.?0+$/,"")}s`:`${Math.round(t)}ms`},mg=e=>{if(e==null)return"\u2014";let t=Number(e);return t===0?"$0.00":Math.abs(t)<.01?`$${t.toFixed(4)}`:`$${t.toFixed(2)}`},jr=(e,t=4)=>e==null?"\u2014":`$${Number(e).toFixed(t)}`,G$=(e,t=0)=>`${(Number(e||0)*100).toFixed(t)}%`,wa=e=>e==null?"\u2014":Number(e).toFixed(2),op=(e,t="%",r=0)=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let n=Number(e);return`${n>0?"+":n<0?"-":""}${Math.abs(n).toFixed(r)}${t}`},ci=e=>{if(!e)return"";let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(t<1)return"just now";if(t<60)return`${t} min ago`;if(t<1440){let n=Math.floor(t/60);return`${n} hour${n===1?"":"s"} ago`}let r=Math.floor(t/1440);return`${r} day${r===1?"":"s"} ago`},Bo=(e,t=null)=>{let r=String(e||""),n=r.lastIndexOf("/");return n>0?{short:r.slice(n+1),provider:r.slice(0,n)}:{short:r,provider:t||""}};var Vue=["trace_error_rate","trace_latency"],TE=[{id:"rules",label:"Rule-based"},{id:"telemetry",label:"Telemetry"},{id:"judge",label:"LLM judge"}],At=(e,t)=>`${e} ${t}${e===1?"":"s"}`,dw=(e,t)=>{let r=String(e||"");return r.length>t?`${r.slice(0,t-1)}\u2026`:r},Y$=e=>String(e||"").replace(/_/g," ").replace(/^\w/,t=>t.toUpperCase()),X$=e=>{let t=Number(e)||0;return t>=1e3?`${(t/1e3).toFixed(t%1e3===0?0:1)}s`:`${Math.round(t)}ms`},di=e=>e?.type==="llm_judge"?"judge":Vue.includes(e?.type)?"telemetry":"rules",fw=e=>{let t=e?.config||{};switch(e?.type){case"response_present":return"Response present";case"min_length":return"Response length";case"max_latency_ms":return"Latency";case"token_budget":return"Output tokens";case"contains":return"Must contain";case"not_contains":return"Must not contain";case"trace_error_rate":return"Trace error rate";case"trace_latency":return"Trace latency";case"llm_judge":return t.description||Y$(e.key);default:return Y$(e?.key)}},ap=e=>{let t=e?.config||{};switch(e?.type){case"response_present":return"non-empty output";case"min_length":return`\u2265 ${t.chars??40} chars`;case"max_latency_ms":return`\u2264 ${X$(t.ms??5e3)}`;case"token_budget":return`\u2264 ${t.output_tokens??1e3} output tokens`;case"contains":return`matches /${t.pattern||""}/i`;case"not_contains":return`no /${t.pattern||""}/i`;case"trace_error_rate":return`error rate \u2264 ${t.max_error_rate??5}% \xB7 ${t.window_hours??168}h`;case"trace_latency":return`avg \u2264 ${X$(t.max_avg_ms??5e3)} \xB7 ${t.window_hours??168}h`;case"llm_judge":return t.prompt?`judge: ${dw(t.prompt,72)}`:"judge scores 0.0\u20131.0";default:return""}},vg=(e,t)=>(e?.criteria||[]).find(r=>r.key===t)||{key:t,type:t,config:{}},pw=(e,t=null)=>{let r=t?.scores||{};if(Object.prototype.hasOwnProperty.call(r,"_judge_label"))return r._judge_label||"rules";let n=r._verdict?.judge;return n&&n!=="pass rate"?n:e?.judge_kind==="judge_defined"?`judge-defined KPIs${e.judge_model?` \xB7 ${e.judge_model}`:""}`:e?.judge_kind==="llm"?e.judge_model||"LLM judge":"rules"},ME=(e,t=null)=>t?.models?.length||Object.keys(t?.scores?._models||t?.scores?._cohorts||{}).length||(e?.compare_models||[]).length||1,mc=(e,t=null)=>{let r=ME(e,t);if(e?.scenario_suite){let a=t?.samples_evaluated&&r?Math.round(t.samples_evaluated/r):e.scenario_count||0;return`${At(a,"scenario")} \xD7 ${At(r,"model")}`}let n=(e?.criteria||[]).length,o=n===1?"criterion":"criteria";return r>1?`${n} ${o} \xD7 ${At(r,"model")}`:`${n} ${o} \xB7 ${At(e?.sample_size??0,"sample")}`},PE=e=>e!=null&&typeof e=="object"&&!Array.isArray(e)&&!("score"in e)&&!("skipped"in e),ip=e=>Object.entries(e?.scores||{}).filter(([t,r])=>!t.startsWith("_")&&r&&typeof r=="object");var DE=e=>{let t=e?.scores?._cohorts||e?.scores?._models;if(t&&typeof t=="object"&&Object.keys(t).length)return Object.keys(t);if(Array.isArray(e?.models)&&e.models.length)return e.models;let r=[];return ip(e).forEach(([,n])=>{PE(n)&&Object.keys(n).forEach(o=>{r.includes(o)||r.push(o)})}),r},vc=(e,t)=>!e||typeof e!="object"?null:PE(e)?t&&e[t]||null:e,Z$=e=>e&&e.samples_evaluated?(e.samples_passed||0)/e.samples_evaluated:null;var mw=e=>{if(!e)return[];let t=e.scores||{},r=t._models;if(r&&typeof r=="object"&&Object.keys(r).length)return Object.entries(r).map(([a,i])=>({label:a,model:i.model||a,provider:i.provider||null,samples:i.scenarios??null,passed:i.passed??null,errored:i.errored??0,avg_score:i.avg_score??null,avg_duration_ms:i.avg_duration_ms??null,input_tokens:i.input_tokens??null,output_tokens:i.output_tokens??null,cost:i.cost??null,faults:i.faults||{},kind:"replay"}));let n=t._cohorts;if(n&&typeof n=="object"&&Object.keys(n).length)return Object.entries(n).map(([a,i])=>({label:a,model:a,provider:i.provider||null,samples:i.samples??null,passed:i.passed??null,errored:0,avg_score:null,avg_duration_ms:i.avg_duration_ms??null,input_tokens:i.input_tokens??null,output_tokens:i.output_tokens??null,cost:i.cost??null,faults:{},kind:"sample"}));let o=DE(e);return o.length?o.map(a=>{let i=ip(e).map(([,l])=>vc(l,a)).filter(l=>l&&l.total!=null).map(l=>l.total);return{label:a,model:a,provider:null,samples:i.length?Math.max(...i):null,passed:null,errored:0,avg_score:null,avg_duration_ms:null,input_tokens:null,output_tokens:null,cost:null,faults:{},kind:e.selection||t._selection?"replay":"sample"}}):[{label:null,model:null,provider:null,samples:e.samples_evaluated??null,passed:e.samples_passed??null,errored:0,avg_score:null,avg_duration_ms:null,input_tokens:null,output_tokens:null,cost:null,faults:{},kind:"sample"}]},Q$=(e,t)=>{let r=ip(e).map(([,o])=>vc(o,t)).filter(Boolean),n=r.filter(o=>o.score!=null);return{avg:n.length?n.reduce((o,a)=>o+a.score,0)/n.length:null,scored:n.length,cleared:n.filter(o=>o.score>=.7).length,below:n.filter(o=>o.score<.7).length,skipped:r.filter(o=>o.skipped).length}},J$=20,gg=(e=[],t=null)=>Number.isFinite(t)?Math.max(t,e.length):e.length,IE=(e=[],t=null)=>{let r=gg(e,t),n=e.length=J$;return`${At(r,"run")}${n?` \xB7 latest ${e.length}`:""}`},lp=(e,t,r=[],n=null)=>Number.isFinite(e?.number)?e.number:gg(r,n)-t,yg=(e,t,{olderNumber:r=t?.number,comparable:n=!0}={})=>{if(!e||e.status!=="complete")return null;if(!t)return{text:"first run",tone:"muted"};let o=Number.isFinite(r)?`#${r}`:"previous";if(t.status!=="complete")return{text:`${o} ${t.status}`,tone:"muted"};if(!n)return{text:"partial run",tone:"muted"};let a=(e.samples_passed||0)-(t.samples_passed||0);return a===0?{text:`same as ${o}`,tone:"muted"}:{text:`${a>0?"+":""}${a} passed vs ${o}`,tone:a>0?"success":"error"}},vl=e=>{let t=e?.usage;if(!t||typeof t!="object")return null;let r=t.replays??t.samples??null,n=t.cost??null,o=r!=null||n!=null?{cost:n,count:r||0,unit:t.replays!=null?"replay":"sample",perInteraction:t.per_interaction??(n!=null&&r?n/r:null),inputTokens:t.input_tokens??null,outputTokens:t.output_tokens??null,modelTimeMs:t.model_time_ms??null}:null,a=t.judge,i=a&&typeof a=="object"?{cost:a.cost??null,calls:a.calls||0,byKind:a.by_kind||{},model:a.model||null,inputTokens:a.input_tokens??null,outputTokens:a.output_tokens??null}:null;if(!o&&!i)return null;let l=o?.cost!=null||i?.cost!=null?(o?.cost||0)+(i?.cost||0):null;return{agent:o,judge:i,total:l,runtimeMs:t.runtime_ms??null}},vw=e=>{if(!e)return"";let t=["define","score","recommend","verdict"];return Object.entries(e.byKind||{}).sort(([n],[o])=>t.indexOf(n)-t.indexOf(o)).map(([n,o])=>`${n} ${o}`).join(" \xB7 ")},R$=(e=[])=>{let t=null,r=0,n=null,o=0;return e.forEach(a=>{let i=vl(a);i&&(o+=1,i.agent?.cost!=null&&(t=(t||0)+i.agent.cost,r+=i.agent.count||0),i.judge?.cost!=null&&(n=(n||0)+i.judge.cost))}),{agentCost:t,interactions:r,perInteraction:t!=null&&r?t/r:null,judgeCost:n,priced:o}},gw=(e,t)=>{if(!t)return[];let r=[],n=`/agents/${e?.agent?.id}/run`;t.status==="failed"&&r.push({kind:"failed",label:"run failed",scope:Number.isFinite(t.number)?`run #${t.number}`:"latest run",text:t.error_message||"The run ended before any criterion was scored.",action:{label:"Run agent",path:n,hint:"Run Agent ->"}});let o=Array.isArray(t.scores?._missing_models)?t.scores._missing_models:[];o.length&&r.push({kind:"missing",label:`no generations \xD7${o.length}`,scope:"comparison cohorts",text:"The comparison asked for these models, but the agent has no recorded generations under them. Run the agent under each model, then run the evaluation again.",chipsLabel:"missing models",chips:o,action:{label:"Run agent",path:n,hint:"Run Agent ->"}});let a={judge:[],telemetry:[],rules:[]},i=[];ip(t).forEach(([u,c])=>{let d=vg(e,u);(PE(c)?Object.entries(c):[[null,c]]).forEach(([p,m])=>{!m||typeof m!="object"||(m.skipped?a[di(d)].push({key:u,model:p,reason:m.reason}):m.score!=null&&m.score<.7&&i.push({key:u,model:p,stats:m,criterion:d}))})});let l=u=>[...new Set(u.map(c=>c.key))],s=u=>`${l(u).length} ${l(u).length===1?"criterion":"criteria"}`;if(a.judge.length&&r.push({kind:"judge",label:`judge skipped \xD7${a.judge.length}`,scope:s(a.judge),text:a.judge[0].reason||"The LLM judge could not score these criteria.",chipsLabel:"unscored criteria",chips:l(a.judge),action:{label:"Add provider key",path:"/settings",hint:"Settings ->"}}),a.telemetry.length&&r.push({kind:"telemetry",label:`no telemetry \xD7${a.telemetry.length}`,scope:s(a.telemetry),text:a.telemetry[0].reason||"No traces were recorded for this agent in the criterion window.",chipsLabel:"unscored criteria",chips:l(a.telemetry),action:{label:"Open traces",path:"/traces",hint:"Traces ->"}}),a.rules.length&&r.push({kind:"samples",label:`no samples \xD7${a.rules.length}`,scope:s(a.rules),text:a.rules[0].reason||"No generation could be scored against these criteria.",chipsLabel:"unscored criteria",chips:l(a.rules),action:{label:"Run agent",path:n,hint:"Run Agent ->"}}),i.length){let u=[...new Set(i.map(c=>c.model).filter(Boolean))];r.push({kind:"below",label:`below pass mark \xD7${i.length}`,scope:`${s(i)}${u.length?` \xB7 ${At(u.length,"model")}`:""}`,text:`Scored under the ${.7.toFixed(2)} pass mark. Each line is what the criterion expects against how the samples did; tighten the agent's instructions or revisit the budget before running again.`,details:i.map(c=>`${c.key}${c.model?` \xB7 ${c.model}`:""} ${c.stats.score.toFixed(2)} \xB7 expects ${ap(c.criterion)} \xB7 ${c.stats.passed}/${c.stats.total} passed`)})}return r};var kt=te(re());var gl=te(re());var Kue="What the agent spent answering \u2014 the operating cost of these interactions, and of one on average",que="What the judge model spent scoring, recommending and ruling \u2014 the evaluation's own offline cost",yw=e=>e?.agent?.unit==="replay"?"replay":"sampled interaction",yl=e=>e==null?"\u2014":jr(e,Math.abs(Number(e))<.001?6:4),eF=e=>{if(!e)return null;let t=[];if(e.agent){let r=[`agent ${jr(e.agent.cost)}`,At(e.agent.count,yw(e))];e.agent.perInteraction!=null&&r.push(`${yl(e.agent.perInteraction)} each`),t.push(r.join(" \xB7 "))}return e.judge&&t.push(`judge ${jr(e.judge.cost)} \xB7 ${At(e.judge.calls,"call")}`),t.join(" \xB7 ")};function jE({label:e,value:t,sub:r,title:n,valueColor:o,testId:a,first:i=!1}){return gl.default.createElement("div",{"data-testid":a,title:n,style:{padding:"10px 16px",minWidth:0,borderLeft:i?"none":"1px solid var(--color-border-light)"}},gl.default.createElement(et,{size:10,color:"var(--color-text-muted)"},e),gl.default.createElement("div",{style:{marginTop:4,fontFamily:fe,fontSize:18,fontWeight:700,lineHeight:1.1,color:o||"var(--color-text-primary)"}},t),gl.default.createElement("div",{style:{marginTop:4,fontFamily:fe,fontSize:11,color:"var(--color-text-secondary)",textWrap:"pretty"}},r))}function zE({spend:e,testId:t="run-spend"}){if(!e)return null;let{agent:r,judge:n,total:o}=e,a=r&&(r.inputTokens!=null||r.outputTokens!=null)?` \xB7 in ${Ir(r.inputTokens)} \xB7 out ${Ir(r.outputTokens)}`:"";return gl.default.createElement(ht,{padding:0,testId:t,style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",overflow:"hidden"}},gl.default.createElement(jE,{first:!0,label:"Agent cost",title:Kue,value:r?jr(r.cost):"\u2014",sub:r?`${At(r.count,yw(e))}${r.perInteraction!=null?` \xB7 ${yl(r.perInteraction)} per interaction`:""}${a}`:"nothing replayed or sampled",testId:"run-spend-agent"}),gl.default.createElement(jE,{label:"Judge cost",title:que,value:n?jr(n.cost):"\u2014",valueColor:n?void 0:"var(--color-text-muted)",sub:n?[At(n.calls,"call"),vw(n),n.model,"offline"].filter(Boolean).join(" \xB7 "):"no judge asked \xB7 rules only",testId:"run-spend-judge"}),gl.default.createElement(jE,{label:"Total",title:"Agent and judge together \u2014 what this run cost end to end",value:o!=null?jr(o):"\u2014",sub:r&&n?"agent + judge":r?"agent only":"judge only",testId:"run-spend-total"}))}function LE({run:e,testId:t}){if(!e)return kt.default.createElement(Tt,{tone:"muted",testId:t},"no runs");if(e.status==="failed")return kt.default.createElement(Tt,{tone:"error",testId:t},"failed");if(e.status==="pending")return kt.default.createElement(Tt,{tone:"warning",testId:t},"queued");if(e.status==="running")return kt.default.createElement(Tt,{tone:"warning",testId:t},"running");if(e.samples_evaluated)return kt.default.createElement(Tt,{tone:pc(Z$(e)),testId:t},`${e.samples_passed||0}/${e.samples_evaluated} passed`);if(e.average_score!=null){let r=Number(e.average_score);return kt.default.createElement(Tt,{tone:r>=.85?"success":r>=.7?"warning":"error",testId:t,title:"mean score across criteria"},`score ${wa(r)}`)}return kt.default.createElement(Tt,{tone:"muted",testId:t},"no samples")}var tF={success:"var(--color-success)",error:"var(--color-error)",muted:"var(--color-text-muted)"},rF=Lo.cost+16,Gue=e=>mw(e).filter(t=>t.samples>0).map(t=>({label:t.label,short:Bo(t.label||"").short||"all samples",passed:t.passed,total:t.samples}));function hg({runs:e=[],runCount:t=null,evaluation:r,agentName:n,selectedId:o=null,onOpen:a,previousRun:i=null,barsFor:l=null,deltaFor:s=null,title:u="Runs",testId:c="suite-runs-panel"}){let{darkMode:d}=Nt(),f=e.map((p,m)=>{let g=lp(p,m,e,t),h=e[m+1]||(m===0&&e.length===1?i:null),v=h?Number.isFinite(h.number)?h.number:g-1:null,y=s?s(p,h,v):yg(p,h,{olderNumber:v}),b=vl(p);return{run:p,number:g,latest:m===0,when:ci(p.completed_at||p.created_at),meta:`@${n||r?.agent?.name||"agent"} \xB7 ${mc(r,p)} \xB7 ${pw(r,p)}`,bars:l?l(p):Gue(p),delta:y,spend:b,selected:p.id===o}});return kt.default.createElement(K$,{title:u,meta:IE(e,t),testId:c,bodyStyle:{overflowX:"auto"}},f.length===0&&kt.default.createElement(An,null,"[ ] no runs yet"),kt.default.createElement("div",{style:{minWidth:880}},f.map(p=>kt.default.createElement("div",{key:p.run.id,role:"button",tabIndex:0,"data-testid":"evaluation-run","data-run-id":p.run.id,"data-selected":p.selected?"true":"false",onClick:()=>a?.(p.run),onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),a?.(p.run))},className:p.selected?void 0:"hover:bg-[var(--color-hover)]",style:{display:"grid",gridTemplateColumns:"minmax(220px, 1.4fr) minmax(180px, 1fr) auto",gap:16,alignItems:"center",padding:"10px 14px 10px 12px",borderTop:"1px solid var(--color-border-light)",cursor:"pointer",background:p.selected?"var(--color-muted)":void 0,borderLeft:`2px solid ${p.selected?"var(--color-accent-ui)":"transparent"}`}},kt.default.createElement("div",{style:{minWidth:0}},kt.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},kt.default.createElement("span",{style:{fontFamily:fe,fontSize:12,fontWeight:700,color:"var(--color-text-primary)"}},`Run #${p.number}`),kt.default.createElement("span",{style:{fontFamily:fe,fontSize:11,color:"var(--color-text-muted)"}},p.when),p.latest&&kt.default.createElement(Tt,{tone:"info",size:10,style:{padding:"1px 6px"}},"latest"),p.run.status==="failed"&&kt.default.createElement(Tt,{tone:"error",size:10,style:{padding:"1px 6px"}},"failed"),(p.run.status==="running"||p.run.status==="pending")&&kt.default.createElement(Tt,{tone:"warning",size:10,style:{padding:"1px 6px"}},p.run.status==="pending"?"queued":"running")),kt.default.createElement("div",{style:{fontFamily:fe,fontSize:11,color:"var(--color-text-muted)",marginTop:3,textWrap:"pretty"}},p.meta),p.run.status==="failed"&&p.run.error_message&&kt.default.createElement("div",{style:{fontFamily:fe,fontSize:11,color:"var(--color-error)",marginTop:3,textWrap:"pretty"}},`[!] ${p.run.error_message}`)),kt.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:4,minWidth:0}},p.bars.map(m=>m.passed==null||m.total==null?kt.default.createElement("div",{key:m.label||"all",style:{display:"flex",alignItems:"center",gap:8}},kt.default.createElement("span",{style:{fontFamily:fe,fontSize:10,color:"var(--color-text-muted)",width:128,flexShrink:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:m.label||void 0},m.short),kt.default.createElement("span",{style:{fontFamily:fe,fontSize:11,color:"var(--color-text-muted)"}},"\u2014")):kt.default.createElement(q$,{key:m.label||"all",label:m.short,passed:m.passed,total:m.total}))),kt.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12}},kt.default.createElement(Rf,{darkMode:d,cells:[{key:"agent",width:rF,title:p.spend?.agent?`Agent: ${At(p.spend.agent.count,yw(p.spend))}${p.spend.agent.perInteraction!=null?` \xB7 ${yl(p.spend.agent.perInteraction)} per interaction`:""}`:void 0,empty:"Agent cost: nothing replayed or sampled in this run",content:p.spend?.agent?.cost!=null&&kt.default.createElement("span",{style:{fontFamily:fe,fontSize:11}},kt.default.createElement("span",{style:{color:"var(--color-text-muted)"}},"agent "),jr(p.spend.agent.cost))},{key:"judge",width:rF,title:p.spend?.judge?`Judge: ${At(p.spend.judge.calls,"call")} \xB7 ${vw(p.spend.judge)} \xB7 offline`:void 0,empty:"Judge cost: no judge was asked in this run",content:p.spend?.judge?.cost!=null&&kt.default.createElement("span",{style:{fontFamily:fe,fontSize:11}},kt.default.createElement("span",{style:{color:"var(--color-text-muted)"}},"judge "),jr(p.spend.judge.cost))},{key:"delta",width:128,title:p.delta?"Samples passed, against the run before":void 0,empty:"Movement is read once the run completes",content:p.delta&&kt.default.createElement("span",{style:{fontFamily:fe,fontSize:11,fontWeight:600,color:tF[p.delta.tone]||tF.muted}},p.delta.text)},{key:"badge",width:108,content:kt.default.createElement(LE,{run:p.run,testId:p.latest?"suite-pass-badge":void 0})},{key:"open",width:20,content:kt.default.createElement(Fa,{kind:"link",color:"var(--color-info)",weight:400})}]}))))))}var nF=(e=[],t=null)=>{let r=e[0],n=Number.isFinite(t)?Math.max(t,e.length):e.length;return[At(n,"run"),r?`latest #${lp(r,0,e,t)} ${ci(r.completed_at||r.created_at)}`:null,r?.status==="complete"&&r.samples_evaluated?`${r.samples_passed||0}/${r.samples_evaluated} passed`:null].filter(Boolean).join(" \xB7 ")};var Cn=te(re());function gc({evaluation:e,run:t=null,keys:r=null,spend:n=null,reportPath:o=null,onDelete:a,deleting:i=!1,deleteLabel:l="Delete evaluation"}){let s=(r||(e.criteria||[]).map(p=>p.key)).map(p=>vg(e,p)),u={fontFamily:fe,fontSize:11,color:"var(--color-text-muted)"},c={fontFamily:fe,fontSize:11,color:"var(--color-text-cell)"},d=(p,m,g)=>Cn.default.createElement("span",{"data-testid":m,title:g,style:{...u,fontSize:10,textTransform:"uppercase",letterSpacing:"0.04em",marginLeft:2}},p),f=eF(n);return Cn.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:6,paddingTop:12,borderTop:"1px solid var(--color-border-light)"},"data-testid":"criteria-footer"},Cn.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",rowGap:4}},Cn.default.createElement("span",{style:u},"judge"),Cn.default.createElement("span",{style:{...c,fontWeight:600}},pw(e,t)),Cn.default.createElement("span",{style:{...u,marginLeft:8}},"criteria"),s.length===0&&Cn.default.createElement("span",{style:u},e.judge_kind==="judge_defined"?"defined by the judge on the first run":e.scenario_suite?"each scenario's own expectations":"\u2014"),s.map((p,m)=>Cn.default.createElement(Cn.default.Fragment,{key:p.key||m},m>0&&Cn.default.createElement("span",{style:u},"\xB7"),Cn.default.createElement("span",{style:c,title:ap(p)||void 0},fw(p)),di(p)==="telemetry"&&d("telemetry","score-source-telemetry","Scored from the agent's telemetry traces, not from sampled generations"),di(p)==="judge"&&d("judge",void 0,"Scored by the judge model; needs provider credentials")))),Cn.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:16,flexWrap:"wrap",rowGap:4}},Cn.default.createElement("span",{style:{...u,whiteSpace:"nowrap"},title:"Run this evaluation again from the API"},"POST /api/evaluations/",e.id,"/run"),f&&Cn.default.createElement("span",{style:{...u,minWidth:0,textWrap:"pretty"},title:"Estimated spend of this run: the agent's replays or sampled interactions, and the judge's own calls"},f),o&&Cn.default.createElement(np,{href:Re(o),onClick:()=>Is(o),title:"The run rendered as a report page"},"run report"),a&&Cn.default.createElement("button",{type:"button",onClick:p=>{p.stopPropagation(),a()},disabled:i,title:"Delete this evaluation and its runs",style:{marginLeft:"auto",background:"transparent",border:"none",padding:0,cursor:i?"not-allowed":"pointer",fontFamily:fe,fontSize:11,color:"var(--color-error)",opacity:i?.5:1}},i?"Deleting\u2026":l)))}var he=te(re());var Rt=te(re());var Yue=e=>e>=.85?"success":e>=.7?"warning":"error";function hw({label:e,children:t,title:r,nowrap:n=!0}){return Rt.default.createElement("span",{style:{whiteSpace:n?"nowrap":"normal"},title:r},e," ",Rt.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},t))}function xg({label:e,short:t,provider:r,winner:n=!1,passed:o,total:a,avgScore:i,criteria:l,latencyMs:s,inputTokens:u,outputTokens:c,cost:d,perInteraction:f,unit:p="interaction",badges:m=[],note:g,testId:h="model-scorecard"}){let v=o!=null&&a>0,y=v?o/a:null,b=v?pc(y):i!=null?Yue(i):"muted",x=ml[b].strong;return Rt.default.createElement(ht,{padding:"14px 16px",testId:h,style:{display:"flex",flexDirection:"column",gap:10,minWidth:0}},Rt.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},Rt.default.createElement("span",{style:{fontFamily:fe,fontSize:14,fontWeight:700,color:"var(--color-text-primary)"},title:e||void 0},t||e||"all samples"),r&&Rt.default.createElement("span",{style:{fontFamily:fe,fontSize:11,color:"var(--color-text-muted)"}},r),n&&Rt.default.createElement(Tt,{tone:"info",size:10,style:{padding:"1px 6px"},testId:"judges-pick"},"judge's pick")),Rt.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8}},Rt.default.createElement("span",{style:{fontFamily:fe,fontSize:26,fontWeight:700,lineHeight:1,color:x}},v?`${o}/${a}`:i!=null?wa(i):"\u2014"),Rt.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-secondary)"}},v?`${p==="scenario"?"scenarios":"samples"} passed`:i!=null?"mean score":"nothing scored")),Rt.default.createElement("span",{style:{display:"block",height:6,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},Rt.default.createElement("span",{style:{display:"block",height:"100%",borderRadius:999,background:x,width:`${Math.round((y??i??0)*100)}%`}})),Rt.default.createElement("div",{style:{display:"flex",gap:14,flexWrap:"wrap",fontFamily:fe,fontSize:11,color:"var(--color-text-secondary)"}},Rt.default.createElement(hw,{label:"score"},i!=null?Number(i).toFixed(3):"\u2014"),l&&Rt.default.createElement(hw,{label:"criteria"},l.cleared,"/",l.scored),s!=null&&Rt.default.createElement(hw,{label:"latency"},kn(s)),(u!=null||c!=null)&&Rt.default.createElement("span",{style:{whiteSpace:"nowrap"}},Rt.default.createElement("span",{style:{color:"var(--color-token-in)"}},"in")," ",Rt.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},OE(u))," \xB7 ",Rt.default.createElement("span",{style:{color:"var(--color-token-out)"}},"out")," ",Rt.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},OE(c))),d!=null&&Rt.default.createElement(hw,{label:"cost",title:`What the agent spent under this model${f!=null?` \u2014 ${yl(f)} per ${p}`:""}`},jr(d),f!=null&&Rt.default.createElement("span",{style:{fontWeight:400,color:"var(--color-text-muted)"}},` \xB7 ${yl(f)} / ${p}`))),(m.length>0||g)&&Rt.default.createElement("div",{style:{display:"flex",gap:6,flexWrap:"wrap",alignItems:"center"}},m.map(S=>Rt.default.createElement(Tt,{key:S.text,tone:S.tone,testId:S.testId},S.text)),g&&Rt.default.createElement("span",{style:{fontFamily:fe,fontSize:11,color:g.color||"var(--color-text-muted)"}},g.text)))}var js=e=>[...new Set(e)],bg=e=>String(e||"").replace(/_/g," "),zs=e=>e?.status==="passed",yc=e=>!!e&&e.status!=="pending",hc=e=>!!e&&["pending","running"].includes(e.status),xw=e=>e?.selection||e?.scores?._selection||{},Xue=e=>(xw(e).models||[]).map(t=>typeof t=="string"?t:t?.label).filter(Boolean);function wg(e,t=[],r=null){if(Array.isArray(e?.models)&&e.models.length)return e.models;let n=Object.keys(e?.scores?._models||{});if(n.length)return n;let o=Xue(e);if(o.length)return o;let a=js(t.map(l=>Sg(e,l)));if(a.length)return a;let i=r?.compare_models||[];return i.length?i:e?["agent's model"]:[]}function Sg(e,t){let n=(xw(e).models||[]).filter(i=>i&&typeof i=="object").find(i=>i.model===t.model&&(i.provider||"")===(t.provider||""));if(n?.label)return n.label;let o=e?.scores?._models||{};if(o[t.model])return t.model;let a=[t.provider,t.model].filter(Boolean).join("/");return o[a]?a:t.model}function $E(e,t){let r=e?.scores?._models?.[t],n=(xw(e).models||[]).find(o=>o&&typeof o=="object"&&o.label===t);return Bo(t,r?.provider||n?.provider||"")}function FE(e,t=[]){let r=xw(e);if(Array.isArray(r.scenario_keys)&&r.scenario_keys.length)return r.scenario_keys;if(!e)return[];if(Array.isArray(r.keys)&&r.keys.length)return r.keys;if(Array.isArray(r.scenario_ids)&&r.scenario_ids.length){let o=r.scenario_ids.map(String);return t.filter(a=>o.includes(String(a.id))).map(a=>a.key)}let n=t.filter(o=>o.enabled!==!1);return r.group?n.filter(o=>o.group===r.group).map(o=>o.key):hc(e)?n.map(o=>o.key):[]}function sp(e,t=[],r=[]){let n=FE(e,r);if(n.length)return n.length;let o=Object.values(e?.scores?._models||{});return o.length?Math.max(...o.map(a=>a.scenarios||0)):e?.samples_evaluated&&t.length?Math.round(e.samples_evaluated/t.length):0}function UE(e,t,r=[],n=0){let o=e?.scores?._models?.[t];if(o&&o.scenarios!=null)return{passed:o.passed||0,total:o.scenarios||0};let a=r.filter(i=>Sg(e,i)===t);return{passed:a.filter(zs).length,total:n||a.length}}function oF(e,t=[],r=[],n=[]){if(e?.status==="complete"&&e.samples_evaluated!=null)return{passed:e.samples_passed||0,total:e.samples_evaluated||0};let o=sp(e,r,n)*Math.max(r.length,1);return{passed:t.filter(zs).length,total:o}}function aF(e,t=[]){let r=[],n={};return(Array.isArray(e)?e:[]).forEach(o=>{let a=typeof o=="string"?o:String(o?.name||"");a&&(n[a]||(n[a]={name:a,count:0,errored:!1},r.push(a)),n[a].count+=1,o&&typeof o=="object"&&o.error&&(n[a].errored=!0))}),r.map(o=>{let a=n[o],i=t.includes(o);return{...a,hit:i,label:`${o}${a.errored?" \u2717":""}${a.count>1?` \xD7${a.count}`:""}`,color:a.errored?"var(--color-error)":i?"var(--color-success-text)":"var(--color-text-muted)",weight:a.errored||i?600:400}})}var Zue=(e,t)=>{let r=String(e||"").trim();return r.length>t?`${r.slice(0,t-1)}\u2026`:r},BE=e=>e?.diagnosis?.judge?.instruction_change;function iF(e,t=[]){let r=e?.scores?._recommendations||[];if(Array.isArray(e?.fix_items)){let a=r.length>0||t.some(BE);if(e.fix_items.length>0||!a)return e.fix_items}let n=r.map(a=>Que(a,t)),o=new Set;return t.forEach(a=>{let i=BE(a);if(!i||o.has(i))return;o.add(i);let l=t.filter(s=>BE(s)===i);n.push({kind:"instruction",fault:"instruction change",count:l.length,scenario_keys:js(l.map(s=>s.scenario_key)),models:js(l.map(s=>Sg(e,s))),recommendation:a.diagnosis.judge.recommendation||a.recommendation||"",quote:i,tools_label:null,tools:[],server:null,note:null,action:{label:"Add to instructions",hint:"Agent -> Instructions",path:null}})}),n}function Que(e,t){let r=e.fault,n=t.filter(u=>u.fault===r),o=(e.suggested_tools||[]).map(u=>typeof u=="string"?u:u?.name).filter(Boolean),a=null,i=[],l=null,s=null;if(r==="expected_tool_not_called"){a="missing tools";let u=js(n.flatMap(d=>d.diagnosis?.evidence?.unavailable||[]));u.length||(u=js(n.flatMap(d=>{let f=d.diagnosis?.evidence||{};return(f.expected||[]).filter(p=>!(f.called||[]).includes(p))}))),i=u.map(d=>({name:d,note:null,server:null}));let c=n.filter(d=>d.diagnosis?.summary&&(d.diagnosis?.evidence?.unavailable||[]).length===0);c.length&&c.length`${d.scenario_key} is the exception: ${d.diagnosis.summary} ${d.diagnosis.recommendation||""}`.trim()).join(" "))}else if(r==="tool_error"){a="failing tools";let u={};n.forEach(c=>(c.tool_calls||[]).forEach(d=>{!d||typeof d!="object"||!d.error||!d.name||u[d.name]||(u[d.name]={name:d.name,note:Zue(d.detail,60)||null,server:null})})),i=Object.values(u),s={label:"Open failing tools",hint:"Tools ->",path:"/tools"}}else a=o.length?"suggested tools":null,i=js(o).map(u=>({name:u,note:null,server:null}));return!s&&a==="suggested tools"&&i.length&&(s={label:"Open suggested tools",hint:"Tools ->",path:"/tools"}),{kind:"fault",fault:r,count:e.count||n.length,scenario_keys:e.scenario_keys||js(n.map(u=>u.scenario_key)),models:e.models||[],recommendation:e.recommendation||"",quote:null,tools_label:a,tools:i,server:null,note:l,action:s}}var Nn=(e,t="var(--color-text-muted)",r={})=>({fontFamily:fe,fontSize:e,color:t,...r});function lF({calls:e,empty:t,style:r}){return he.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"2px 8px",fontFamily:fe,fontSize:11,...r}},e.map(n=>he.default.createElement("span",{key:n.name,style:{color:n.color,fontWeight:n.weight}},n.label)),e.length===0&&he.default.createElement("span",{style:{color:"var(--color-text-muted)"}},t))}function sF({run:e,columns:t,results:r=[],scenarioCount:n=0,judgedBy:o,verdict:a}){let i=e?.scores?._models||{};return he.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10},"data-testid":"suite-models-panel"},he.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:10}},he.default.createElement(et,null,"Models"),o&&he.default.createElement("span",{style:Nn(11)},`judged by ${o}`)),t.length===0&&he.default.createElement(An,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"[ ] no models scored yet"),t.length>0&&he.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(260px, 1fr))",gap:12}},t.map(l=>{let{short:s,provider:u}=$E(e,l),c=i[l],{passed:d,total:f}=UE(e,l,r,n),p=Object.entries(c?.faults||{}),m=c&&p.length===0?{text:"[+] no faults",color:"var(--color-success-text)"}:!c&&hc(e)?{text:"scoring\u2026"}:null;return he.default.createElement(xg,{key:l,label:l,short:s,provider:u,winner:a?.winner===l,passed:d,total:f,avgScore:c?.avg_score,latencyMs:c?.avg_duration_ms,inputTokens:c?.input_tokens,outputTokens:c?.output_tokens,cost:c?.cost,perInteraction:c?.cost!=null&&c.scenarios?c.cost/c.scenarios:null,unit:"scenario",badges:p.map(([g,h])=>({tone:"error",text:`${bg(g)} \xD7${h}`})),note:m})})),a?.rationale&&he.default.createElement(ht,{padding:"12px 16px",testId:"suite-verdict",style:{display:"flex",flexDirection:"column",gap:6}},he.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},he.default.createElement(et,null,"Verdict"),a.judge&&he.default.createElement("span",{style:Nn(11)},`judged by ${a.judge}`)),he.default.createElement("div",{style:{fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",textWrap:"pretty"}},he.default.createElement("strong",{style:{color:"var(--color-text-primary)",fontFamily:fe,fontSize:12}},a.winner),a.rationale?` \xB7 ${a.rationale}`:"")))}function uF({items:e,columns:t=[],agentName:r,onNavigate:n,onOpenScenario:o}){let a=i=>{let l=At((i.scenario_keys||[]).length,"scenario");if(i.kind==="instruction")return`${(i.scenario_keys||[]).join(", ")} \xB7 judge suggestion`;let s=js(i.models||[]);if(t.length<=1||s.length===0)return l;let c=s.length>=t.length?t.length===2?"both models":"all models":s.map(d=>Bo(d).short).join(", ");return`${l} \xB7 ${c}`};return he.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:12}},e.map((i,l)=>{let s=i.kind==="instruction",u=s?"info":"error",c=[],d=new Set;(i.tools||[]).forEach(g=>{let h=typeof g=="string"?g:g?.name;!h||d.has(h)||(d.add(h),c.push({name:h,note:typeof g=="object"&&(g.note||g.server?.name)||null}))});let f=i.server,p=f?.status==="enabled",m=r||"the agent";return he.default.createElement("div",{key:`${i.fault}-${l}`,"data-testid":"scenario-recommendation",style:{border:"1px solid var(--color-border)",borderRadius:10,padding:"12px 14px",display:"flex",flexDirection:"column",gap:10,minWidth:0}},he.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},he.default.createElement(Fa,{kind:s?"info":"fault"}),he.default.createElement(Tt,{tone:u},`${bg(i.fault)}${i.count>1?` \xD7${i.count}`:""}`),o&&(i.scenario_keys||[]).length>0?he.default.createElement("button",{type:"button",onClick:()=>o(i.scenario_keys),title:`Show ${(i.scenario_keys||[]).join(", ")} \u2014 the question, the answer and the tools it called`,style:{...Nn(11),background:"none",border:0,padding:0,cursor:"pointer",color:"var(--color-text-link, var(--color-text-primary))",textDecoration:"underline",textUnderlineOffset:2}},a(i)):he.default.createElement("span",{style:Nn(11)},a(i))),i.recommendation&&he.default.createElement("p",{style:{margin:0,fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",textWrap:"pretty"}},i.recommendation),i.quote&&he.default.createElement("div",{style:{background:"var(--color-muted)",borderRadius:8,padding:"8px 10px",fontSize:12,lineHeight:"18px",color:"var(--color-text-cell)",fontStyle:"italic"}},"\u201C",i.quote,"\u201D"),c.length>0&&he.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:6}},he.default.createElement(et,{size:10,color:"var(--color-text-muted)"},i.tools_label||"tools"),he.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:6}},c.map(g=>he.default.createElement("span",{key:g.name,style:{display:"inline-flex",alignItems:"center",gap:6,padding:"3px 8px",borderRadius:6,border:"1px solid var(--color-border)",fontFamily:fe,fontSize:11,maxWidth:"100%"}},he.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},g.name),g.note&&he.default.createElement("span",{style:{color:"var(--color-text-muted)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:g.note},g.note))))),f&&he.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",fontSize:12,color:"var(--color-text-cell)"}},he.default.createElement("span",null,"served by"),he.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},f.name||f.key),he.default.createElement(Tt,{tone:p?"success":"warning",size:10,style:{padding:"1px 6px"}},p?`enabled for ${m}`:`${f.status||"unknown"} \xB7 not enabled for ${m}`)),i.note&&he.default.createElement("div",{style:{fontSize:12,lineHeight:"18px",color:"var(--color-text-secondary)",textWrap:"pretty"}},i.note),i.action&&he.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:"auto",paddingTop:2,flexWrap:"wrap"}},i.action.path&&he.default.createElement(mr,{size:"sm",onClick:()=>n?.(i.action.path)},i.action.label),i.action.hint&&he.default.createElement("span",{style:{...Nn(11),whiteSpace:"nowrap"}},i.action.hint)))}))}var Jue=e=>`minmax(240px, 1.6fr) 150px ${e.map(()=>"minmax(170px, 1fr)").join(" ")}`;function Rue({result:e,expects:t,pending:r}){if(!e)return he.default.createElement("span",{style:{...Nn(12),fontWeight:600}},r?"\u2026":"\u2014");if(!yc(e))return he.default.createElement("span",{style:{...Nn(12),fontWeight:600}},"\u2026");let n=zs(e),o=n?"var(--color-success)":"var(--color-error)",a=aF(e.tool_calls,t);return he.default.createElement("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:3}},he.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6,flexWrap:"wrap",fontFamily:fe,fontSize:12}},he.default.createElement("span",{style:{fontWeight:700,color:o}},n?"[+]":"[!]"),he.default.createElement("span",{style:{fontWeight:600,color:o}},wa(e.score)),e.fault&&he.default.createElement("span",{style:{fontSize:11,color:"var(--color-error-text)"}},bg(e.fault))),he.default.createElement(lF,{calls:a,empty:"no tools called"}))}function cF({rows:e,columns:t,run:r,resultsByKey:n,runKeys:o,running:a,openKey:i,onToggleRow:l,emptyLabel:s,renderDetail:u}){let c=Jue(t),d=e.some(p=>p.group),f=[];return e.forEach(p=>{let m=p.group||"",g=f.find(h=>h.name===m);g||(g={name:m,rows:[]},f.push(g)),g.rows.push(p)}),he.default.createElement("div",{style:{border:"1px solid var(--color-border-light)",borderRadius:10,overflowX:"auto"}},he.default.createElement("div",{style:{minWidth:Math.max(760,400+180*t.length)}},he.default.createElement("div",{style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"8px 12px",background:"var(--color-muted)",alignItems:"end"}},he.default.createElement(et,{size:10,color:"var(--color-text-muted)"},"Scenario"),he.default.createElement(et,{size:10,color:"var(--color-text-muted)"},"Expects"),t.map(p=>{let{short:m,provider:g}=$E(r,p);return he.default.createElement("span",{key:p,style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},title:p},he.default.createElement("span",{style:{fontFamily:fe,fontSize:11,fontWeight:600,color:"var(--color-text-primary)"}},m),he.default.createElement("span",{style:Nn(10)},g||"\xA0"))})),f.map(p=>{let m=p.rows.filter(h=>o.has(h.key)||n[h.key]),g=t.map(h=>{let y=m.filter(S=>yc(n[S.key]?.[h])).filter(S=>zs(n[S.key][h])).length,b=m.length,x=b&&y===b?"var(--color-success-text)":y===0?"var(--color-error-text)":"var(--color-text-cell)";return{label:h,text:b?`${y}/${b} passed`:"\u2014",color:x}});return he.default.createElement("div",{key:p.name||"__ungrouped"},(p.name||d)&&he.default.createElement("div",{style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"7px 12px",borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",alignItems:"center"}},he.default.createElement("span",{style:{fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},p.name||"ungrouped"),he.default.createElement("span",{style:Nn(11)},At(p.rows.length,"scenario")),g.map(h=>he.default.createElement("span",{key:h.label,style:{fontFamily:fe,fontSize:11,fontWeight:600,color:h.color}},h.text))),p.rows.map(h=>{let v=i===h.key,y=h.expectations?.tools||[],b=o.has(h.key)||!!n[h.key],x=h.enabled===!1;return he.default.createElement("div",{key:h.key},he.default.createElement("div",{"data-testid":"scenario-row","data-scenario-key":h.key,onClick:()=>l(h.key),className:v?void 0:"hover:bg-[var(--color-hover)]",style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"10px 12px",borderTop:"1px solid var(--color-border-light)",cursor:"pointer",background:v?"var(--color-muted)":void 0,opacity:x?.5:1}},he.default.createElement("div",{style:{minWidth:0}},he.default.createElement("div",{style:{...Nn(11),marginBottom:2}},`${h.key}${x?" \xB7 disabled":""}`),he.default.createElement("div",{style:{fontSize:13,lineHeight:"18px",color:"var(--color-text-primary)",textWrap:"pretty"}},h.prompt)),he.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:4,alignContent:"flex-start",minWidth:0}},y.map(S=>he.default.createElement("span",{key:S,style:{fontFamily:fe,fontSize:11,padding:"2px 6px",border:"1px solid var(--color-border)",borderRadius:4,color:"var(--color-text-cell)",whiteSpace:"nowrap"}},S)),y.length===0&&(h.expectations?.contains||[]).map(S=>he.default.createElement("span",{key:`contains-${S}`,style:{fontFamily:fe,fontSize:11,padding:"2px 6px",border:"1px solid var(--color-border)",borderRadius:4,color:"var(--color-text-cell)",whiteSpace:"nowrap"},title:"the answer must contain this"},`contains: ${S}`))),t.map(S=>he.default.createElement(Rue,{key:S,result:n[h.key]?.[S],expects:y,pending:a&&b}))),v&&u(h))}))}),e.length===0&&he.default.createElement(An,{style:{borderTop:"1px solid var(--color-border-light)"}},s||"[+] nothing failed in this group")))}function ece(e){let t=[];return e.duration_ms!=null&&t.push(kn(e.duration_ms)),(e.input_tokens!=null||e.output_tokens!=null)&&t.push(`${Ir((e.input_tokens||0)+(e.output_tokens||0))} tokens`),e.cost!=null&&t.push(jr(e.cost)),t.join(" \xB7 ")}function tce({label:e,run:t,result:r,expects:n,running:o}){let{short:a}=$E(t,e),i=he.default.createElement("span",{style:{fontFamily:fe,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"},title:e},a),l=(v,y)=>he.default.createElement("div",{"data-testid":"scenario-result-detail",style:{background:"var(--color-card)",border:"1px solid var(--color-border-light)",borderRadius:10,overflow:"hidden",minWidth:0}},he.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},i,y),he.default.createElement("div",{style:{padding:"10px 12px",display:"flex",flexDirection:"column",gap:10}},v));if(!r||!yc(r))return l(he.default.createElement("span",{style:Nn(11)},o?"waiting for this replay\u2026":"not part of this run"),he.default.createElement(Tt,{tone:"muted"},o?"pending":"no result"));let u=zs(r)?"success":"error",c=aF(r.tool_calls,n),d=r.diagnosis||{},f=d.judge||{},p=r.fault||(r.status==="errored"?"run_error":null),m=[d.summary,d.recommendation||r.recommendation].filter(Boolean).join(" ")||r.error_message||"",g=Object.entries(r.scores||{}),h=ece(r);return l(he.default.createElement(he.default.Fragment,null,he.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,flexWrap:"wrap",fontFamily:fe,fontSize:11}},he.default.createElement(et,{size:10,color:"var(--color-text-muted)"},"tools"),he.default.createElement(lF,{calls:c,empty:"none called",style:{display:"contents"}})),p&&he.default.createElement("div",{style:{background:"var(--color-error-soft)",borderRadius:8,padding:"8px 10px",fontSize:12,lineHeight:"18px",color:"var(--color-error-text)",textWrap:"pretty"}},he.default.createElement("span",{style:{fontFamily:fe,fontWeight:700}},`[!] ${bg(p)}`),m?` \u2014 ${m}`:"",f.suggested_tool?.name&&he.default.createElement("div",{style:{marginTop:4,fontFamily:fe,fontSize:11}},`suggested tool: ${f.suggested_tool.name}${f.suggested_tool.description?` \u2014 ${f.suggested_tool.description}`:""}`),f.instruction_change&&he.default.createElement("div",{style:{marginTop:4,fontStyle:"italic"}},`instruction change: \u201C${f.instruction_change}\u201D`)),r.output?he.default.createElement("div",{style:{fontFamily:"var(--font-text)",fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",maxHeight:190,overflow:"auto",whiteSpace:"pre-wrap",textWrap:"pretty"}},r.output):he.default.createElement("div",{style:Nn(11)},"answer not retained for this run"),g.length>0&&he.default.createElement("div",{style:{...Nn(11),display:"flex",flexWrap:"wrap",gap:"2px 10px"},title:"score per criterion"},g.map(([v,y])=>he.default.createElement("span",{key:v},bg(v)," ",he.default.createElement("span",{style:{color:"var(--color-text-secondary)"}},y==null?"skipped":wa(y)))))),he.default.createElement(he.default.Fragment,null,he.default.createElement(Tt,{tone:u},r.score==null?r.status:`${r.status} \xB7 ${wa(r.score)}`),h&&he.default.createElement("span",{style:{marginLeft:"auto",...Nn(11)}},h)))}function dF({scenario:e,run:t,columns:r,resultsByKey:n,running:o,inRun:a=!0,onRerun:i,onToggleEnabled:l,canMutate:s=!0}){let u=e.expectations?.tools||[],c=n[e.key]||{},d=r.some(p=>c[p]),f=a||d;return he.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",padding:"12px 12px 14px"},"data-testid":"scenario-drilldown"},he.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:10,flexWrap:"wrap"}},he.default.createElement("span",{style:Nn(11)},e.key),he.default.createElement("span",{style:{fontSize:12,color:"var(--color-text-cell)"}},"expects"),he.default.createElement("span",{style:{fontFamily:fe,fontSize:11,fontWeight:600,color:"var(--color-text-primary)"}},u.join(" or ")||"\u2014"),s&&he.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:14}},he.default.createElement("button",{type:"button",onClick:p=>{p.stopPropagation(),l?.(e)},title:e.enabled===!1?"Enable this scenario":"Disable this scenario",style:{background:"transparent",border:"none",padding:0,cursor:"pointer",fontFamily:fe,fontSize:11,color:e.enabled===!1?"var(--color-text-muted)":"var(--color-text-cell)"}},e.enabled===!1?"[ ] enabled":"[x] enabled"),he.default.createElement(np,{onClick:()=>i?.(e),title:"Run only this scenario under the selected models"},"re-run scenario"))),e.notes&&he.default.createElement("div",{style:{fontSize:12,fontStyle:"italic",color:"var(--color-text-secondary)",marginBottom:10}},e.notes),e.catalogChanged&&he.default.createElement("div",{style:{fontSize:12,color:"var(--color-text-secondary)",marginBottom:10}},"This run used an earlier version of this question. Re-running uses the current catalog."),t?f?he.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:12}},r.map(p=>he.default.createElement(tce,{key:p,label:p,run:t,result:c[p],expects:u,running:o}))):he.default.createElement("div",{style:Nn(11)},"Not part of this run \u2014 use \u201Cre-run scenario\u201D to replay it."):he.default.createElement("div",{style:Nn(11)},"No runs yet \u2014 use \u201Cre-run scenario\u201D to replay this one on its own."))}function rce(e){let t=[],r=null;return e.forEach(n=>{(n.group||"")!==(r||"")&&(r=n.group,r&&t.push(`# ${r}`));let o=[],a=n.expectations||{};a.tools?.length&&o.push(`tools: ${a.tools.join(", ")}`),a.contains?.length&&o.push(`contains: ${a.contains.join(", ")}`),a.not_contains?.length&&o.push(`not_contains: ${a.not_contains.join(", ")}`),n.notes&&o.push(`notes: ${n.notes}`),o.push(`key: ${n.key}`),t.push(`${n.prompt} | ${o.join(" | ")}`)}),t.join(` +`)}var nce=e=>{let{results:t,fix_items:r,...n}=e;return n},fF={padding:"6px 10px",borderRadius:8,fontSize:12,fontFamily:fe,background:"var(--color-card)",border:"1px solid var(--color-border-strong)",color:"var(--color-text-primary)"};function WE({evaluation:e,onChanged:t,onDelete:r,deleting:n=!1,initialRunId:o=null,onRunSelected:a}){let i=e.id,l=e.agent?.name||"Agent",[s,u]=(0,Ie.useState)(!1),[c,d]=(0,Ie.useState)(null),[f,p]=(0,Ie.useState)([]),[m,g]=(0,Ie.useState)(e.scenario_groups||[]),[h,v]=(0,Ie.useState)(e.latest_run?[e.latest_run]:[]),[y,b]=(0,Ie.useState)(null),[x,S]=(0,Ie.useState)(e.latest_run?.id??null),[w,T]=(0,Ie.useState)({}),[k,A]=(0,Ie.useState)((e.compare_models||[]).join(", ")),[M,H]=(0,Ie.useState)(null),[F,X]=(0,Ie.useState)(!1),[P,Y]=(0,Ie.useState)(!1),[C,_]=(0,Ie.useState)(""),[z,D]=(0,Ie.useState)(null),[E,j]=(0,Ie.useState)(null),[R,U]=(0,Ie.useState)(!1),[L,q]=(0,Ie.useState)(null),[ae,ce]=(0,Ie.useState)(0),ze=(0,Ie.useCallback)(async()=>{let ge=await fetch(`/api/evaluations/${i}/scenarios`);if(!ge.ok)return;let Ye=await ge.json();p(Ye.scenarios||[]),g(Ye.groups||[])},[i]),oe=(0,Ie.useCallback)(async()=>{try{let ge=await fetch(`/api/evaluations/${i}`);if(!ge.ok)return d(`Could not load this suite (HTTP ${ge.status})`),null;let zt=(await ge.json()).evaluation||{};return p(zt.scenarios||[]),g(zt.scenario_groups||[]),v(zt.runs||[]),b(Number.isFinite(zt.run_count)?zt.run_count:null),d(null),zt}catch(ge){return d(`Could not load this suite: ${ge.message}`),null}finally{u(!0)}},[i]),Ee=(0,Ie.useCallback)(async ge=>{if(!ge)return null;let Ye=await fetch(`/api/evaluations/${i}/runs/${ge}`);if(!Ye.ok)return null;let qt=(await Ye.json()).run;return qt?(T(ar=>({...ar,[qt.id]:qt})),v(ar=>ar.map(_n=>_n.id===qt.id?{..._n,...nce(qt)}:_n)),qt):null},[i]);(0,Ie.useEffect)(()=>{let ge=!1;return(async()=>{let Ye=await oe();if(ge)return;let zt=Ye?.runs?.[0]?.id??null,qt=o&&Ye?.runs?.some(ar=>ar.id===o)?o:null;S(ar=>qt||(ar&&Ye?.runs?.some(_n=>_n.id===ar)?ar:zt)),(qt||zt)&&Ee(qt||zt)})(),()=>{ge=!0}},[oe,Ee]);let V=e.latest_run?.id??null;(0,Ie.useEffect)(()=>{!V||h.some(ge=>ge.id===V)||oe()},[V,h,oe]);let I=w[x]||h.find(ge=>ge.id===x)||null,N=h[0]||null,O=hc(I)?I.id:hc(N)?N.id:null;(0,Ie.useEffect)(()=>{if(!O)return;let ge=!1,Ye=setTimeout(async()=>{let zt=null;try{zt=await Ee(O)}catch{zt=null}if(!ge){if(zt&&!hc(zt)){await oe(),t?.();return}ce(qt=>qt+1)}},3e3);return()=>{ge=!0,clearTimeout(Ye)}},[O,ae,Ee,oe,t]);let Z=k.split(",").map(ge=>ge.trim()).filter(Boolean),B=async ge=>{X(!0),H(null);try{let Ye=await fetch(`/api/evaluations/${i}/run`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...ge,models:Z})}),zt=await Ye.json().catch(()=>({}));if(!Ye.ok)throw new Error((zt.errors||[zt.error]).filter(Boolean).join(", ")||"Run failed to start");let qt=zt.run;v(ar=>[qt,...ar.filter(_n=>_n.id!==qt.id)]),b(ar=>ar==null?null:ar+1),T(ar=>({...ar,[qt.id]:{...qt,results:[]}})),S(qt.id),q(null),t?.()}catch(Ye){H(Ye.message)}finally{X(!1)}},we=ge=>{S(ge),q(null),w[ge]||Ee(ge)};(0,Ie.useEffect)(()=>{!o||o===x||!h.some(ge=>ge.id===o)||we(o)},[o]);let ee=async ge=>{ge.id&&(await fetch(`/api/evaluations/${i}/scenarios/${ge.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({scenario:{enabled:ge.enabled===!1}})}),await ze())},ue=async()=>{D(null);let ge=await fetch(`/api/evaluations/${i}/scenarios`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({scenarios_text:C})}),Ye=await ge.json().catch(()=>({}));if(!ge.ok){D((Ye.errors||[Ye.error]).filter(Boolean).join(", ")||"Could not save scenarios");return}p(Ye.scenarios||[]),g(Ye.groups||[]),Y(!1),t?.()},W=I,xe=(0,Ie.useMemo)(()=>(W?.results||[]).filter(ge=>ge&&ge.scenario_key),[W]),De=(0,Ie.useMemo)(()=>wg(W,xe,e),[W,xe,e]),Ge=(0,Ie.useMemo)(()=>xe.reduce((ge,Ye)=>((ge[Ye.scenario_key]||={})[Sg(W,Ye)]=Ye,ge),{}),[xe,W]),it=(0,Ie.useMemo)(()=>new Set(FE(W,f)),[W,f]),zn=hc(W),$o=sp(W,De,f),Fo=oF(W,xe,De,f),Uo=(0,Ie.useCallback)(ge=>it.has(ge.key)||!!Ge[ge.key],[it,Ge]),zr=(0,Ie.useMemo)(()=>H$(f,Ge),[f,Ge]),wc=ge=>De.some(Ye=>{let zt=Ge[ge.key]?.[Ye];return yc(zt)&&!zs(zt)}),Fs=zr.filter(ge=>!E||(ge.group||"")===E).filter(ge=>!R||wc(ge)),Us=h.findIndex(ge=>ge.id===W?.id),zg=gg(h,y),Lg=Us>=0?zg-Us:null,Sc=new Set(zr.filter(Uo).map(ge=>ge.group).filter(Boolean)).size,Fw=xe.filter(yc).length,Uw=$o*Math.max(De.length,1),bl=new Set(xe.filter(ge=>yc(ge)&&!zs(ge)).map(ge=>ge.scenario_key)).size,Ws=W?.scores?._verdict||null,Ww=Object.prototype.hasOwnProperty.call(W?.scores||{},"_judge_label")?W.scores._judge_label||"rules":Ws?.judge&&Ws.judge!=="pass rate"?Ws.judge:e.judge_model||"rules",mp=(0,Ie.useMemo)(()=>W?iF(W,xe):[],[W,xe]),Hw=(0,Ie.useCallback)(ge=>{let Ye=Array.isArray(ge)?ge[0]:ge;Ye&&(j(null),U(!1),q(Ye),requestAnimationFrame(()=>{document.querySelector(`[data-scenario-key="${CSS.escape(Ye)}"]`)?.scrollIntoView({behavior:"smooth",block:"center"})}))},[]),vp=Object.keys(W?.scores||{}).filter(ge=>!ge.startsWith("_")),Bg=(0,Ie.useCallback)(ge=>{let Ye=ge.id===W?.id?xe:[],zt=wg(ge,Ye,e),qt=sp(ge,zt,f);return zt.map(ar=>({label:ar,short:Bo(ar).short,...UE(ge,ar,Ye,qt)}))},[W,xe,e,f]),$g=(0,Ie.useCallback)((ge,Ye,zt)=>{if(!Ye||Ye.status!=="complete"||ge.status!=="complete")return yg(ge,Ye,{olderNumber:zt});let qt=wg(ge,ge.id===W?.id?xe:[],e),ar=wg(Ye,[],e),_n=sp(Ye,ar,f)===sp(ge,qt,f)&&ar.length===qt.length;return yg(ge,Ye,{olderNumber:zt,comparable:_n})},[W,xe,e,f]),gp=s?f.length:e.scenario_count??0,Fg=s?f.filter(ge=>ge.enabled!==!1&&(!E||(ge.group||"")===E)).length:gp,Vw=`Run ${At(Fg,"scenario")}${Z.length?` \xD7 ${At(Z.length,"model")}`:""}`,Kw=W?[Us>0?`Viewing run #${Lg} (latest is #${zg})`:`Run #${Lg??"?"} \xB7 ${ci(W.completed_at||W.created_at)}`,l,`${At($o,"scenario")}${Sc?` in ${At(Sc,"group")}`:""} \xD7 ${At(De.length,"model")}`,W.status==="failed"?"failed":`${Fo.passed}/${Fo.total} passed`].join(" \xB7 "):`${l} \xB7 ${At(gp,"scenario")}${m.length?` in ${At(m.length,"group")}`:""} \xB7 ${c?"not loaded":s?"no runs yet":"loading\u2026"}`,Ug=W&&W.status==="complete"?`/evaluations/${i}/runs/${W.id}/report`:null,qw=[...new Set([...m,...zr.map(ge=>ge.group).filter(Boolean)])],Gw=[{label:`All ${zr.length||gp}`,value:null}].concat(qw.map(ge=>({label:s?`${ge} ${zr.filter(Ye=>Ye.group===ge).length}`:ge,value:ge}))),Ac=zr.length===0,Yw=R?"[+] nothing failed in this group":"[ ] no scenarios";return Ie.default.createElement("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:16},"data-testid":"scenario-suite-panel"},Ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},Ie.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-secondary)"}},Kw),zn&&Ie.default.createElement("span",{style:{fontFamily:fe,fontSize:11,color:"var(--color-text-muted)"},"data-testid":"suite-run-progress"},`running \xB7 ${Fw} of ${Uw} results in`),Ie.default.createElement("span",{style:{marginLeft:"auto",display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"}},Ie.default.createElement(mr,{size:"sm",onClick:()=>{_(rce(f)),D(null),Y(!P)}},P?"Cancel":"Edit scenarios"),Ie.default.createElement("input",{type:"text",value:k,onChange:ge=>A(ge.target.value),placeholder:"models, e.g. gpt-5-mini, ollama/qwen3:8b",style:{...fF,width:250},title:"Comma-separated. Prefix with a provider (ollama/qwen3:8b) when the name alone is ambiguous; blank runs the agent's own model."}),Ie.default.createElement(mr,{variant:"primary",size:"sm",disabled:F||!s||Fg===0,onClick:()=>B(E?{group:E}:{}),testId:"suite-run-button"},F?"Starting\u2026":Vw))),(c||M||W?.status==="failed")&&Ie.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)",background:"var(--color-error-soft)",borderRadius:8,padding:"8px 12px"}},c||M||`Run failed: ${W.error_message||"unknown error"}`),P&&Ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:8}},Ie.default.createElement("textarea",{value:C,onChange:ge=>_(ge.target.value),rows:Math.min(Math.max(f.length+4,6),24),style:{...fF,width:"100%",boxSizing:"border-box",lineHeight:"18px"}}),Ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12,fontSize:12,color:"var(--color-text-muted)",flexWrap:"wrap"}},Ie.default.createElement("span",{style:{flex:1,minWidth:240}},"One message per line. ",Ie.default.createElement("code",{style:{fontFamily:fe}},"# Heading")," starts a group; ",Ie.default.createElement("code",{style:{fontFamily:fe}},"| tools: a, b"),", ",Ie.default.createElement("code",{style:{fontFamily:fe}},"| contains: x"),", ",Ie.default.createElement("code",{style:{fontFamily:fe}},"| not_contains: y")," set expectations. Keep a scenario's ",Ie.default.createElement("code",{style:{fontFamily:fe}},"key")," to keep its history."),Ie.default.createElement(mr,{variant:"primary",size:"sm",onClick:ue},"Save scenarios")),z&&Ie.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)"}},z)),Ie.default.createElement(hg,{runs:h,runCount:y,evaluation:e,agentName:l,selectedId:W?.id??null,onOpen:ge=>{we(ge.id),a?.(ge.id)},barsFor:Bg,deltaFor:$g}),Ie.default.createElement(sF,{run:W,columns:W?De:[],results:xe,scenarioCount:$o,judgedBy:Ww,verdict:Ws}),W&&W.status!=="failed"&&Ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10}},Ie.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:10}},Ie.default.createElement(et,null,"What to fix"),Ie.default.createElement("span",{style:{fontFamily:fe,fontSize:11,color:"var(--color-text-muted)"}},`${At(mp.length,"item")} \xB7 ${At(Math.max(Fo.total-Fo.passed,0),"fault")} across ${At(bl,"scenario")}`)),mp.length>0?Ie.default.createElement(uF,{items:mp,columns:De,agentName:l,onNavigate:Is,onOpenScenario:Hw}):Ie.default.createElement(An,{style:{border:"1px solid var(--color-border-light)",borderRadius:10,padding:"14px 12px"}},zn?"[ ] scoring\u2026":"[+] nothing to fix")),Ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10}},Ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},Ie.default.createElement(et,{style:{marginRight:4}},"Scenarios"),Gw.map(ge=>Ie.default.createElement(fo,{key:ge.label,selected:E===ge.value,onClick:()=>j(ge.value)},ge.label)),Ie.default.createElement(fo,{square:!0,mono:!0,selected:R,onClick:()=>U(!R),style:{marginLeft:"auto",background:"transparent"},title:"Hide scenarios that passed on every model"},R?"[x] failed only":"[ ] failed only")),Ac&&c?Ie.default.createElement(An,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"[!] suite not loaded"):Ac&&!s?Ie.default.createElement(An,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"loading\u2026"):Ac?Ie.default.createElement(An,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"No scenarios yet \u2014 paste some with \u201CEdit scenarios\u201D."):Ie.default.createElement(cF,{rows:Fs,columns:W?De:[],run:W,resultsByKey:Ge,runKeys:it,running:zn,openKey:L,onToggleRow:ge=>q(L===ge?null:ge),emptyLabel:Yw,renderDetail:ge=>Ie.default.createElement(dF,{scenario:ge,run:W,columns:W?De:[],resultsByKey:Ge,running:zn,inRun:Uo(ge),canMutate:!ge.orphan,onRerun:Ye=>B({keys:[Ye.key]}),onToggleEnabled:ee})})),Ie.default.createElement(gc,{evaluation:e,run:W,keys:vp.length?vp:null,spend:vl(W),reportPath:Ug,onDelete:r,deleting:n,deleteLabel:"Delete suite"}))}var Ue=te(re());var HE=[{type:"response_present",key:"response_present",label:"Response present",config:{}},{type:"min_length",key:"response_length",label:"Response length \u2265 40 chars",config:{chars:40}},{type:"max_latency_ms",key:"latency",label:"Latency \u2264 5s",config:{ms:5e3}},{type:"token_budget",key:"token_budget",label:"Output \u2264 1000 tokens",config:{output_tokens:1e3}}],pF=[{type:"trace_error_rate",key:"trace_error_rate",label:"Trace error rate \u2264 5% (telemetry, 7d)",config:{max_error_rate:5,window_hours:168}},{type:"trace_latency",key:"trace_latency",label:"Avg trace latency \u2264 5s (telemetry, 7d)",config:{max_avg_ms:5e3,window_hours:168}}],hl={padding:"8px 12px",borderRadius:8,fontSize:13,fontFamily:"inherit",boxSizing:"border-box",background:"var(--color-card)",border:"1px solid var(--color-border-strong)",color:"var(--color-text-primary)"};function VE({agents:e,agentId:t,onCreated:r,onCancel:n}){let[o,a]=(0,Ue.useState)({agent_id:t?String(t):"",name:"",sample_size:20,criteria:HE.map(g=>g.key),containsPattern:"",llmJudgePrompt:"",judgeKind:"manual",judgeModel:"",compareModels:"",scenariosText:""}),[i,l]=(0,Ue.useState)(null),[s,u]=(0,Ue.useState)(!1),c=g=>a(h=>({...h,...g})),d=(g,h)=>c({criteria:h?[...o.criteria,g]:o.criteria.filter(v=>v!==g)}),f=()=>{let g=[...HE,...pF].filter(h=>o.criteria.includes(h.key)).map(({key:h,type:v,config:y})=>({key:h,type:v,config:y}));return o.containsPattern.trim()&&g.push({key:"contains",type:"contains",config:{pattern:o.containsPattern.trim()}}),o.llmJudgePrompt.trim()&&g.push({key:"quality",type:"llm_judge",config:{prompt:o.llmJudgePrompt.trim()}}),g},p=async g=>{g.preventDefault(),u(!0),l(null);try{let h=await fetch("/api/evaluations",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({evaluation:{agent_id:o.agent_id,name:o.name,sample_size:o.sample_size,judge_kind:o.judgeKind==="judge_defined"?"judge_defined":o.llmJudgePrompt.trim()?"llm":"rules",judge_model:o.judgeModel.trim()||void 0,compare_models:o.compareModels.split(",").map(y=>y.trim()).filter(Boolean),criteria:o.judgeKind==="judge_defined"?[]:f(),scenarios_text:o.scenariosText.trim()||void 0}})}),v=await h.json().catch(()=>({}));if(!h.ok)throw new Error((v.errors||[v.error]).filter(Boolean).join(", ")||`Failed to create evaluation (HTTP ${h.status})`);r?.(v.evaluation)}catch(h){l(h.message)}finally{u(!1)}},m=g=>Ue.default.createElement("label",{key:g.key,style:{display:"flex",alignItems:"center",gap:8,fontSize:13,color:"var(--color-text-primary)"}},Ue.default.createElement("input",{type:"checkbox",checked:o.criteria.includes(g.key),onChange:h=>d(g.key,h.target.checked),style:{accentColor:"var(--color-accent-ui)"}}),g.label);return Ue.default.createElement(ht,{testId:"new-evaluation-form"},Ue.default.createElement("form",{onSubmit:p,style:{display:"flex",flexDirection:"column",gap:16}},Ue.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Agent"),Ue.default.createElement("select",{required:!0,disabled:!!t,value:o.agent_id,onChange:g=>c({agent_id:g.target.value}),style:{...hl,width:"100%",opacity:t?.7:1}},!t&&Ue.default.createElement("option",{value:""},"Select agent\u2026"),e.map(g=>Ue.default.createElement("option",{key:g.id,value:g.id},g.name)))),Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Name"),Ue.default.createElement("input",{required:!0,type:"text",value:o.name,onChange:g=>c({name:g.target.value}),placeholder:"Response Quality",style:{...hl,width:"100%"}})),Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Sample size"),Ue.default.createElement("input",{type:"number",min:"1",max:"100",value:o.sample_size,onChange:g=>c({sample_size:g.target.value}),style:{...hl,width:"100%",fontFamily:fe}}))),Ue.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"KPI definition"),Ue.default.createElement("select",{value:o.judgeKind,onChange:g=>c({judgeKind:g.target.value}),style:{...hl,width:"100%"}},Ue.default.createElement("option",{value:"manual"},"Manual criteria"),Ue.default.createElement("option",{value:"judge_defined"},"Judge defines KPIs from agent goals"))),Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Judge model (optional)"),Ue.default.createElement("input",{type:"text",value:o.judgeModel,onChange:g=>c({judgeModel:g.target.value}),placeholder:"e.g. claude-opus-5",style:{...hl,width:"100%",fontFamily:fe,fontSize:12}})),Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Compare models (optional, comma-separated)"),Ue.default.createElement("input",{type:"text",value:o.compareModels,onChange:g=>c({compareModels:g.target.value}),placeholder:"e.g. claude-haiku-4-5, qwen3:8b",style:{...hl,width:"100%",fontFamily:fe,fontSize:12}}))),Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Scenarios (optional) \u2014 paste user messages to replay, one per line"),Ue.default.createElement("textarea",{value:o.scenariosText,onChange:g=>c({scenariosText:g.target.value}),rows:o.scenariosText?8:3,placeholder:`# Find records Which catalog items are available? | tools: find_records # Change history -Who updated the description for the sample notebook?`,style:{...hl,width:"100%",fontFamily:ce,fontSize:12,lineHeight:"18px"}}),Ue.default.createElement("p",{style:{margin:"6px 0 0",fontSize:12,color:"var(--color-text-muted)",textWrap:"pretty"}},"With scenarios, each run replays every message through the agent \u2014 once per model in \u201CCompare models\u201D \u2014 and reports which tasks it completes, what faults it hits, and how to fix them. ",Ue.default.createElement("code",{style:{fontFamily:ce}},"# Heading")," lines group related tasks so they can be run together; ",Ue.default.createElement("code",{style:{fontFamily:ce}},"| tools: a, b")," names the tool a task should call.")),o.judgeKind==="judge_defined"?Ue.default.createElement("p",{style:{margin:0,fontSize:12,color:"var(--color-text-secondary)"}},"On the first run the judge reads the agent's instructions and recent interactions, defines 3\u20136 KPIs, then scores samples against them. KPIs persist so later runs (and model cohorts) stay comparable."):Ue.default.createElement(Ue.default.Fragment,null,Ue.default.createElement("div",null,Ue.default.createElement(et,{style:{display:"block",marginBottom:8}},"Rule-based criteria (sampled generations)"),Ue.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:12}},UE.map(m))),Ue.default.createElement("div",null,Ue.default.createElement(et,{style:{display:"block",marginBottom:8}},"Telemetry criteria (trace aggregates)"),Ue.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:12}},dF.map(m))),Ue.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Must contain (optional pattern)"),Ue.default.createElement("input",{type:"text",value:o.containsPattern,onChange:g=>c({containsPattern:g.target.value}),placeholder:"e.g. password reset",style:{...hl,width:"100%"}})),Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"LLM judge criterion (optional, needs provider credentials)"),Ue.default.createElement("input",{type:"text",value:o.llmJudgePrompt,onChange:g=>c({llmJudgePrompt:g.target.value}),placeholder:"e.g. Is the answer helpful and accurate?",style:{...hl,width:"100%"}})))),i&&Ue.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)"}},i),Ue.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},Ue.default.createElement(mr,{variant:"primary",type:"submit",disabled:s},s?o.scenariosText.trim()?"Creating & starting run\u2026":"Creating & running\u2026":"Create & Run"),n&&Ue.default.createElement(mr,{onClick:n},"Cancel"))))}var ye=te(re());var rce={background:"none",border:"none",padding:0,cursor:"pointer",fontFamily:ce,fontSize:12,color:"var(--color-info)"},Xr=(e=11,t="var(--color-text-muted)",r={})=>({fontFamily:ce,fontSize:e,color:t,...r});function nce({stats:e}){if(!e)return ye.default.createElement("span",{style:Xr()},"\u2014");if(e.skipped)return ye.default.createElement("div",null,ye.default.createElement("span",{style:Xr(12,"var(--color-text-cell)",{fontWeight:700})},"[-] skipped"),ye.default.createElement("div",{style:{...Xr(),marginTop:2,textWrap:"pretty"},title:e.reason},sw(e.reason,90)));let t=Number(e.score),r=ml[t>=.85?"success":t>=.7?"warning":"error"].strong,n=[];if(e.total!=null&&n.push(`${e.passed}/${e.total} passed`),e.total>1&&e.min!=null&&n.push(`min ${wa(e.min)} \xB7 max ${wa(e.max)}`),e.source==="telemetry"){n.push(`${e.traces} traces \xB7 ${e.window_hours}h`);let o=e.observed||{};o.error_rate!=null&&n.push(`observed ${o.error_rate}% errors (${o.errors})`),o.avg_duration_ms!=null&&n.push(`observed avg ${kn(o.avg_duration_ms)}`)}return ye.default.createElement("div",null,ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6}},ye.default.createElement("span",{style:Xr(12,r,{fontWeight:700})},t>=.7?"[+]":"[!]"," ",wa(t)),e.source==="telemetry"&&ye.default.createElement("span",{"data-testid":"score-source-telemetry",title:"Aggregate over the agent's telemetry traces",style:Xr(10,"var(--color-text-muted)",{textTransform:"uppercase",letterSpacing:"0.04em"})},"telemetry")),ye.default.createElement("div",{style:{...Xr(),marginTop:2,textWrap:"pretty"}},n.join(" \xB7 ")))}function oce({item:e}){return ye.default.createElement("div",{"data-testid":"fix-item",style:{border:"1px solid var(--color-border)",borderRadius:10,padding:"12px 14px",display:"flex",flexDirection:"column",gap:10,minWidth:0}},ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ye.default.createElement(Fa,{kind:"fault"}),ye.default.createElement(Tt,{tone:"error"},e.label),ye.default.createElement("span",{style:Xr()},e.scope)),ye.default.createElement("div",{style:{fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",textWrap:"pretty"}},e.text),e.chips?.length>0&&ye.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:6}},ye.default.createElement(et,{size:10,color:"var(--color-text-muted)"},e.chipsLabel),ye.default.createElement("div",{style:{display:"flex",gap:6,flexWrap:"wrap"}},e.chips.map(t=>ye.default.createElement("span",{key:t,style:{fontFamily:ce,fontSize:11,padding:"3px 8px",borderRadius:6,border:"1px solid var(--color-border)",color:"var(--color-text-primary)",fontWeight:600}},t)))),e.details?.length>0&&ye.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:3}},e.details.map(t=>ye.default.createElement("span",{key:t,style:Xr(11,"var(--color-text-cell)",{textWrap:"pretty"})},t))),e.action&&ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:"auto"}},e.action.path&&ye.default.createElement(mr,{size:"sm",onClick:()=>Ds(e.action.path)},e.action.label),e.action.hint&&ye.default.createElement("span",{style:{...Xr(),whiteSpace:"nowrap"}},e.action.hint)))}function HE({evaluation:e,runs:t=[],runCount:r=null,runId:n,loading:o=!1,running:a=!1,onSelectRun:i,onRun:l,onBack:s,onOpenEvaluation:u,onDelete:c,deleting:d=!1}){let[f,p]=(0,ye.useState)("all"),[m,g]=(0,ye.useState)(!1),h=(L,K)=>ye.default.createElement("button",{type:"button",onClick:K,style:rce},L),v=t.findIndex(L=>L.id===n),y=v>=0?t[v]:t[0],b=y?ip(y,Math.max(v,0),t,r):null,x=ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},h("Evaluations",s),ye.default.createElement("span",{style:Xr(12)},"/"),h(e?.name||"Evaluation",u),ye.default.createElement("span",{style:Xr(12)},"/"),ye.default.createElement("span",{style:Xr(12,"var(--color-text-primary)",{fontWeight:700})},y?`Run #${b}`:"Runs"));if(!e)return ye.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:12}},ye.default.createElement("div",null,h("Evaluations",s)),ye.default.createElement(ht,null,ye.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-muted)"}},"This evaluation is not in the list any more.")));if(!y)return ye.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:12}},x,o?ye.default.createElement("div",{className:"flex items-center justify-center h-64"},ye.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2",style:{borderBottomColor:"var(--color-accent-ui)"}})):ye.default.createElement(ht,null,ye.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-muted)"}},"No runs recorded yet.")));let S=TE(y),w=S.length?S:[null],T=dw(y),k=L=>T.find(K=>K.label===L)||(L==null?T[0]:null),A=y.scores?._verdict,M=Array.isArray(y.scores?._missing_models)?y.scores._missing_models:[],H=ap(y).map(([L,K])=>({key:L,value:K,criterion:pg(e,L)})),F=L=>H.filter(K=>di(K.criterion)===L).length,X=_E.filter(L=>F(L.id)>0),P=L=>w.some(K=>{let ae=mc(L.value,K);return ae&&(ae.skipped||ae.score!=null&&ae.score<.7)}),Y=H.filter(L=>(f==="all"||di(L.criterion)===f)&&(!m||P(L))),C=_E.map(L=>({...L,rows:Y.filter(K=>di(K.criterion)===L.id)})).filter(L=>L.rows.length),_=pw(e,{...y,number:b}),z=vl(y),D=ci(y.completed_at||y.created_at),E=y.status==="complete"&&y.samples_evaluated?` \xB7 ${y.samples_passed||0}/${y.samples_evaluated} passed`:"",j={fontFamily:ce,fontSize:10,fontWeight:600,letterSpacing:"0.05em",textTransform:"uppercase",color:"var(--color-text-muted)",padding:"8px 12px",textAlign:"left",verticalAlign:"top",whiteSpace:"nowrap"},R={padding:"10px 12px",verticalAlign:"top"},U={padding:"7px 12px",verticalAlign:"middle"};return ye.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16},"data-testid":"evaluation-run-detail"},x,ye.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:12,flexWrap:"wrap"}},ye.default.createElement("div",{style:{minWidth:0}},ye.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},`Run #${b}`),ye.default.createElement("p",{style:{margin:"4px 0 0",fontSize:14,color:"var(--color-text-secondary)",textWrap:"pretty"}},`${e.name} \xB7 ${D} \xB7 @${e.agent?.name||"agent"} \xB7 ${pc(e,y)}${E}`)),ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},t.map((L,K)=>ye.default.createElement(fo,{key:L.id,square:!0,mono:!0,selected:L.id===y.id,onClick:()=>i?.(L),title:`${L.status} \xB7 ${ci(L.completed_at||L.created_at)}`},`#${ip(L,K,t,r)}`)),ye.default.createElement(mr,{variant:"primary",disabled:a,onClick:l,testId:"run-again-button"},a?"Running\u2026":"Run again"))),ye.default.createElement(DE,{spend:z}),y.status==="failed"?ye.default.createElement(ht,{"data-testid":"run-failed",style:{borderColor:"var(--color-error)"},padding:"14px 16px"},ye.default.createElement("span",{style:Xr(12,"var(--color-error)",{fontWeight:700})},"[!] run failed"),ye.default.createElement("div",{style:{fontSize:13,color:"var(--color-text-cell)",marginTop:6,lineHeight:"19px"}},y.error_message)):y.status!=="complete"?ye.default.createElement(ht,{"data-testid":"run-pending",padding:"14px 16px"},ye.default.createElement("span",{style:Xr(12,"var(--color-warning-text)",{fontWeight:700})},`[~] ${y.status}`),ye.default.createElement("div",{style:{fontSize:13,color:"var(--color-text-cell)",marginTop:6}},"Scores appear once the run completes.")):ye.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(260px, 1fr))",gap:12}},w.map(L=>{let K=X$(y,L),ae=k(L),de=ae?.samples??(L==null?y.samples_evaluated:null),ze=ae?.passed??(L==null?y.samples_passed:null),oe=[];return K.below>0&&oe.push({tone:"error",text:`below pass mark \xD7${K.below}`}),K.skipped>0&&oe.push({tone:"warning",text:`skipped \xD7${K.skipped}`}),ye.default.createElement(yg,{key:L||"all",label:L,short:L?Bo(L).short:"all samples",provider:ae?.provider||(L?Bo(L).provider:null)||null,winner:!!A?.winner&&A.winner===L,passed:ze,total:de,avgScore:K.avg,criteria:{cleared:K.cleared,scored:K.scored},latencyMs:ae?.avg_duration_ms,inputTokens:ae?.input_tokens,outputTokens:ae?.output_tokens,cost:ae?.cost,perInteraction:ae?.cost!=null&&de?ae.cost/de:null,unit:"interaction",badges:oe})})),(A||M.length>0)&&ye.default.createElement(ht,{padding:"12px 16px",style:{display:"flex",flexDirection:"column",gap:6},"data-testid":"run-verdict"},A&&ye.default.createElement(ye.default.Fragment,null,ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},ye.default.createElement(et,null,"Verdict"),A.judge&&ye.default.createElement("span",{style:Xr()},`judged by ${A.judge}`)),ye.default.createElement("div",{style:{fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",textWrap:"pretty"}},ye.default.createElement("strong",{style:{color:"var(--color-text-primary)",fontFamily:ce,fontSize:12}},A.winner),A.rationale?` \xB7 ${A.rationale}`:"")),M.length>0&&ye.default.createElement("span",{style:Xr(11,"var(--color-warning-text)",{fontWeight:600})},`[!] no generations recorded under ${M.join(", ")}`)),ye.default.createElement(ht,{padding:0,style:{overflow:"hidden"},testId:"criteria-matrix"},ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"10px 14px",flexWrap:"wrap"}},ye.default.createElement(et,{style:{marginRight:4}},"Criteria"),ye.default.createElement(fo,{selected:f==="all",onClick:()=>p("all")},`All ${H.length}`),X.map(L=>ye.default.createElement(fo,{key:L.id,selected:f===L.id,onClick:()=>p(L.id)},`${L.label} ${F(L.id)}`)),ye.default.createElement(fo,{square:!0,mono:!0,selected:m,onClick:()=>g(L=>!L),style:{marginLeft:"auto",background:"transparent"},title:"Hide criteria every model cleared"},m?"[x] failed only":"[ ] failed only")),ye.default.createElement("div",{style:{overflowX:"auto"}},ye.default.createElement("table",{style:{width:"100%",borderCollapse:"collapse"}},ye.default.createElement("thead",null,ye.default.createElement("tr",{style:{background:"var(--color-muted)"}},ye.default.createElement("th",{style:{...j,width:"34%"}},"Criterion"),ye.default.createElement("th",{style:j},"Expects"),w.map(L=>ye.default.createElement("th",{key:L||"score",style:j},L?ye.default.createElement(ye.default.Fragment,null,ye.default.createElement("span",{style:{color:"var(--color-text-primary)",textTransform:"none",letterSpacing:0,fontSize:12}},Bo(L).short),(k(L)?.provider||Bo(L).provider)&&ye.default.createElement("span",{style:{display:"block",fontWeight:400,textTransform:"none",letterSpacing:0}},k(L)?.provider||Bo(L).provider)):"Score")))),ye.default.createElement("tbody",null,C.map(L=>ye.default.createElement(ye.default.Fragment,{key:L.id},ye.default.createElement("tr",{style:{background:"var(--color-background)",borderTop:"1px solid var(--color-border-light)"}},ye.default.createElement("td",{style:U},ye.default.createElement("span",{style:{fontWeight:600,fontSize:13,color:"var(--color-text-primary)"}},L.label)),ye.default.createElement("td",{style:U},ye.default.createElement("span",{style:Xr()},`${L.rows.length} ${L.rows.length===1?"criterion":"criteria"}`)),w.map(K=>{let ae=L.rows.filter(oe=>{let Ee=mc(oe.value,K);return Ee&&Ee.score!=null}),de=ae.filter(oe=>mc(oe.value,K).score>=.7).length,ze=ae.length&&de===ae.length?"var(--color-success-text)":de===0&&ae.length?"var(--color-error-text)":"var(--color-text-cell)";return ye.default.createElement("td",{key:K||"score",style:U},ye.default.createElement("span",{style:Xr(11,ze,{fontWeight:600})},`${de}/${ae.length} passed`))})),L.rows.map(K=>ye.default.createElement("tr",{key:K.key,"data-testid":"criterion-row",style:{borderTop:"1px solid var(--color-border-light)"}},ye.default.createElement("td",{style:R},ye.default.createElement("div",{style:Xr()},K.key),ye.default.createElement("div",{style:{fontSize:13,color:"var(--color-text-primary)"}},uw(K.criterion))),ye.default.createElement("td",{style:R},ye.default.createElement("span",{style:{fontFamily:ce,fontSize:11,padding:"2px 6px",border:"1px solid var(--color-border)",borderRadius:4,color:"var(--color-text-cell)",whiteSpace:"nowrap"},title:op(K.criterion)},sw(op(K.criterion),40))),w.map(ae=>ye.default.createElement("td",{key:ae||"score",style:R},ye.default.createElement(nce,{stats:mc(K.value,ae)}))))))),C.length===0&&ye.default.createElement("tr",{style:{borderTop:"1px solid var(--color-border-light)"}},ye.default.createElement("td",{colSpan:2+w.length,style:{padding:"16px 14px",fontSize:13,color:"var(--color-text-muted)"}},H.length?"Nothing failed under this filter.":"This run recorded no criterion scores.")))))),ye.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10}},ye.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:10}},ye.default.createElement(et,null,"What to fix"),ye.default.createElement("span",{style:Xr()},_.length?At(_.length,"item"):"nothing")),_.length?ye.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:12}},_.map(L=>ye.default.createElement(oce,{key:L.kind,item:L}))):ye.default.createElement(An,{style:{border:"1px solid var(--color-border-light)",borderRadius:10,padding:"14px 12px",color:"var(--color-success-text)"}},`[+] Every criterion cleared the ${.7.toFixed(2)} pass mark and nothing was skipped.`)),ye.default.createElement(vc,{evaluation:e,run:y,spend:z,onDelete:c,deleting:d}))}var fF=()=>document.querySelector('meta[name="csrf-token"]')?.content;var pF=()=>{let e=dl().match(/^\/evaluations\/(\d+)\/runs\/(\d+)\/report/);if(e)return{evaluationId:e[1],runId:e[2]};let t=kE(window.location.search);return t?.runId?t:null},hw=()=>{let e=dl().match(/^\/evaluations\/(\d+)(?:\/runs\/(\d+))?\/?$/);return e?{evaluationId:Number(e[1]),runId:e[2]?Number(e[2]):null}:null},mF=()=>kE(window.location.search)?.evaluationId||(hw()?String(hw().evaluationId):null),yw=(e=11,t="var(--color-text-muted)")=>({fontFamily:ce,fontSize:e,color:t}),ace=e=>{let t=e.latest_run;return t?e.scenario_suite?(t.scores?._recommendations||[]).length+(t.status==="failed"?1:0):pw(e,t).length:0};function Sg({embedded:e=!1,agentId:t=null}){let{darkMode:r}=Nt(),[n,o]=(0,je.useState)(()=>e?null:pF()),a=(0,je.useRef)(null),[i,l]=(0,je.useState)(0),[s,u]=(0,je.useState)(null);(0,je.useEffect)(()=>{let W=a.current?.contentDocument?.body;if(!W)return;let xe=()=>u(W.scrollHeight);if(xe(),typeof ResizeObserver>"u")return window.addEventListener("resize",xe),()=>window.removeEventListener("resize",xe);let De=new ResizeObserver(xe);return De.observe(W),()=>De.disconnect()},[i,n]),(0,je.useEffect)(()=>u(null),[n]);let[c,d]=(0,je.useState)([]),[f,p]=(0,je.useState)([]),[m,g]=(0,je.useState)(!0),[h,v]=(0,je.useState)(null),[y,b]=(0,je.useState)(null),[x,S]=(0,je.useState)(()=>{if(e)return null;let W=hw();return W?.runId?W:null}),[w,T]=(0,je.useState)(()=>e?null:mF()),[k,A]=(0,je.useState)({}),[M,H]=(0,je.useState)(!1),[F,X]=(0,je.useState)(null),[P,Y]=(0,je.useState)(null);(0,je.useEffect)(()=>{if(e)return;let W=()=>{o(pF());let xe=hw();S(xe?.runId?xe:null);let De=mF();T(De),De&&b(Ge=>new Set([...Ge||[],Number(De)]))};return window.addEventListener("popstate",W),window.addEventListener("dashboard:navigate",W),()=>{window.removeEventListener("popstate",W),window.removeEventListener("dashboard:navigate",W)}},[e]);let C=(0,je.useCallback)(async()=>{try{let W=await fetch(`/api/evaluations${t?`?agent_id=${encodeURIComponent(t)}`:""}`);if(!W.ok)throw new Error(`Request failed (${W.status})`);let De=(await W.json()).evaluations||[],Ge=null;try{De=await W$(De,w,fetch)}catch(it){Ge=it.message}d(De),b(it=>{if(it)return it;let zn=w?De.find($o=>String($o.id)===w):De.find($o=>$o.scenario_suite)||De[0];return new Set(zn?[zn.id]:[])}),v(Ge)}catch(W){v(W.message)}finally{g(!1)}},[t,w]),_=(0,je.useCallback)(async W=>{try{let xe=await fetch(`/api/evaluations/${W}`);if(!xe.ok)throw new Error(`Could not load this evaluation's runs (HTTP ${xe.status})`);let De=await xe.json();A(Ge=>({...Ge,[W]:{runs:De.evaluation?.runs||[],runCount:De.evaluation?.run_count??null}}))}catch(xe){A(De=>({...De,[W]:{runs:null,runCount:null,error:xe.message}})),v(xe.message)}},[]);(0,je.useEffect)(()=>{C(),fetch("/api/agents").then(W=>W.ok?W.json():{agents:[]}).then(W=>p(W.agents||[])).catch(()=>p([]))},[C]),(0,je.useEffect)(()=>{new Set([...y||[],...x?[x.evaluationId]:[]]).forEach(xe=>{let De=c.find(Ge=>Ge.id===xe);De&&!De.scenario_suite&&!k[xe]&&_(xe)})},[y,x,c,k,_]);let z=W=>{!e&&dl()!==W&&aw(W)},D=W=>!!y?.has(W),E=W=>{let xe=!D(W.id);b(De=>{let Ge=new Set(De||[]);return xe?Ge.add(W.id):Ge.delete(W.id),Ge}),z(xe?`/evaluations/${W.id}`:"/evaluations")},j=(W,xe)=>{b(De=>new Set([...De||[],W.id])),S({evaluationId:W.id,runId:xe.id}),z(`/evaluations/${W.id}/runs/${xe.id}`)},R=W=>{S(null),z(W?`/evaluations/${W}`:"/evaluations")},U=async W=>{X(W.id),v(null);try{let xe=await fetch(`/api/evaluations/${W.id}/run`,{method:"POST",headers:{"X-CSRF-Token":fF()}}),De=await xe.json().catch(()=>({}));if(!xe.ok){v((De.errors||[De.error]).filter(Boolean).join(", ")||`Run failed (HTTP ${xe.status})`);return}await Promise.all([C(),_(W.id)]),De.run&&x?.evaluationId===W.id&&j(W,De.run)}finally{X(null)}},L=async W=>{if(window.confirm(`Delete "${W.name}"? Its runs are deleted with it.`)){Y(W.id),v(null);try{let xe=await fetch(`/api/evaluations/${W.id}`,{method:"DELETE",headers:{"X-CSRF-Token":fF()}});xe.ok||xe.status===404?(d(De=>De.filter(Ge=>Ge.id!==W.id)),b(De=>{let Ge=new Set(De||[]);return Ge.delete(W.id),Ge}),x?.evaluationId===W.id&&R(null)):v(`Delete failed (HTTP ${xe.status})`)}finally{Y(null)}}};if(m)return je.default.createElement("div",{className:"flex items-center justify-center h-64"},je.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2",style:{borderBottomColor:"var(--color-accent-ui)"}}));let K=t?c.filter(W=>String(W.agent?.id)===String(t)):c,ae=W=>{let xe=k[W.id];return xe?.runs?{runs:xe.runs,runCount:W.run_count??xe.runCount??null,loaded:!0}:{runs:W.latest_run?[W.latest_run]:[],runCount:W.run_count??null,loaded:!1}};if(n){let W=Re(`/api/evaluations/${n.evaluationId}/runs/${n.runId}/report`),xe=`${W}?theme=${r?"dark":"light"}`;return je.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},je.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,flexWrap:"wrap"}},je.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12}},je.default.createElement(mr,{size:"sm",onClick:()=>{aw("/evaluations"),o(null)}},je.default.createElement("span",{style:{fontFamily:ce}},"<-")," Evaluations"),je.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},"Run report"),je.default.createElement("span",{style:yw(11)},`evaluation ${n.evaluationId} \xB7 run ${n.runId}`)),je.default.createElement("a",{href:W,target:"_blank",rel:"noopener noreferrer",title:"The report is one self-contained page \u2014 save it to export",style:{padding:"6px 12px",borderRadius:8,fontSize:13,fontWeight:500,color:"var(--color-text-cell)",border:"1px solid var(--color-border-strong)",textDecoration:"none"}},"Open standalone ",je.default.createElement("span",{style:{fontFamily:ce}},"->"))),je.default.createElement("iframe",{ref:a,src:xe,title:"Evaluation run report",onLoad:()=>l(De=>De+1),scrolling:"no",style:{width:"100%",borderRadius:12,border:"1px solid var(--color-border)",background:"var(--color-background)",display:"block",height:s?`${s}px`:"calc(100vh - 180px)"}}))}if(x){let W=K.find(xe=>xe.id===x.evaluationId);if(!W||!W.scenario_suite){let{runs:xe,runCount:De,loaded:Ge}=W?ae(W):{runs:[],runCount:null,loaded:!0};return je.default.createElement(HE,{evaluation:W,runs:xe,runCount:De,runId:x.runId,loading:!Ge,running:F===x.evaluationId,onSelectRun:it=>j(W,it),onRun:()=>U(W),onBack:()=>R(null),onOpenEvaluation:()=>R(x.evaluationId),onDelete:W?()=>L(W):void 0,deleting:P===x.evaluationId})}}let ze=K.map(W=>W.latest_run).filter(Boolean).filter(W=>W.status==="complete"),oe=ze.reduce((W,xe)=>W+(xe.samples_evaluated||0),0),Ee=ze.reduce((W,xe)=>W+(xe.samples_passed||0),0),V=oe?Ee/oe:null,I=[...new Set(K.map(W=>W.agent?.name).filter(Boolean))],N=K.reduce((W,xe)=>Math.max(W,EE(xe,xe.latest_run)),0),O=K.map(ace),Z=O.reduce((W,xe)=>W+xe,0),B=O.filter(Boolean).length,we=Q$(ze),ee=K.length?`${At(I.length,"agent")} \xB7 ${N>1?`${N} models compared`:"no model comparisons"}`:"none defined yet",ue=we.agentCost!=null?[`agent ${jr(we.agentCost)} over ${At(we.interactions,"interaction")}`,we.judgeCost!=null?`judge ${jr(we.judgeCost)} offline`:"no judge spend"].join(" \xB7 "):"no priced runs yet";return je.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:20}},je.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:16,flexWrap:"wrap"}},!e&&je.default.createElement("div",{style:{flex:1,minWidth:260}},je.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},"Evaluations"),je.default.createElement("p",{style:{margin:"4px 0 0",fontSize:14,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Score recorded outputs, or paste a list of user messages to replay through the agent under one or more models. Every run is kept.")),je.default.createElement("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:12}},je.default.createElement(mr,{variant:"primary",onClick:()=>H(!M),testId:"new-evaluation-button"},M?"Cancel":"New Evaluation"))),h&&je.default.createElement("div",{style:{padding:"10px 12px",borderRadius:8,fontSize:13,background:"var(--color-error-soft)",color:"var(--color-error-text)"}},"Failed to load evaluations: ",h),M&&je.default.createElement(WE,{agents:f,agentId:t,onCancel:()=>H(!1),onCreated:async W=>{H(!1),await C(),W?.id!=null&&(b(xe=>new Set([...xe||[],W.id])),z(`/evaluations/${W.id}`))}}),je.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(190px, 1fr))",gap:16}},je.default.createElement(tp,{label:"Evaluations",value:K.length,sub:ee,testId:"stat-evaluations"}),je.default.createElement(tp,{label:"Samples scored",value:oe,sub:"latest run of each evaluation",testId:"stat-samples-scored"}),je.default.createElement(tp,{label:"Pass rate",value:V==null?"\u2014":K$(V),valueColor:V==null?"var(--color-text-muted)":ml[fc(V)].strong,sub:V==null?"no completed runs yet":`${Ee} / ${oe} samples passed`,testId:"stat-pass-rate"}),je.default.createElement(tp,{label:"To fix",value:Z,valueColor:Z?"var(--color-error)":void 0,sub:Z?`across ${At(B,"evaluation")}`:"nothing outstanding",testId:"stat-to-fix"}),je.default.createElement(tp,{label:"Cost / interaction",value:yl(we.perInteraction),valueColor:we.perInteraction==null?"var(--color-text-muted)":void 0,sub:ue,testId:"stat-agent-cost"})),je.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},K.map((W,xe)=>{let De=W.latest_run,Ge=D(W.id),it=!!W.scenario_suite,zn=O[xe],$o=(W.criteria||[]).some(zr=>di(zr)==="telemetry"),{runs:Fo,runCount:Uo}=ae(W);return je.default.createElement(ht,{key:W.id,padding:0,testId:"evaluation-card","data-telemetry":$o?"true":"false","data-kind":it?"suite":"sampling","data-open":Ge?"true":"false",style:{overflow:"hidden"}},je.default.createElement("div",{role:"button",tabIndex:0,"aria-expanded":Ge,onClick:()=>E(W),onKeyDown:zr=>{(zr.key==="Enter"||zr.key===" ")&&(zr.preventDefault(),E(W))},className:"hover:bg-[var(--color-hover)]",style:{display:"flex",alignItems:"center",gap:10,rowGap:8,padding:"12px 16px",cursor:"pointer",flexWrap:"wrap"}},je.default.createElement(Fa,{kind:"chevron",open:Ge}),je.default.createElement("span",{style:{width:22,height:22,borderRadius:6,background:"var(--color-muted)",display:"inline-flex",alignItems:"center",justifyContent:"center",fontFamily:ce,fontSize:11,fontWeight:700,color:"var(--color-text-secondary)",flexShrink:0},title:it?"scenario suite":"sampling evaluation"},it?"=":"~"),je.default.createElement("span",{style:{fontSize:15,fontWeight:700,color:"var(--color-text-primary)"}},W.name),je.default.createElement("span",{style:yw(11)},`@${W.agent?.name||"agent"} \xB7 ${pc(W)}`),je.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:12,flexShrink:0}},je.default.createElement("span",{style:yw(11)},ci(De?.completed_at||De?.created_at||W.created_at)),zn>0&&je.default.createElement("span",{style:yw(11,"var(--color-error)")},`${zn} to fix`),je.default.createElement(IE,{run:De,testId:it?"suite-pass-badge":"evaluation-pass-badge"}))),Ge&&je.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)"}},it?je.default.createElement(FE,{evaluation:W,onChanged:C,onDelete:()=>L(W),deleting:P===W.id,initialRunId:x?.evaluationId===W.id?x.runId:null,onRunSelected:zr=>z(`/evaluations/${W.id}/runs/${zr}`)}):je.default.createElement("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:12},"data-testid":"sampling-evaluation-panel"},je.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,flexWrap:"wrap"}},je.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-secondary)"}},Fo.length?tF(Fo,Uo):`@${W.agent?.name||"agent"} \xB7 no runs yet`),je.default.createElement(mr,{variant:"primary",size:"sm",disabled:F===W.id,onClick:zr=>{zr.stopPropagation(),U(W)},testId:"evaluation-run-button"},F===W.id?"Running\u2026":`Run ${pc(W)}`)),je.default.createElement(gg,{runs:Fo,runCount:Uo,evaluation:W,agentName:W.agent?.name,previousRun:W.previous_run,onOpen:zr=>j(W,zr),testId:"evaluation-runs-panel"}),je.default.createElement(vc,{evaluation:W,run:De,spend:vl(De),onDelete:()=>L(W),deleting:P===W.id}))))})),K.length===0&&!M&&je.default.createElement(ht,{style:{textAlign:"center",padding:"48px 20px"}},je.default.createElement("div",{style:{fontSize:16,fontWeight:600,color:"var(--color-text-primary)"}},"No evaluations yet"),je.default.createElement("p",{style:{margin:"8px 0 0",fontSize:13,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Create an evaluation to score recorded outputs, or paste scenarios to test new tasks across models. Every run is kept, so scores stay comparable over time.")))}var _e=te(re());var ice=e=>new Date(`${e}T00:00:00`),lce=[{id:"overview",label:"Overview"},{id:"traces",label:"Traces"},{id:"interactions",label:"Interactions"}];function VE({agent:e,onBack:t,embedded:r=!1}){let{darkMode:n}=Nt(),o=Ro(n),[a,i]=(0,_e.useState)(null),[l,s]=(0,_e.useState)(!0),{timeWindow:u,days:c}=si(),[d,f]=(0,_e.useState)("overview"),p=e.telemetry_agent_class||(()=>{let x=e.agent_class_name||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(S,w)=>w.toUpperCase()).replace(/^./,S=>S.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return x.endsWith("Agent")?x:`${x}Agent`})();(0,_e.useEffect)(()=>{m()},[e?.id,c]);let m=async()=>{if(e?.id){s(!0);try{let S=await(await fetch(`/api/agents/${e.id}/analytics?days=${c}`)).json();i(S)}catch(x){console.error("Failed to load analytics:",x)}finally{s(!1)}}},g=x=>x?x<1e3?`${x}ms`:`${(x/1e3).toFixed(2)}s`:"-",h=x=>x?x>=1e6?`${(x/1e6).toFixed(1)}M`:x>=1e3?`${(x/1e3).toFixed(1)}K`:x.toString():"0",v=x=>{switch(x){case"complete":return"bg-green-500";case"failed":return"bg-red-500";case"running":return"bg-blue-500";case"pending":return"bg-yellow-500";case"cancelled":return"bg-gray-500";default:return"bg-gray-400"}};if(l&&!a)return _e.default.createElement("div",{className:"flex items-center justify-center h-64"},_e.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let y=a?.runs_by_day?.length>0?Math.max(...a.runs_by_day.map(x=>x.count)):1,b=r?"overview":d;return _e.default.createElement("div",{className:"space-y-6"},r?_e.default.createElement("div",{className:"flex items-center justify-end gap-2"},u.minutes<1440&&_e.default.createElement("span",{className:"text-xs",style:{color:o.textMuted},title:"This view aggregates by day"},"showing 1 day"),_e.default.createElement(ui,null)):_e.default.createElement("div",{className:"flex items-center justify-between"},_e.default.createElement("div",{className:"flex items-center space-x-4"},_e.default.createElement("button",{onClick:t,className:"p-2 transition-colors",style:{color:o.textMuted}},_e.default.createElement("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"}))),_e.default.createElement("div",null,_e.default.createElement("h1",{className:"text-2xl font-bold",style:{color:o.textPrimary}},e.name," Analytics"),_e.default.createElement("p",{className:"text-sm",style:{color:o.textSecondary}},"Performance metrics and usage data"))),_e.default.createElement("div",{className:"flex items-center gap-2"},u.minutes<1440&&_e.default.createElement("span",{className:"text-xs",style:{color:o.textMuted},title:"This view aggregates by day"},"showing 1 day"),_e.default.createElement(ui,null))),!r&&_e.default.createElement("div",{className:"flex rounded-lg p-1 w-fit",style:{background:o.mutedBg}},lce.map(x=>_e.default.createElement("button",{key:x.id,onClick:()=>f(x.id),className:`px-4 py-1.5 text-sm rounded-md transition-colors ${d===x.id?"shadow":""}`,style:d===x.id?{background:o.cardBg,color:o.textPrimary}:{color:o.textSecondary}},x.label))),b==="traces"&&_e.default.createElement(dc,{agentClass:p,embedded:!0}),b==="interactions"&&_e.default.createElement(pl,{agentId:e.id,embedded:!0}),b==="overview"&&_e.default.createElement(_e.default.Fragment,null,_e.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4"},_e.default.createElement(xw,{title:"Total Runs",value:a?.summary?.total_runs||0,icon:_e.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})),color:"rose",colors:o,darkMode:n}),_e.default.createElement(xw,{title:"Success Rate",value:`${a?.summary?.success_rate||0}%`,icon:_e.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})),color:"green",colors:o,darkMode:n}),_e.default.createElement(xw,{title:"Avg Duration",value:g(a?.summary?.avg_duration_ms),icon:_e.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})),color:"blue",colors:o,darkMode:n}),_e.default.createElement(xw,{title:"Total Tokens",value:h(a?.summary?.total_tokens),icon:_e.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M7 21a4 4 0 01-4-4V5a2 2 0 012-2h4a2 2 0 012 2v12a4 4 0 01-4 4zm0 0h12a2 2 0 002-2v-4a2 2 0 00-2-2h-2.343M11 7.343l1.657-1.657a2 2 0 012.828 0l2.829 2.829a2 2 0 010 2.828l-8.486 8.485M7 17h.01"})),color:"purple",colors:o,darkMode:n})),_e.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6"},_e.default.createElement("div",{className:"lg:col-span-2 rounded-xl border p-6",style:{background:o.cardBg,borderColor:o.cardBorder}},_e.default.createElement("h3",{className:"font-semibold mb-4",style:{color:o.textPrimary}},"Runs Over Time"),a?.runs_by_day?.length>0?_e.default.createElement("div",{className:"h-48"},_e.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},a.runs_by_day.map((x,S)=>_e.default.createElement("div",{key:x.date,className:"flex-1 flex flex-col items-center group"},_e.default.createElement("div",{className:"relative w-full"},_e.default.createElement("div",{className:"w-full bg-red-500 rounded-t transition-all hover:bg-red-600",style:{height:`${x.count/y*150}px`,minHeight:x.count>0?"4px":"0"}}),_e.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap"},x.count," runs")),(S===0||S===a.runs_by_day.length-1||a.runs_by_day.length<=7)&&_e.default.createElement("span",{className:"text-xs mt-2 transform -rotate-45 origin-left",style:{color:o.textMuted}},ice(x.date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))))):_e.default.createElement("div",{className:"h-48 flex items-center justify-center",style:{color:o.textMuted}},"No data for this period")),_e.default.createElement("div",{className:"rounded-xl border p-6",style:{background:o.cardBg,borderColor:o.cardBorder}},_e.default.createElement("h3",{className:"font-semibold mb-4",style:{color:o.textPrimary}},"Status Breakdown"),Object.keys(a?.status_breakdown||{}).length>0?_e.default.createElement("div",{className:"space-y-3"},Object.entries(a.status_breakdown).map(([x,S])=>{let w=a?.summary?.total_runs||1,T=(S/w*100).toFixed(1);return _e.default.createElement("div",{key:x},_e.default.createElement("div",{className:"flex justify-between text-sm mb-1"},_e.default.createElement("span",{className:"capitalize",style:{color:o.textSecondary}},x),_e.default.createElement("span",{className:"font-medium",style:{color:o.textPrimary}},S," (",T,"%)")),_e.default.createElement("div",{className:"h-2 rounded-full overflow-hidden",style:{background:o.trackBg}},_e.default.createElement("div",{className:`h-full ${v(x)} rounded-full transition-all`,style:{width:`${T}%`}})))})):_e.default.createElement("div",{className:"h-32 flex items-center justify-center",style:{color:o.textMuted}},"No runs yet"))),a?.recent_errors?.length>0&&_e.default.createElement("div",{className:"rounded-xl border p-6",style:{background:o.cardBg,borderColor:o.cardBorder}},_e.default.createElement("h3",{className:"font-semibold mb-4",style:{color:o.textPrimary}},"Recent Errors"),_e.default.createElement("div",{className:"space-y-3"},a.recent_errors.map(x=>_e.default.createElement("div",{key:x.id,className:"flex items-start space-x-3 p-3 rounded-lg",style:{background:n?"rgba(220,38,38,0.12)":"#fef2f2"}},_e.default.createElement("svg",{className:"w-5 h-5 text-red-500 flex-shrink-0 mt-0.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})),_e.default.createElement("div",{className:"flex-1 min-w-0"},_e.default.createElement("p",{className:"text-sm",style:{color:n?"#fca5a5":"#991b1b"}},x.error||"Unknown error"),_e.default.createElement("p",{className:"text-xs mt-1",style:{color:n?"#f87171":"#dc2626"}},new Date(x.created_at).toLocaleString())))))),_e.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4"},_e.default.createElement("div",{className:"rounded-lg p-4",style:{background:o.innerBg}},_e.default.createElement("p",{className:"text-sm",style:{color:o.textSecondary}},"Completed Runs"),_e.default.createElement("p",{className:"text-2xl font-bold",style:{color:o.textPrimary}},a?.summary?.completed_runs||0)),_e.default.createElement("div",{className:"rounded-lg p-4",style:{background:o.innerBg}},_e.default.createElement("p",{className:"text-sm",style:{color:o.textSecondary}},"Failed Runs"),_e.default.createElement("p",{className:"text-2xl font-bold",style:{color:o.textPrimary}},a?.summary?.failed_runs||0)),_e.default.createElement("div",{className:"rounded-lg p-4",style:{background:o.innerBg}},_e.default.createElement("p",{className:"text-sm",style:{color:o.textSecondary}},"Avg Tokens/Run"),_e.default.createElement("p",{className:"text-2xl font-bold",style:{color:o.textPrimary}},h(a?.summary?.avg_tokens_per_run))),_e.default.createElement("div",{className:"rounded-lg p-4",style:{background:o.innerBg}},_e.default.createElement("p",{className:"text-sm",style:{color:o.textSecondary}},"Period"),_e.default.createElement("p",{className:"text-2xl font-bold",style:{color:o.textPrimary}},a?.period_days||30," days")))))}var vF={rose:["#dc2626","rgba(220,38,38,0.18)","#fee2e2"],green:["#16a34a","rgba(22,163,74,0.18)","#dcfce7"],blue:["#2563eb","rgba(37,99,235,0.18)","#dbeafe"],purple:["#7c3aed","rgba(124,58,237,0.18)","#ede9fe"]};function xw({title:e,value:t,icon:r,color:n,colors:o,darkMode:a}){let[i,l,s]=vF[n]||vF.rose;return _e.default.createElement("div",{className:"rounded-xl border p-4",style:{background:o.cardBg,borderColor:o.cardBorder}},_e.default.createElement("div",{className:"flex items-center justify-between"},_e.default.createElement("div",null,_e.default.createElement("p",{className:"text-sm",style:{color:o.textSecondary}},e),_e.default.createElement("p",{className:"text-2xl font-bold mt-1",style:{color:o.textPrimary}},t)),_e.default.createElement("div",{className:"p-3 rounded-lg",style:{background:a?l:s,color:i}},r)))}var ne=te(re());var sce=["agent_defined","dashboard","mcp"],qE={agent_defined:"Agent-defined",dashboard:"Dashboard",mcp:"MCP"},uce={agent_defined:"the host's schema tools, and what the agent class declares",dashboard:"built into the dashboard",mcp:"offered by the services above"},ww=[{value:"24h",label:"24h",hours:24},{value:"7d",label:"7d",hours:168},{value:"30d",label:"30d",hours:720}],GE=e=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let t=Number(e);return t>=1e3?`${(t/1e3).toFixed(1)}s`:`${Math.round(t)}ms`},YE=(e,t=Date.now())=>{if(!e)return"never";let r=new Date(e).getTime();if(Number.isNaN(r))return"never";let n=Math.floor((t-r)/6e4);if(n<1)return"just now";if(n<60)return`${n}m ago`;let o=Math.floor(n/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`},KE=e=>{if(typeof e=="string")return e.trim()||null;if(!e||typeof e!="object")return null;let t=e.key||e.name;return t&&String(t).trim()||null};function bw(e,t=[]){let r=new Map;(t||[]).forEach(o=>{let a=KE(o);a&&r.set(a,o)});let n={};return(e.services||[]).forEach(o=>{let a=r.get(o.key),i=a&&typeof a=="object"&&Array.isArray(a.tools)?a.tools.map(l=>String(l&&l.name?l.name:l)):null;n[o.key]={on:r.has(o.key),tools:Object.fromEntries((o.tools||[]).map(l=>[l.name,i===null||i.includes(l.name)]))}}),n}var gF=e=>{let t=String(e||"").trim().toLowerCase();return(...r)=>!t||r.some(n=>String(n||"").toLowerCase().includes(t))};function yF(e,t,{query:r="",filter:n=null}={}){let o=gF(r);return(e.services||[]).filter(a=>n?n==="enabled"?t[a.key]?.on:a.status===n:!0).filter(a=>o(a.name,a.description)||(a.tools||[]).some(i=>o(i.name))).map(a=>{let i=t[a.key]||{on:!1,tools:{}},l=a.tools||[],s=l.map(c=>({...c,on:!!i.tools[c.name]})),u=s.filter(c=>c.on);return{...a,on:i.on,tools:s,offeredCount:l.length,enabledCount:u.length,toolsLabel:`${u.length}/${l.length}`,partial:i.on&&u.length{let o=t[n.key];!o||!o.on||(n.tools||[]).forEach(a=>{o.tools[a.name]&&r.push({...a,key:`${n.key}:${a.name}`,source:"mcp",editable:!1,enabled:!0,server:n.name,serverKey:n.key})})}),r}function hF(e,t,r=[]){let n=new Set((r||[]).map(String));return(e.tools||[]).map(o=>({...o,on:o.editable?n.has(o.key):o.enabled!==!1})).concat(cce(e,t).map(o=>({...o,on:!0})))}function xF(e,t,r,{query:n="",source:o=null,enabledOnly:a=!1}={}){let i=gF(n),l=hF(e,t,r),s=l.filter(u=>!o||u.source===o).filter(u=>!a||u.on).filter(u=>i(u.name,u.description));return sce.map(u=>{let c=l.filter(p=>p.source===u),d=c.some(p=>p.editable),f=c.filter(p=>p.on).length;return{source:u,name:qE[u],meta:`${uce[u]} \xB7 ${c.length} ${c.length===1?"tool":"tools"}`,countLabel:d?`${f}/${c.length} on`:`${c.length} offered`,editable:d,total:c.length,enabledCount:f,keys:c.map(p=>p.key),rows:s.filter(p=>p.source===u)}}).filter(u=>u.total>0)}function bF(e,t,r,{range:n="7d"}={}){let o=hF(e,t,r),a=e.usage_available!==!1,i=e.services||[],l=i.filter(p=>t[p.key]?.on),s=o.filter(p=>p.source!=="mcp"&&p.on),u=o.filter(p=>p.source==="mcp"),c=o.reduce((p,m)=>p+(m.calls||0),0),d=o.reduce((p,m)=>p+(m.errors||0),0),f=o.filter(p=>p.on&&!p.calls).length;return[{key:"tools",label:"Tools enabled",value:String(s.length+u.length),sub:`${s.length} direct \xB7 ${u.length} offered through MCP`},{key:"services",label:"MCP services",value:`${l.length}/${i.length}`,sub:l.length?`on for this agent: ${l.map(p=>p.name).join(", ")}`:"none enabled for this agent"},{key:"calls",label:"Tool calls",value:a?String(c):"\u2014",sub:a?`${d} error${d===1?"":"s"} in the last ${n} \xB7 traced`:"no calls recorded in this window yet"},{key:"unused",label:"Never called",value:a?String(f):"\u2014",sub:"enabled but unused in this window",tone:a&&f>6?"warning":null}]}function wF(e,t,r){let n=bw(e,t.mcpServers),o=bw(e,r.mcpServers),a=0;Object.keys(n).forEach(s=>{n[s].on!==o[s].on&&(a+=1),Object.keys(n[s].tools).forEach(u=>{n[s].tools[u]!==o[s].tools[u]&&(a+=1)})});let i=new Set((t.tools||[]).map(String)),l=new Set((r.tools||[]).map(String));return(e.tools||[]).forEach(s=>{s.editable&&i.has(s.key)!==l.has(s.key)&&(a+=1)}),a}function SF(e,t,r=[]){let n=new Map;(r||[]).forEach(i=>{let l=KE(i);l&&n.set(l,i)});let o=[];(e.services||[]).forEach(i=>{let l=t[i.key];if(!l||!l.on)return;let s=(i.tools||[]).map(p=>p.name),u=s.filter(p=>l.tools[p]),c=n.get(i.key),d=s.length>0&&u.lengthi.key));return(r||[]).forEach(i=>{let l=KE(i);l&&!a.has(l)&&o.push(i)}),o}function XE(e,t=[]){let r=new Set((e.tools||[]).filter(a=>a.editable).map(a=>a.key)),n=(t||[]).map(String).filter(a=>!r.has(a)),o=(e.tools||[]).filter(a=>a.editable&&t.includes(a.key)).map(a=>a.key);return n.concat(o)}var dce={active:"success",configured:"info",available:"warning",idle:"muted"},fce={agent_defined:"success",dashboard:"success",mcp:"info"},AF="44px minmax(0, 1fr) 108px 60px 52px 58px 74px 26px",kF="26px minmax(0, 1fr) 108px 52px 52px 52px 74px",pce=[{value:"enabled",label:"Enabled"},{value:"active",label:"Active"},{value:"configured",label:"Configured"},{value:"available",label:"Available"}],CF={padding:"7px 16px",gap:10,alignItems:"end",background:"var(--color-muted)",fontFamily:ce,fontSize:10,fontWeight:600,letterSpacing:"0.05em",textTransform:"uppercase",color:"var(--color-text-muted)"},fi={fontFamily:ce,fontSize:11,textAlign:"right",color:"var(--color-text-primary)"},Sw={whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"};function mce({on:e,onClick:t,title:r}){return ne.default.createElement("span",{role:"switch","aria-checked":e,tabIndex:0,title:r,onClick:t,onKeyDown:n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),t(n))},style:{width:34,height:18,borderRadius:999,flexShrink:0,position:"relative",cursor:"pointer",background:e?"var(--color-accent-ui)":"var(--color-muted)",border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border-strong)"}`,transition:"background 0.12s ease"}},ne.default.createElement("span",{style:{position:"absolute",top:1,left:e?17:1,width:14,height:14,borderRadius:"50%",background:e?"#ffffff":"var(--color-text-muted)",transition:"left 0.12s ease"}}))}function NF({on:e,dim:t=!1}){return ne.default.createElement("span",{"aria-hidden":"true",style:{width:16,height:16,borderRadius:4,display:"flex",alignItems:"center",justifyContent:"center",fontFamily:ce,fontSize:10,fontWeight:700,flexShrink:0,border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border-strong)"}`,background:e?"var(--color-accent-ui)":"transparent",color:e?"var(--color-on-accent)":"transparent",opacity:t?.8:1}},e?"x":"")}function Aw({children:e,onClick:t,disabled:r,title:n}){return ne.default.createElement("button",{type:"button",onClick:t,disabled:r,title:n,style:{padding:"3px 9px",borderRadius:6,background:"transparent",fontFamily:ce,fontSize:11,border:"1px solid var(--color-border-strong)",color:"var(--color-text-cell)",cursor:r?"not-allowed":"pointer",opacity:r?.5:1}},e)}function _F({children:e}){return ne.default.createElement("div",{style:{overflowX:"auto"}},ne.default.createElement("div",{style:{minWidth:800}},e))}function ZE({agent:e,formData:t,updateField:r,onSave:n,hasChanges:o=!1,isLoading:a}){let[i,l]=(0,ne.useState)(null),[s,u]=(0,ne.useState)(null),[c,d]=(0,ne.useState)("7d"),[f,p]=(0,ne.useState)(""),[m,g]=(0,ne.useState)(null),[h,v]=(0,ne.useState)(null),[y,b]=(0,ne.useState)(!1),[x,S]=(0,ne.useState)(null),[w,T]=(0,ne.useState)({}),k=(ww.find(I=>I.value===c)||ww[1]).hours;(0,ne.useEffect)(()=>{let I=!1;return u(null),fetch(`/api/agents/${e.id}/tool_roster?hours=${k}`).then(N=>{if(!N.ok)throw new Error(`Request failed (${N.status})`);return N.json()}).then(N=>{I||l(N)}).catch(N=>{I||u(N.message)}),()=>{I=!0}},[e.id,k]);let A=(0,ne.useMemo)(()=>({services:[],tools:[]}),[]),M=i||A,H=(0,ne.useMemo)(()=>t.tools||[],[t.tools]),F=(0,ne.useMemo)(()=>t.mcp_servers||[],[t.mcp_servers]),X=(0,ne.useMemo)(()=>bw(M,F),[M,F]),P=(0,ne.useMemo)(()=>yF(M,X,{query:f,filter:m}),[M,X,f,m]),Y=(0,ne.useMemo)(()=>xF(M,X,H,{query:f,source:h,enabledOnly:y}),[M,X,H,f,h,y]),C=(0,ne.useMemo)(()=>bF(M,X,H,{range:c}),[M,X,H,c]),_=(0,ne.useMemo)(()=>wF(M,{tools:H,mcpServers:F},{tools:e.tools||[],mcpServers:e.mcp_servers||[]}),[M,H,F,e]),z=M.usage_available!==!1,D=I=>z?I:"\u2014",E=(0,ne.useCallback)(I=>{r("mcp_servers",SF(M,I,F))},[M,F,r]),j=(0,ne.useCallback)(I=>{let N=X[I.key];E({...X,[I.key]:{...N,on:!N.on}})},[X,E]),R=(0,ne.useCallback)((I,N)=>{let O=X[I.key];O.on&&E({...X,[I.key]:{...O,tools:{...O.tools,[N.name]:!O.tools[N.name]}}})},[X,E]),U=(0,ne.useCallback)((I,N)=>{let O=X[I.key],Z=Object.fromEntries((I.tools||[]).map(B=>[B.name,N]));E({...X,[I.key]:{on:N||O.on,tools:Z}})},[X,E]),L=(0,ne.useCallback)(I=>{if(!I.editable)return;let N=I.on?H.filter(O=>O!==I.key):[...H,I.key];r("tools",XE(M,N))},[M,H,r]),K=(0,ne.useCallback)((I,N)=>{if(!I.editable)return;let O=N?[...H,...I.keys.filter(Z=>!H.includes(Z))]:H.filter(Z=>!I.keys.includes(Z));r("tools",XE(M,O))},[M,H,r]),ae=(0,ne.useCallback)(()=>{r("tools",e.tools||[]),r("mcp_servers",e.mcp_servers||[])},[e,r]),de=(M.services||[]).filter(I=>X[I.key]?.on),ze=Y.find(I=>I.source==="mcp"),Ee=Y.filter(I=>I.source!=="mcp").reduce((I,N)=>I+N.enabledCount,0)+(ze?ze.total:0),V=Y.reduce((I,N)=>I+N.total,0);return s?ne.default.createElement(ht,null,ne.default.createElement(et,null,"Tools & MCP services"),ne.default.createElement("p",{style:{margin:"8px 0 0",fontSize:13,color:"var(--color-error-text)"}},"Could not load the roster: ",s)):i?ne.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},ne.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:16,flexWrap:"wrap"}},ne.default.createElement("div",{style:{flex:1,minWidth:260}},ne.default.createElement("h2",{style:{margin:0,fontSize:16,fontWeight:600,color:"var(--color-text-primary)"}},"Tools & MCP services"),ne.default.createElement("p",{style:{margin:"3px 0 0",fontSize:13,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Turn a service on to offer its tools, then narrow the roster tool by tool. Call counts come from the traces recorded on every tool call.")),ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ne.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 10px",borderRadius:8,border:"1px solid var(--color-border-strong)",background:"var(--color-card)"}},ne.default.createElement("span",{style:{fontFamily:ce,fontSize:12,color:"var(--color-text-muted)"}},"?"),ne.default.createElement("input",{value:f,onChange:I=>p(I.target.value),placeholder:"Filter tools and services\u2026","aria-label":"Filter tools and services",style:{border:"none",outline:"none",background:"transparent",color:"var(--color-text-primary)",fontSize:13,width:180}})),ne.default.createElement(lw,{options:ww,value:c,onChange:d}))),ne.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(180px, 1fr))",gap:12}},C.map(I=>ne.default.createElement(ht,{key:I.key,padding:"14px 16px",testId:`roster-stat-${I.key}`},ne.default.createElement(et,{size:11,spacing:"0.05em"},I.label),ne.default.createElement("div",{style:{marginTop:6,fontFamily:ce,fontSize:26,fontWeight:700,lineHeight:1.1,color:I.tone==="warning"?"var(--color-warning)":"var(--color-text-primary)"}},I.value),ne.default.createElement("div",{style:{marginTop:5,fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},I.sub)))),ne.default.createElement(ht,{padding:0,style:{overflow:"hidden"},testId:"mcp-services-card"},ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 16px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},ne.default.createElement(et,null,"MCP services"),ne.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},de.length," of ",(M.services||[]).length," enabled \xB7 ",ze?ze.total:0," tools offered"),ne.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},ne.default.createElement(fo,{selected:!m,onClick:()=>g(null)},"All ",(M.services||[]).length),pce.map(I=>ne.default.createElement(fo,{key:I.value,selected:m===I.value,onClick:()=>g(m===I.value?null:I.value)},I.label,I.value==="enabled"?` ${de.length}`:"")),ne.default.createElement(rp,{href:Re("/mcp"),onClick:()=>Ds("/mcp"),title:"Every MCP service this workspace knows",style:{marginLeft:4}},"manage servers"))),ne.default.createElement(_F,null,ne.default.createElement("div",{style:{display:"grid",gridTemplateColumns:AF,...CF}},ne.default.createElement("span",null,"On"),ne.default.createElement("span",null,"Service"),ne.default.createElement("span",null,"Status"),ne.default.createElement("span",{style:{textAlign:"right"}},"Tools"),ne.default.createElement("span",{style:{textAlign:"right"}},"Calls"),ne.default.createElement("span",{style:{textAlign:"right"}},"Errors"),ne.default.createElement("span",{style:{textAlign:"right"}},"Last seen"),ne.default.createElement("span",null)),P.map(I=>{let N=x===I.key;return ne.default.createElement("div",{key:I.key},ne.default.createElement("div",{className:"aa-roster-row","data-on":I.on?"true":"false","data-testid":`service-row-${I.key}`,style:{display:"grid",gridTemplateColumns:AF,gap:10,alignItems:"center",padding:"10px 16px",borderTop:"1px solid var(--color-border-light)"}},ne.default.createElement(mce,{on:I.on,onClick:()=>j(I),title:`${I.on?"Disable":"Enable"} ${I.name} for this agent`}),ne.default.createElement("div",{onClick:()=>S(N?null:I.key),style:{minWidth:0,cursor:"pointer"}},ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ne.default.createElement("span",{style:{fontSize:13,fontWeight:600,color:"var(--color-text-primary)"}},I.name),I.first_party&&ne.default.createElement(Tt,{tone:"accent",size:10},"first-party"),!I.known&&ne.default.createElement(Tt,{size:10,title:"Seen in your traffic but not in the platform catalog"},"undocumented"),I.partial&&ne.default.createElement(Tt,{tone:"warning",size:10},I.partialLabel)),ne.default.createElement("div",{style:{marginTop:2,fontSize:12,lineHeight:"17px",color:"var(--color-text-secondary)",...Sw}},I.description)),ne.default.createElement("span",null,ne.default.createElement(Tt,{tone:dce[I.status]||"muted"},I.status)),ne.default.createElement("span",{style:{...fi,color:I.on?"var(--color-text-primary)":"var(--color-text-muted)"}},I.toolsLabel),ne.default.createElement("span",{style:fi},D(I.calls)),ne.default.createElement("span",{style:{...fi,color:I.errors?"var(--color-error-text)":"var(--color-text-secondary)"}},D(I.errors)),ne.default.createElement("span",{style:{...fi,color:"var(--color-text-muted)"}},D(YE(I.last_seen))),ne.default.createElement("span",{onClick:()=>S(N?null:I.key),style:{cursor:"pointer",textAlign:"center"}},ne.default.createElement(Fa,{kind:"chevron",open:N}))),N&&ne.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",padding:"10px 16px 12px"}},ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",marginBottom:8}},ne.default.createElement(et,{size:10,color:"var(--color-text-muted)"},"Tools offered"),ne.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},I.transport),ne.default.createElement("span",{style:{marginLeft:"auto",display:"flex",gap:8}},ne.default.createElement(Aw,{onClick:()=>U(I,!0),title:`Offer every tool ${I.name} serves`},"all"),ne.default.createElement(Aw,{onClick:()=>U(I,!1),disabled:!I.on,title:`Offer none of ${I.name}'s tools`},"none"))),I.tools.length===0?ne.default.createElement(An,{style:{padding:"10px 0"}},"no tools recorded for this service yet"):ne.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:"6px 14px"}},I.tools.map(O=>ne.default.createElement("div",{key:O.name,className:"aa-roster-row",onClick:()=>R(I,O),style:{display:"grid",gridTemplateColumns:"20px minmax(0, 1fr) 46px 52px",gap:10,alignItems:"center",padding:"6px 8px",borderRadius:8,cursor:I.on?"pointer":"default",opacity:I.on?1:.55}},ne.default.createElement(NF,{on:O.on,dim:!I.on}),ne.default.createElement("span",{style:{minWidth:0}},ne.default.createElement("span",{style:{display:"block",fontFamily:ce,fontSize:12,fontWeight:600,color:O.on?"var(--color-text-primary)":"var(--color-text-secondary)",...Sw}},O.name),ne.default.createElement("span",{style:{display:"block",fontSize:11,color:"var(--color-text-muted)",...Sw}},O.description)),ne.default.createElement("span",{style:{...fi,color:"var(--color-text-secondary)"}},D(O.calls)),ne.default.createElement("span",{style:{...fi,color:O.errors?"var(--color-error-text)":"var(--color-text-muted)"}},D(O.errors?`${O.errors} err`:GE(O.avg_duration_ms)))))),!I.on&&ne.default.createElement("div",{style:{marginTop:8,fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Turning ",I.name," on offers these ",I.tools.length," tools to the agent and starts recording traces and metrics for every call.")))}),P.length===0&&ne.default.createElement(An,{style:{borderTop:"1px solid var(--color-border-light)",padding:"18px 16px"}},f?`no services match "${f}"`:"no MCP services yet"))),ne.default.createElement(ht,{padding:0,style:{overflow:"hidden"},testId:"tools-card"},ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 16px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},ne.default.createElement(et,null,"Tools"),ne.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},Ee," enabled of ",V," available"),ne.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},ne.default.createElement(fo,{selected:!h,onClick:()=>v(null)},"All ",V),Y.map(I=>ne.default.createElement(fo,{key:I.source,selected:h===I.source,onClick:()=>v(h===I.source?null:I.source)},I.name," ",I.total)),ne.default.createElement(fo,{square:!0,mono:!0,selected:y,onClick:()=>b(!y),style:{marginLeft:4}},y?"[x] enabled only":"[ ] enabled only"))),ne.default.createElement(_F,null,ne.default.createElement("div",{style:{display:"grid",gridTemplateColumns:kF,...CF}},ne.default.createElement("span",null),ne.default.createElement("span",null,"Tool"),ne.default.createElement("span",null,"Source"),ne.default.createElement("span",{style:{textAlign:"right"}},"Calls"),ne.default.createElement("span",{style:{textAlign:"right"}},"Errors"),ne.default.createElement("span",{style:{textAlign:"right"}},"Avg"),ne.default.createElement("span",{style:{textAlign:"right"}},"Last seen")),Y.map(I=>{let N=w[I.source]!==!0;return ne.default.createElement("div",{key:I.source},ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"7px 16px",borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",flexWrap:"wrap"}},ne.default.createElement("span",{onClick:()=>T({...w,[I.source]:N}),style:{cursor:"pointer",display:"inline-flex",alignItems:"center",gap:10}},ne.default.createElement(Fa,{kind:"chevron",open:N}),ne.default.createElement("span",{style:{fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},I.name)),ne.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},I.meta),ne.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:8}},ne.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-cell)"}},I.countLabel),I.editable&&ne.default.createElement(ne.default.Fragment,null,ne.default.createElement(Aw,{onClick:()=>K(I,!0)},"all"),ne.default.createElement(Aw,{onClick:()=>K(I,!1)},"none")))),N&&I.rows.map(O=>ne.default.createElement("div",{key:O.key,className:"aa-roster-row","data-on":O.on?"true":"false","data-testid":`tool-row-${O.key}`,onClick:()=>L(O),style:{display:"grid",gridTemplateColumns:kF,gap:10,alignItems:"center",padding:"10px 16px",borderTop:"1px solid var(--color-border-light)",cursor:O.editable?"pointer":"default",opacity:O.editable?1:.75}},ne.default.createElement(NF,{on:O.on,dim:!O.editable}),ne.default.createElement("div",{style:{minWidth:0}},ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ne.default.createElement("span",{style:{fontFamily:ce,fontSize:12,fontWeight:600,color:O.on?"var(--color-text-primary)":"var(--color-text-secondary)"}},O.name),O.source==="mcp"&&ne.default.createElement(Tt,{size:10},"via ",O.server),O.source==="agent_defined"&&(O.editable?ne.default.createElement(Tt,{size:10,title:"Generated from the host's schema tools; offered to this agent only while its roster names it"},"from schema"):ne.default.createElement(Tt,{size:10,title:"Declared by the agent class in code, so the roster reports it rather than selecting it"},"from code")),z&&O.on&&!O.calls&&ne.default.createElement(Tt,{size:10},"unused")),ne.default.createElement("div",{style:{marginTop:2,fontSize:12,lineHeight:"17px",color:"var(--color-text-secondary)",...Sw}},O.description)),ne.default.createElement("span",null,ne.default.createElement(Tt,{tone:fce[O.source]||"muted"},qE[O.source])),ne.default.createElement("span",{style:fi},D(O.calls)),ne.default.createElement("span",{style:{...fi,color:O.errors?"var(--color-error-text)":"var(--color-text-secondary)"}},D(O.errors)),ne.default.createElement("span",{style:{...fi,color:"var(--color-text-secondary)"}},D(GE(O.avg_duration_ms))),ne.default.createElement("span",{style:{...fi,color:"var(--color-text-muted)"}},D(YE(O.last_seen))))))}),Y.every(I=>I.rows.length===0)&&ne.default.createElement(An,{style:{borderTop:"1px solid var(--color-border-light)",padding:"18px 16px"}},f?`no tools match "${f}"`:"nothing enabled yet"))),ne.default.createElement(ht,{padding:"12px 16px",style:{position:"sticky",bottom:0,zIndex:4,background:"var(--color-surface)",display:"flex",alignItems:"center",gap:12,flexWrap:"wrap"},testId:"roster-action-bar"},ne.default.createElement("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:3}},ne.default.createElement(et,{size:11,spacing:"0.05em"},Ee," tools \xB7 ",de.length," services"),ne.default.createElement("span",{style:{fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Every enabled tool is traced: calls, arguments, errors and latency land in Traces and roll up into Metrics.")),ne.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},_>0&&ne.default.createElement(ne.default.Fragment,null,ne.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-warning-text)"}},_," change",_===1?"":"s"," pending"),ne.default.createElement(mr,{variant:"secondary",onClick:ae},"Discard")),ne.default.createElement(mr,{variant:o?"primary":"secondary",onClick:n,disabled:a||!o,title:o?"Save this agent":"Nothing to save",style:o?void 0:{background:"var(--color-muted)",color:"var(--color-text-muted)",border:"1px solid transparent",cursor:"default"}},a?"Saving\u2026":"Save Changes")))):ne.default.createElement(ht,null,ne.default.createElement(An,null,"loading the roster\u2026"))}var vce=[{id:"config",label:"Configuration"},{id:"instructions",label:"Instructions"},{id:"tools",label:"Tools"},{id:"versions",label:"Versions"},{id:"code",label:"Code"}],TF=[{id:"traces",label:"Traces"},{id:"metrics",label:"Metrics"},{id:"interactions",label:"Interactions"},{id:"evals",label:"Evals"},{id:"feedback",label:"Feedback"}],gce=TF.map(e=>e.id),EF={success:{light:["#dcfce7","#166534"],dark:["rgba(22,163,74,0.18)","#4ade80"]},warning:{light:["#fef9c3","#854d0e"],dark:["rgba(234,179,8,0.18)","#facc15"]},neutral:{light:["#f3f4f6","#4b5563"],dark:["rgba(255,255,255,0.1)","rgba(255,255,255,0.7)"]},error:{light:["#fee2e2","#991b1b"],dark:["rgba(220,38,38,0.18)","#f87171"]},info:{light:["#dbeafe","#1e40af"],dark:["rgba(59,130,246,0.18)","#60a5fa"]}},yce={active:"success",draft:"warning",archived:"neutral",failed:"error",trial:"info"};function zs({tone:e="neutral",mono:t=!1,darkMode:r,children:n}){let[o,a]=(EF[e]||EF.neutral)[r?"dark":"light"];return le.default.createElement("span",{style:{background:o,color:a,borderRadius:"999px",padding:"2px 8px",fontSize:"11px",fontWeight:600,fontFamily:t?Ve.mono:void 0,whiteSpace:"nowrap"}},n)}function qn({variant:e="secondary",size:t="md",onClick:r,disabled:n,colors:o,title:a,testId:i,children:l}){let u={padding:t==="sm"?"5px 10px":"7px 14px",borderRadius:"8px",fontSize:"13px",fontWeight:500,cursor:n?"not-allowed":"pointer",transition:"background 0.15s ease, border-color 0.15s ease",whiteSpace:"nowrap"},c={primary:{background:n?o.mutedBg:bn,color:n?o.textMuted:"#ffffff",border:"1px solid transparent"},secondary:{background:"transparent",color:o.textCell,border:`1px solid ${o.inputBorder}`},danger:{background:"transparent",color:"#dc2626",border:"1px solid rgba(220,38,38,0.4)"}};return le.default.createElement("button",{type:"button",onClick:r,disabled:n,title:a,"data-testid":i,style:{...u,...c[e]||c.secondary}},l)}function OF({tabs:e,active:t,onChange:r,colors:n}){return le.default.createElement("div",{style:{display:"flex",alignItems:"center"}},e.map(o=>{let a=t===o.id;return le.default.createElement("button",{key:o.id,type:"button",onClick:()=>r(o.id),style:{padding:"10px 12px",marginBottom:"-1px",background:"none",border:"none",borderBottom:`2px solid ${a?bn:"transparent"}`,color:a?bn:n.textSecondary,fontSize:"13px",fontWeight:a?600:500,cursor:"pointer",whiteSpace:"nowrap"}},o.label)}))}function kw({agent:e,meta:t,onSave:r,onDelete:n,onRun:o,onDuplicate:a,onRunReport:i,onBack:l,isLoading:s,initialTab:u}){let{darkMode:c}=Nt(),d=Ro(c),[f,p]=(0,le.useState)(u||"config"),[m,g]=(0,le.useState)({name:e.name||"",description:e.description||"",provider:e.provider||"openai",model:e.model||"gpt-4o-mini",instructions:e.instructions||"",action_prompts:e.actionPrompts||e.action_prompts||[],preset_type:e.presetType||e.preset_type||"terminal",appearance:e.appearance||{},instruction_sets:e.instructionSets||e.instruction_sets||[],tools:e.tools||[],mcp_servers:e.mcpServers||e.mcp_servers||[],model_config:e.modelConfig||e.model_config||{temperature:.7},status:e.status||"draft"}),[h,v]=(0,le.useState)([]),[y,b]=(0,le.useState)(!1),[x,S]=(0,le.useState)(""),[w,T]=(0,le.useState)(hd),k=e.telemetry_agent_class||e.telemetryAgentClass||(()=>{let C=e.agent_class_name||e.agentClassName||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(_,z)=>z.toUpperCase()).replace(/^./,_=>_.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return C.endsWith("Agent")?C:`${C}Agent`})();(0,le.useEffect)(()=>{let C=!1;return yh(m.provider).then(_=>{C||_.length===0||T(z=>({...z,[m.provider]:_}))}),()=>{C=!0}},[m.provider]),(0,le.useEffect)(()=>{let C=JSON.stringify(m)!==JSON.stringify({name:e.name||"",description:e.description||"",provider:e.provider||"openai",model:e.model||"gpt-4o-mini",instructions:e.instructions||"",action_prompts:e.actionPrompts||e.action_prompts||[],preset_type:e.presetType||e.preset_type||"terminal",appearance:e.appearance||{},instruction_sets:e.instructionSets||e.instruction_sets||[],tools:e.tools||[],mcp_servers:e.mcpServers||e.mcp_servers||[],model_config:e.modelConfig||e.model_config||{temperature:.7},status:e.status||"draft"});b(C)},[m,e]),(0,le.useEffect)(()=>{f==="versions"?A():f==="code"&&M()},[f]);let A=async()=>{try{let _=await(await fetch(`/api/agents/${e.id}/versions`)).json();v(_.versions)}catch(C){console.error("Failed to load versions:",C)}},M=async()=>{try{let _=await(await fetch(`/api/agents/${e.id}/export`)).json();S(_.code)}catch(C){console.error("Failed to load code preview:",C)}},H=(C,_)=>{g(z=>({...z,[C]:_}))},F=(C,_)=>{g(z=>{let D=z[C]||[],E=D.includes(_)?D.filter(j=>j!==_):[...D,_];return{...z,[C]:E}})},X=()=>{r(m)},P=gce.includes(f),Y=f==="tools";return le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},le.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:"12px"}},le.default.createElement("button",{type:"button",onClick:l,title:"Back to agents",style:{fontFamily:Ve.mono,fontSize:"13px",color:d.textSecondary,background:"none",border:"none",cursor:"pointer",padding:"4px 2px",marginTop:"10px"}},"<-"),le.default.createElement(wr,{size:44}),le.default.createElement("div",{style:{flex:1,minWidth:0}},le.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexWrap:"wrap"}},le.default.createElement("h1",{style:{fontSize:"20px",fontWeight:700,color:d.textPrimary,margin:0}},m.name||"Untitled agent"),le.default.createElement(zs,{tone:yce[m.status]||"neutral",darkMode:c},m.status),y&&le.default.createElement(zs,{tone:"info",darkMode:c},"unsaved")),le.default.createElement("p",{style:{fontSize:"13px",color:d.textSecondary,margin:"4px 0 0"}},m.description||"No description")),le.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexShrink:0}},a&&le.default.createElement(qn,{variant:"secondary",colors:d,onClick:a},"Duplicate"),le.default.createElement(qn,{variant:"primary",colors:d,onClick:o},"Run Agent"))),le.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"20px",borderBottom:`1px solid ${d.cardBorder}`,overflowX:"auto"}},le.default.createElement(OF,{tabs:vce,active:f,onChange:p,colors:d}),le.default.createElement("div",{style:{width:"1px",height:"18px",background:d.borderStrong,flexShrink:0}}),le.default.createElement(OF,{tabs:TF,active:f,onChange:p,colors:d})),Y?le.default.createElement(ZE,{agent:e,formData:m,updateField:H,onSave:X,hasChanges:y,isLoading:s}):P?le.default.createElement("div",null,f==="traces"&&le.default.createElement(dc,{agentClass:k,embedded:!0}),f==="metrics"&&le.default.createElement(VE,{agent:e,embedded:!0}),f==="interactions"&&le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},i&&le.default.createElement("div",{style:{display:"flex",justifyContent:"flex-end"}},le.default.createElement("button",{type:"button",onClick:i,style:{background:"none",border:"none",cursor:"pointer",fontFamily:Ve.mono,fontSize:"11px",color:"#3b82f6"}},"run report ->")),le.default.createElement(pl,{agentId:e.id,embedded:!0})),f==="evals"&&le.default.createElement(Sg,{embedded:!0,agentId:e.id}),f==="feedback"&&le.default.createElement(Ace,{colors:d})):le.default.createElement("div",{style:{background:d.cardBg,border:`1px solid ${d.cardBorder}`,borderRadius:"12px",padding:"20px"}},f==="config"&&le.default.createElement(xce,{formData:m,updateField:H,providerModels:w,colors:d,darkMode:c,onDelete:n}),f==="instructions"&&le.default.createElement(bce,{formData:m,updateField:H,meta:t,toggleArrayItem:F,colors:d}),f==="versions"&&le.default.createElement(wce,{versions:h,agentId:e.id,onRestore:A,colors:d,darkMode:c}),f==="code"&&le.default.createElement(Sce,{code:x,colors:d})),y&&!Y&&le.default.createElement("div",{style:{position:"sticky",bottom:"0",display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px",background:d.cardBg,border:`1px solid ${d.borderStrong}`,borderRadius:"12px",padding:"10px 14px",boxShadow:"0 4px 16px rgba(0,0,0,0.12)"}},le.default.createElement("span",{style:{fontSize:"13px",color:d.textSecondary}},"Unsaved changes"),le.default.createElement("div",{style:{display:"flex",gap:"8px"}},le.default.createElement(qn,{variant:"primary",size:"sm",colors:d,onClick:X,disabled:s},s?"Saving\u2026":"Save Changes"))))}var pi=e=>({display:"block",fontSize:"13px",fontWeight:500,color:e.textCell,marginBottom:"6px"}),xl=e=>({width:"100%",padding:"8px 12px",borderRadius:"8px",border:`1px solid ${e.inputBorder}`,background:e.inputBg,color:e.textPrimary,fontFamily:"inherit",fontSize:"13px"}),hce=e=>({fontFamily:Ve.mono,fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:e.textSecondary});function xce({formData:e,updateField:t,providerModels:r,colors:n,darkMode:o,onDelete:a}){return le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},le.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Agent Name"),le.default.createElement("input",{type:"text",value:e.name,onChange:i=>t("name",i.target.value),className:"aa-field",style:xl(n)})),le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Preset Type"),le.default.createElement("select",{value:e.preset_type,onChange:i=>t("preset_type",i.target.value),className:"aa-field",style:xl(n)},Object.keys(gd).map(i=>le.default.createElement("option",{key:i,value:i},i))))),le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Description"),le.default.createElement("textarea",{value:e.description,onChange:i=>t("description",i.target.value),rows:3,className:"aa-field",style:{...xl(n),resize:"vertical"}})),le.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Provider"),le.default.createElement("select",{value:e.provider,onChange:i=>{t("provider",i.target.value),t("model",r[i.target.value][0])},className:"aa-field",style:xl(n)},Object.keys(r).map(i=>le.default.createElement("option",{key:i,value:i},i.charAt(0).toUpperCase()+i.slice(1))))),le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Model"),le.default.createElement("select",{value:e.model,onChange:i=>t("model",i.target.value),className:"aa-field",style:{...xl(n),fontFamily:Ve.mono}},(r[e.provider]?.includes(e.model)?r[e.provider]:[e.model,...r[e.provider]||[]]).filter(Boolean).map(i=>le.default.createElement("option",{key:i,value:i},i))))),le.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Temperature"," ",le.default.createElement("span",{style:{fontFamily:Ve.mono,color:n.textSecondary}},e.model_config.temperature)),le.default.createElement("input",{type:"range",min:"0",max:"1",step:"0.1",value:e.model_config.temperature,onChange:i=>t("model_config",{...e.model_config,temperature:parseFloat(i.target.value)}),style:{width:"100%",accentColor:bn}})),le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Status"),le.default.createElement("select",{value:e.status,onChange:i=>t("status",i.target.value),className:"aa-field",style:xl(n)},le.default.createElement("option",{value:"draft"},"Draft"),le.default.createElement("option",{value:"active"},"Active"),le.default.createElement("option",{value:"archived"},"Archived")))),a&&le.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px",borderTop:`1px solid ${n.cardBorder}`,paddingTop:"16px"}},le.default.createElement("div",null,le.default.createElement("div",{style:hce(n)},"Danger zone"),le.default.createElement("p",{style:{fontSize:"13px",color:n.textMuted,margin:"4px 0 0"}},"Deleting an agent removes its configuration and version history.")),le.default.createElement(qn,{variant:"danger",size:"sm",colors:n,onClick:a},"Delete Agent")))}function bce({formData:e,updateField:t,meta:r,toggleArrayItem:n,colors:o}){let a=e.action_prompts||[],i=(u,c)=>{t("action_prompts",a.map((d,f)=>f===u?{...d,...c}:d))},l=()=>{t("action_prompts",[...a,{name:"",prompt:"",expose_as_tool:!1}])},s=u=>{t("action_prompts",a.filter((c,d)=>d!==u))};return le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},le.default.createElement("div",null,le.default.createElement("label",{style:pi(o)},"System Instructions"),le.default.createElement("textarea",{value:e.instructions,onChange:u=>t("instructions",u.target.value),placeholder:"You are a helpful AI assistant...",rows:12,className:"aa-field",style:{...xl(o),fontFamily:Ve.mono,resize:"vertical"}})),le.default.createElement("div",null,le.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"6px"}},le.default.createElement("label",{style:{...pi(o),marginBottom:0}},"Action Prompts"),le.default.createElement(qn,{variant:"secondary",size:"sm",colors:o,onClick:l},"+ Add action")),le.default.createElement("p",{style:{fontSize:"12px",color:o.textMuted,margin:"0 0 12px"}},"Named actions run with their prompt stacked below the system instructions. The default ",le.default.createElement("span",{style:{fontFamily:Ve.mono}},"#ask")," action uses the system instructions alone."),a.length>0&&le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},a.map((u,c)=>le.default.createElement("div",{key:c,style:{border:`1px solid ${o.cardBorder}`,borderRadius:"10px",padding:"12px",display:"flex",flexDirection:"column",gap:"8px"}},le.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},le.default.createElement("span",{style:{fontFamily:Ve.mono,fontSize:"13px",color:o.textMuted}},"#"),le.default.createElement("input",{type:"text",value:u.name,onChange:d=>i(c,{name:d.target.value.toLowerCase().replace(/[^a-z0-9_]/g,"_")}),placeholder:"action_name",className:"aa-field",style:{...xl(o),flex:1,padding:"6px 10px",fontFamily:Ve.mono}}),le.default.createElement("label",{style:{display:"flex",alignItems:"center",gap:"6px",fontSize:"12px",color:o.textSecondary,whiteSpace:"nowrap"}},le.default.createElement("input",{type:"checkbox",checked:!!u.expose_as_tool,onChange:d=>i(c,{expose_as_tool:d.target.checked}),style:{accentColor:bn}}),"Expose as tool"),le.default.createElement("button",{type:"button",onClick:()=>s(c),title:"Remove action",style:{fontFamily:Ve.mono,fontSize:"12px",color:o.textMuted,background:"none",border:"none",cursor:"pointer",padding:"4px"}},"[x]")),le.default.createElement("textarea",{value:u.prompt,onChange:d=>i(c,{prompt:d.target.value}),placeholder:"This action's system prompt, applied on top of the base instructions...",rows:4,className:"aa-field",style:{...xl(o),fontFamily:Ve.mono,resize:"vertical"}}))))),le.default.createElement("div",null,le.default.createElement("label",{style:pi(o)},"Instruction Sets"),le.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px"}},r.instructionSets?.map(u=>{let c=e.instruction_sets.includes(u);return le.default.createElement("button",{key:u,type:"button",onClick:()=>n("instruction_sets",u),style:{padding:"5px 12px",borderRadius:"999px",fontSize:"13px",cursor:"pointer",border:`1px solid ${c?bn:o.inputBorder}`,background:c?bn:"transparent",color:c?"#ffffff":o.textCell}},u)}))))}function wce({versions:e,agentId:t,onRestore:r,colors:n,darkMode:o}){let a=async i=>{if(confirm("Restore this version? This will create a new version with the restored configuration."))try{await fetch(`/api/agents/${t}/restore`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({version_id:i})}),r()}catch(l){console.error("Failed to restore version:",l)}};return le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},le.default.createElement("p",{style:{fontSize:"13px",color:n.textSecondary,margin:0}},"View and restore previous versions of this agent."),e.length>0?le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"10px"}},e.map(i=>{let l=i.is_latest||i.isLatest;return le.default.createElement("div",{key:i.id,style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"12px",padding:"14px",borderRadius:"10px",border:`1px solid ${l?bn:n.cardBorder}`,background:l?"rgba(239,68,68,0.06)":"transparent"}},le.default.createElement("div",{style:{minWidth:0}},le.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},le.default.createElement("span",{style:{fontFamily:Ve.mono,fontSize:"13px",fontWeight:600,color:n.textPrimary}},"v",i.version_number||i.versionNumber),l&&le.default.createElement(zs,{tone:"error",darkMode:o},"current")),le.default.createElement("p",{style:{fontSize:"13px",color:n.textCell,margin:"4px 0 0"}},i.change_summary||i.changeSummary),le.default.createElement("p",{style:{fontFamily:Ve.mono,fontSize:"11px",color:n.textMuted,margin:"4px 0 0"}},new Date(i.created_at||i.createdAt).toLocaleString())),!l&&le.default.createElement(qn,{variant:"secondary",size:"sm",colors:n,onClick:()=>a(i.id)},"Restore"))})):le.default.createElement(MF,{colors:n,glyph:"[#]",title:"No version history",hint:"Saving a change records a new version."}))}function Sce({code:e,colors:t}){let r=()=>{navigator.clipboard.writeText(e)};return le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},le.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},le.default.createElement("p",{style:{fontSize:"13px",color:t.textSecondary,margin:0}},"Generated Ruby code for this agent."),le.default.createElement(qn,{variant:"secondary",size:"sm",colors:t,onClick:r},"Copy")),le.default.createElement("pre",{style:{padding:"16px",background:"#111827",color:"#e5e7eb",borderRadius:"10px",overflowX:"auto",fontFamily:Ve.mono,fontSize:"12px",lineHeight:1.6,margin:0}},le.default.createElement("code",null,e||"Loading...")))}function Ace({colors:e}){return le.default.createElement("div",{style:{background:e.cardBg,border:`1px solid ${e.cardBorder}`,borderRadius:"12px",padding:"20px"}},le.default.createElement(MF,{colors:e,glyph:"[?]",title:"No feedback recorded",hint:"Thumbs and comments are not captured yet. Once an interaction feedback source is recorded, CSAT and per-trace comments appear here."}))}function MF({colors:e,glyph:t,title:r,hint:n}){return le.default.createElement("div",{style:{textAlign:"center",padding:"40px 20px"}},le.default.createElement("div",{style:{fontFamily:Ve.mono,fontSize:"20px",color:e.textMuted}},t),le.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:e.textPrimary,marginTop:"10px"}},r),le.default.createElement("p",{style:{fontSize:"13px",color:e.textMuted,margin:"6px auto 0",maxWidth:"420px"}},n))}var q=te(re());async function sp(){let e=window.ACTIVE_AGENT_DASHBOARD?.meta?.upgradeUrl;if(!e)throw new Error("This dashboard has no billing configured.");window.location.href=e}var kce={llm:{role:"assistant",label:"LLM"},tool:{role:"tool",label:"Tool"},agent:{role:"developer",label:"Agent"},mcp:{role:"system",label:"MCP"}},Cce=(e,t)=>{let r=kce[e]||{role:e,label:e};return{...Ar(r.role,t),label:r.label}},QE={complete:"success",failed:"error",running:"info",pending:"warning",cancelled:"neutral"},Nce=["Hello, what can you help me with?","Show me a dashboard of last quarter's sales","List the files in the current directory","Explain how this code works"],_ce=["user","assistant","tool"],Ece=1200,Oce=600*1e3,Cw=e=>e?e<1e3?`${e}ms`:`${(e/1e3).toFixed(2)}s`:"-",PF=e=>{if(!e)return null;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}},JE=e=>{let t=new Map;return(e?.logs||[]).filter(r=>r.eid).forEach(r=>{let n=t.get(r.eid)||{eid:r.eid};r.status==="started"?Object.assign(n,r,{input:r.detail,output:n.output}):Object.assign(n,r,{input:n.input,output:r.detail}),t.set(r.eid,n)}),[...t.values()]},Ls=e=>e?.context_id??e?.output_metadata?.context_id??null,Ag=e=>e.json().catch(()=>({})),DF=({open:e,color:t})=>q.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${e?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:t}},q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}));function Tce({run:e,darkMode:t,colors:r,expanded:n,onToggle:o}){let a=JE(e),i=tw(t);return q.default.createElement("div",{"data-testid":"runner-activity",className:"space-y-2"},a.map(l=>{let s=!!n[l.eid],u=!!(l.input||l.output),c=Cce(l.kind,t);return q.default.createElement("div",{key:l.eid,"data-testid":"runner-activity-event"},q.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${u?"cursor-pointer":""}`,onClick:u?()=>o(l.eid):void 0,title:u?"Click to inspect input/output":void 0,style:s?{background:t?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.03)"}:{}},q.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium flex-shrink-0 mt-0.5",style:{background:c.background,color:c.color,minWidth:"72px",textAlign:"center"}},c.label),q.default.createElement("div",{className:"min-w-0 flex-1"},q.default.createElement("div",{className:"text-sm break-words",style:{color:r.textPrimary}},l.label,l.output&&!s&&q.default.createElement("span",{style:{color:r.textMuted}}," \u201C",l.output.slice(0,160),l.output.length>160?"\u2026":"","\u201D")),q.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap",style:{color:r.textMuted}},l.status==="started"?q.default.createElement("span",{className:"animate-pulse",style:{color:"#3b82f6"}},"running\u2026"):q.default.createElement("span",{style:l.status==="error"?{color:"#ef4444"}:void 0},l.status==="error"?"failed":"\u2713",l.duration_ms!=null&&` ${Cw(l.duration_ms)}`),l.at&&q.default.createElement("span",null,new Date(l.at).toLocaleTimeString()))),u&&q.default.createElement(DF,{open:s,color:r.textMuted})),s&&q.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:c.color+"55"}},l.input&&q.default.createElement("div",null,q.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:r.textMuted}},"Input"),q.default.createElement("pre",{style:{...i,whiteSpace:"pre-wrap",maxHeight:"160px",overflowY:"auto"}},PF(l.input))),l.output&&q.default.createElement("div",null,q.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:r.textMuted}},l.status==="error"?"Error":"Result"),q.default.createElement("pre",{style:{...i,whiteSpace:"pre-wrap",maxHeight:"224px",overflowY:"auto",...l.status==="error"?{background:t?"rgba(239,68,68,0.12)":"#fef2f2",color:t?"#fca5a5":"#b91c1c"}:{}}},PF(l.output)))))}))}function Mce({run:e,darkMode:t,colors:r}){return e?q.default.createElement("div",{className:"flex items-center gap-3 flex-wrap text-xs",style:{color:r.textMuted}},q.default.createElement("span",{"data-testid":"runner-status",style:{display:"inline-flex"}},q.default.createElement(zs,{tone:QE[e.status]||"neutral",darkMode:t},e.status)),e.output_metadata?.model&&q.default.createElement("span",{className:"font-mono",title:"Model that generated this run"},e.output_metadata.provider,"/",e.output_metadata.model),e.duration_ms?q.default.createElement("span",null,Cw(e.duration_ms)):null,e.total_tokens?q.default.createElement("span",null,e.total_tokens," tokens"):null,e.trace_id&&q.default.createElement("a",{href:Re(`/traces?trace=${e.trace_id}`),className:"font-mono hover:underline",style:{color:r.textSecondary},title:`${e.trace_id} \u2014 open in Traces`},"trace:",e.trace_id.slice(0,8)," \u2192")):null}function RE({agent:e,onBack:t}){let{darkMode:r}=Nt(),n=Ro(r),o=e.action_prompts||e.actionPrompts||[],a=["ask",...o.map(ie=>ie.name).filter(Boolean)],[i,l]=(0,q.useState)("ask"),[s,u]=(0,q.useState)(""),[c,d]=(0,q.useState)([]),[f,p]=(0,q.useState)(!1),[m,g]=(0,q.useState)([]),[h,v]=(0,q.useState)(null),[y,b]=(0,q.useState)(null),[x,S]=(0,q.useState)(null),[w,T]=(0,q.useState)([]),[k,A]=(0,q.useState)(!1),[M,H]=(0,q.useState)(null),[F,X]=(0,q.useState)(null),[P,Y]=(0,q.useState)(null),[C,_]=(0,q.useState)(null),[z,D]=(0,q.useState)({}),[E,j]=(0,q.useState)(null),[R,U]=(0,q.useState)(!1),[L,K]=(0,q.useState)(null),[ae,de]=(0,q.useState)(!1),[ze,oe]=(0,q.useState)(!1),[Ee,V]=(0,q.useState)(null),[I,N]=(0,q.useState)(""),[O,Z]=(0,q.useState)(!1),[B,we]=(0,q.useState)(null),ee=(0,q.useRef)(null),ue=(0,q.useRef)(null),W=(0,q.useRef)(0),xe=(0,q.useRef)(!0),De=(0,q.useRef)(null),Ge=(0,q.useRef)([]),it=(0,q.useRef)(null),zn=(0,q.useRef)(null),$o=(0,q.useRef)(null),Fo=(0,q.useRef)(null),Uo=(y?.messages||[]).filter(ie=>_ce.includes(ie.role));(0,q.useEffect)(()=>{De.current=F},[F]),(0,q.useEffect)(()=>{Ge.current=c},[c]),(0,q.useEffect)(()=>(xe.current=!0,zr(),()=>{xe.current=!1,W.current+=1,bl(De.current),bl({attachments:Ge.current}),X(null),d([])}),[e.id]),(0,q.useEffect)(()=>{bc(i)},[e.id,i]),(0,q.useEffect)(()=>{ue.current=h,h?$s(h):(b(null),S(null))},[h]),(0,q.useEffect)(()=>{let ie=zn.current;ie&&(ie.scrollTop=ie.scrollHeight)},[Uo.length,F,M?.logs?.length,Ee,P]),(0,q.useEffect)(()=>{if(!ze)return;let ie=Le=>{Fo.current&&!Fo.current.contains(Le.target)&&oe(!1)};return document.addEventListener("mousedown",ie),()=>document.removeEventListener("mousedown",ie)},[ze]);let zr=async()=>{try{let Le=await(await fetch(`/api/agents/${e.id}/runs?per_page=10`)).json();T(Le.runs||[])}catch(ie){console.error("Failed to load runs:",ie)}},bc=async ie=>{try{let Le=await fetch(`/api/agents/${e.id}/conversations?action_name=${encodeURIComponent(ie)}`);if(!Le.ok)throw new Error(`HTTP ${Le.status}`);let ut=(await Le.json()).conversations||[];g(ut),v(Zr=>Zr&&(ee.current===Zr||ut.some(Aa=>Aa.id===Zr))?Zr:ut[0]?.id??null)}catch(Le){console.error("Failed to load conversations:",Le),g([])}},$s=async ie=>{try{let Le=await fetch(`/api/interactions/${ie}`);if(!Le.ok)throw new Error(Le.status===404?"Conversation not found":`HTTP ${Le.status}`);let Je=await Le.json();if(ue.current!==ie)return;b(Je.interaction),S(null)}catch(Le){if(ue.current!==ie)return;b(null),S(Le.message)}},Fs=async()=>{let ie=await fetch(`/api/agents/${e.id}/conversations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action_name:i})}),Le=await Ag(ie);if(!ie.ok||!Le.conversation)throw new Error(Le.error||`Could not start a conversation (HTTP ${ie.status})`);let Je=Le.conversation;return g(ut=>[Je,...ut.filter(Zr=>Zr.id!==Je.id)]),ee.current=Je.id,v(Je.id),Je.id},Ig=()=>ue.current?Promise.resolve(ue.current):Fs(),jg=ie=>{ee.current=null,l(ie)},wc=()=>{H(null),_(null),D({})},Lw=ie=>{let Le=ie?Number(ie):null;Le!==ue.current&&wc(),ee.current=Le,v(Le),Y(null)},Bw=async()=>{if(!k)try{await Fs(),S(null),Y(null),wc(),bl(De.current),X(null),V(null)}catch(ie){S(ie.message)}},bl=ie=>{(ie?.attachments||[]).forEach(Le=>{Le.url&&Le.url.startsWith("blob:")&&URL.revokeObjectURL(Le.url)})},Us=ie=>{let Le=Array.from(ie||[]).filter(Boolean);Le.length!==0&&d(Je=>[...Je,...Le.map(ut=>({file:ut,filename:ut.name,content_type:ut.type||"application/octet-stream",byte_size:ut.size,kind:w$(ut),url:ut.type&&ut.type.startsWith("image/")?URL.createObjectURL(ut):null}))])},$w=ie=>{d(Le=>{let Je=Le[ie];return Je?.url&&URL.revokeObjectURL(Je.url),Le.filter((ut,Zr)=>Zr!==ie)})},pp=(ie,Le)=>{A(!1),bl(De.current),X(null),zr();let Je=Ls(ie)??Le;Je&&(Je!==ue.current?(ee.current=Je,v(Je)):$s(Je),bc(i))},Fw=(ie,Le)=>{if(!xe.current)return;let Je=++W.current,ut=Date.now(),Zr=async()=>{if(W.current===Je){try{let Aa=await fetch(`/api/runs/${ie}`);if(Aa.ok){let Gn=await Aa.json();if(W.current!==Je)return;if(H(Gn.run),!["pending","running"].includes(Gn.run.status)){pp(Gn.run,Le);return}}}catch{}Date.now()-utAa&&{...Aa,status:"failed",error_message:"Timed out waiting for the run to finish."}),_("Timed out waiting for the run to finish."))}};Zr()},mp=async({text:ie,files:Le,fromComposer:Je=!1})=>{let ut=(ie||"").trim();if(!ut&&Le.length===0||k)return;_(null),Y(null),V(null),A(!0),D({}),H({status:"pending",input_prompt:ut,output:"",logs:[],started_at:new Date().toISOString()}),bl(De.current),X({content:ut||"(see attached files)",attachments:Le.map(({file:Gn,...Ws})=>Ws)}),Je&&(u(""),d([]));let Zr=ue.current;if(!Zr)try{Zr=await Fs()}catch(Gn){_(`${Gn.message} \u2014 running without a pinned conversation.`)}let Aa=()=>{Je&&(u(ut),d(Le)),X(null)};try{let Gn=new FormData;Gn.append("prompt",ut),Gn.append("action_name",i),Zr&&Gn.append("params[context_id]",String(Zr)),Le.forEach(({file:Fg})=>Gn.append("attachments[]",Fg,Fg.name));let Ws=await fetch(`/api/agents/${e.id}/execute`,{method:"POST",body:Gn}),Ac=await Ag(Ws);if(Ws.status===402&&Ac.upgrade_required){j(Ac.usage),H(Fg=>({...Fg,status:"failed",error_message:Ac.message||"Plan limit reached"})),A(!1),Aa();return}if(!Ws.ok)throw new Error(Ac.error||"Run failed");Fw(Ac.run.id,Ls(Ac.run)??Zr)}catch(Gn){H(Ws=>({...Ws,status:"failed",error_message:Gn.message})),A(!1),Aa()}},zg=()=>mp({text:s,files:c,fromComposer:!0}),Lg=ie=>{!ie||!ie.text||mp({text:ie.text,files:[]})},vp=ie=>{ie.key==="Enter"&&(ie.metaKey||ie.ctrlKey)&&(ie.preventDefault(),zg())},Bg=async(ie,Le)=>{let Je=ue.current,ut=await fetch(`/api/interactions/${Je}/messages/${ie.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:Le})}),Zr=await Ag(ut);if(!ut.ok)throw new Error(Zr.error||`Could not save the message (HTTP ${ut.status})`);await $s(Je)},Uw=async ie=>{let Le=ue.current;try{let Je=await fetch(`/api/interactions/${Le}/messages/${ie.id}`,{method:"DELETE"});if(!Je.ok){let ut=await Ag(Je);throw new Error(ut.error||`Could not delete the message (HTTP ${Je.status})`)}S(null),await $s(Le),bc(i)}catch(Je){S(Je.message)}},Ww=ie=>{oe(!1),V(ie),N(""),we(null)},$g=async()=>{let ie=I.trim();if(!(!ie||O)){Z(!0),we(null);try{let Le=await Ig(),Je=await fetch(`/api/interactions/${Le}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({role:Ee,content:ie})}),ut=await Ag(Je);if(!Je.ok)throw new Error(ut.error||`Could not add the message (HTTP ${Je.status})`);N(""),V(null),await $s(Le),bc(i)}catch(Le){we(Le.message)}finally{Z(!1)}}},Hw=async ie=>{let Le=ie;if(Ls(ie)==null)try{let ut=await fetch(`/api/runs/${ie.id}`);ut.ok&&(Le=(await ut.json()).run)}catch(ut){console.error("Failed to load run details:",ut)}let Je=Ls(Le);if(Je){Y(null),Je!==ue.current&&wc(),ee.current=Je;let ut=Le.action_name||ie.action_name;ut&&a.includes(ut)&&ut!==i&&l(ut),v(Je)}else Y({...Le,output:Le.output??Le.output_preview,error_message:Le.error_message??Le.error});it.current?.scrollIntoView({behavior:"smooth",block:"start"})},Vw=async()=>{U(!0),K(null);try{await sp({planSlug:"pro"})}catch(ie){K(ie.message),U(!1)}},Sc=window.ACTIVE_AGENT_DASHBOARD?.meta?.upgradeUrl,Kw=o.find(ie=>ie.name===i)?.prompt,ve=[e.instructions,i==="ask"?null:Kw].map(ie=>(ie||"").trim()).filter(Boolean).join(` +Who updated the description for the sample notebook?`,style:{...hl,width:"100%",fontFamily:fe,fontSize:12,lineHeight:"18px"}}),Ue.default.createElement("p",{style:{margin:"6px 0 0",fontSize:12,color:"var(--color-text-muted)",textWrap:"pretty"}},"With scenarios, each run replays every message through the agent \u2014 once per model in \u201CCompare models\u201D \u2014 and reports which tasks it completes, what faults it hits, and how to fix them. ",Ue.default.createElement("code",{style:{fontFamily:fe}},"# Heading")," lines group related tasks so they can be run together; ",Ue.default.createElement("code",{style:{fontFamily:fe}},"| tools: a, b")," names the tool a task should call.")),o.judgeKind==="judge_defined"?Ue.default.createElement("p",{style:{margin:0,fontSize:12,color:"var(--color-text-secondary)"}},"On the first run the judge reads the agent's instructions and recent interactions, defines 3\u20136 KPIs, then scores samples against them. KPIs persist so later runs (and model cohorts) stay comparable."):Ue.default.createElement(Ue.default.Fragment,null,Ue.default.createElement("div",null,Ue.default.createElement(et,{style:{display:"block",marginBottom:8}},"Rule-based criteria (sampled generations)"),Ue.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:12}},HE.map(m))),Ue.default.createElement("div",null,Ue.default.createElement(et,{style:{display:"block",marginBottom:8}},"Telemetry criteria (trace aggregates)"),Ue.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:12}},pF.map(m))),Ue.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Must contain (optional pattern)"),Ue.default.createElement("input",{type:"text",value:o.containsPattern,onChange:g=>c({containsPattern:g.target.value}),placeholder:"e.g. password reset",style:{...hl,width:"100%"}})),Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"LLM judge criterion (optional, needs provider credentials)"),Ue.default.createElement("input",{type:"text",value:o.llmJudgePrompt,onChange:g=>c({llmJudgePrompt:g.target.value}),placeholder:"e.g. Is the answer helpful and accurate?",style:{...hl,width:"100%"}})))),i&&Ue.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)"}},i),Ue.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},Ue.default.createElement(mr,{variant:"primary",type:"submit",disabled:s},s?o.scenariosText.trim()?"Creating & starting run\u2026":"Creating & running\u2026":"Create & Run"),n&&Ue.default.createElement(mr,{onClick:n},"Cancel"))))}var ye=te(re());var oce={background:"none",border:"none",padding:0,cursor:"pointer",fontFamily:fe,fontSize:12,color:"var(--color-info)"},Xr=(e=11,t="var(--color-text-muted)",r={})=>({fontFamily:fe,fontSize:e,color:t,...r});function ace({stats:e}){if(!e)return ye.default.createElement("span",{style:Xr()},"\u2014");if(e.skipped)return ye.default.createElement("div",null,ye.default.createElement("span",{style:Xr(12,"var(--color-text-cell)",{fontWeight:700})},"[-] skipped"),ye.default.createElement("div",{style:{...Xr(),marginTop:2,textWrap:"pretty"},title:e.reason},dw(e.reason,90)));let t=Number(e.score),r=ml[t>=.85?"success":t>=.7?"warning":"error"].strong,n=[];if(e.total!=null&&n.push(`${e.passed}/${e.total} passed`),e.total>1&&e.min!=null&&n.push(`min ${wa(e.min)} \xB7 max ${wa(e.max)}`),e.source==="telemetry"){n.push(`${e.traces} traces \xB7 ${e.window_hours}h`);let o=e.observed||{};o.error_rate!=null&&n.push(`observed ${o.error_rate}% errors (${o.errors})`),o.avg_duration_ms!=null&&n.push(`observed avg ${kn(o.avg_duration_ms)}`)}return ye.default.createElement("div",null,ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6}},ye.default.createElement("span",{style:Xr(12,r,{fontWeight:700})},t>=.7?"[+]":"[!]"," ",wa(t)),e.source==="telemetry"&&ye.default.createElement("span",{"data-testid":"score-source-telemetry",title:"Aggregate over the agent's telemetry traces",style:Xr(10,"var(--color-text-muted)",{textTransform:"uppercase",letterSpacing:"0.04em"})},"telemetry")),ye.default.createElement("div",{style:{...Xr(),marginTop:2,textWrap:"pretty"}},n.join(" \xB7 ")))}function ice({item:e}){return ye.default.createElement("div",{"data-testid":"fix-item",style:{border:"1px solid var(--color-border)",borderRadius:10,padding:"12px 14px",display:"flex",flexDirection:"column",gap:10,minWidth:0}},ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ye.default.createElement(Fa,{kind:"fault"}),ye.default.createElement(Tt,{tone:"error"},e.label),ye.default.createElement("span",{style:Xr()},e.scope)),ye.default.createElement("div",{style:{fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",textWrap:"pretty"}},e.text),e.chips?.length>0&&ye.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:6}},ye.default.createElement(et,{size:10,color:"var(--color-text-muted)"},e.chipsLabel),ye.default.createElement("div",{style:{display:"flex",gap:6,flexWrap:"wrap"}},e.chips.map(t=>ye.default.createElement("span",{key:t,style:{fontFamily:fe,fontSize:11,padding:"3px 8px",borderRadius:6,border:"1px solid var(--color-border)",color:"var(--color-text-primary)",fontWeight:600}},t)))),e.details?.length>0&&ye.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:3}},e.details.map(t=>ye.default.createElement("span",{key:t,style:Xr(11,"var(--color-text-cell)",{textWrap:"pretty"})},t))),e.action&&ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:"auto"}},e.action.path&&ye.default.createElement(mr,{size:"sm",onClick:()=>Is(e.action.path)},e.action.label),e.action.hint&&ye.default.createElement("span",{style:{...Xr(),whiteSpace:"nowrap"}},e.action.hint)))}function KE({evaluation:e,runs:t=[],runCount:r=null,runId:n,loading:o=!1,running:a=!1,onSelectRun:i,onRun:l,onBack:s,onOpenEvaluation:u,onDelete:c,deleting:d=!1}){let[f,p]=(0,ye.useState)("all"),[m,g]=(0,ye.useState)(!1),h=(L,q)=>ye.default.createElement("button",{type:"button",onClick:q,style:oce},L),v=t.findIndex(L=>L.id===n),y=v>=0?t[v]:t[0],b=y?lp(y,Math.max(v,0),t,r):null,x=ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},h("Evaluations",s),ye.default.createElement("span",{style:Xr(12)},"/"),h(e?.name||"Evaluation",u),ye.default.createElement("span",{style:Xr(12)},"/"),ye.default.createElement("span",{style:Xr(12,"var(--color-text-primary)",{fontWeight:700})},y?`Run #${b}`:"Runs"));if(!e)return ye.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:12}},ye.default.createElement("div",null,h("Evaluations",s)),ye.default.createElement(ht,null,ye.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-muted)"}},"This evaluation is not in the list any more.")));if(!y)return ye.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:12}},x,o?ye.default.createElement("div",{className:"flex items-center justify-center h-64"},ye.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2",style:{borderBottomColor:"var(--color-accent-ui)"}})):ye.default.createElement(ht,null,ye.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-muted)"}},"No runs recorded yet.")));let S=DE(y),w=S.length?S:[null],T=mw(y),k=L=>T.find(q=>q.label===L)||(L==null?T[0]:null),A=y.scores?._verdict,M=Array.isArray(y.scores?._missing_models)?y.scores._missing_models:[],H=ip(y).map(([L,q])=>({key:L,value:q,criterion:vg(e,L)})),F=L=>H.filter(q=>di(q.criterion)===L).length,X=TE.filter(L=>F(L.id)>0),P=L=>w.some(q=>{let ae=vc(L.value,q);return ae&&(ae.skipped||ae.score!=null&&ae.score<.7)}),Y=H.filter(L=>(f==="all"||di(L.criterion)===f)&&(!m||P(L))),C=TE.map(L=>({...L,rows:Y.filter(q=>di(q.criterion)===L.id)})).filter(L=>L.rows.length),_=gw(e,{...y,number:b}),z=vl(y),D=ci(y.completed_at||y.created_at),E=y.status==="complete"&&y.samples_evaluated?` \xB7 ${y.samples_passed||0}/${y.samples_evaluated} passed`:"",j={fontFamily:fe,fontSize:10,fontWeight:600,letterSpacing:"0.05em",textTransform:"uppercase",color:"var(--color-text-muted)",padding:"8px 12px",textAlign:"left",verticalAlign:"top",whiteSpace:"nowrap"},R={padding:"10px 12px",verticalAlign:"top"},U={padding:"7px 12px",verticalAlign:"middle"};return ye.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16},"data-testid":"evaluation-run-detail"},x,ye.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:12,flexWrap:"wrap"}},ye.default.createElement("div",{style:{minWidth:0}},ye.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},`Run #${b}`),ye.default.createElement("p",{style:{margin:"4px 0 0",fontSize:14,color:"var(--color-text-secondary)",textWrap:"pretty"}},`${e.name} \xB7 ${D} \xB7 @${e.agent?.name||"agent"} \xB7 ${mc(e,y)}${E}`)),ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},t.map((L,q)=>ye.default.createElement(fo,{key:L.id,square:!0,mono:!0,selected:L.id===y.id,onClick:()=>i?.(L),title:`${L.status} \xB7 ${ci(L.completed_at||L.created_at)}`},`#${lp(L,q,t,r)}`)),ye.default.createElement(mr,{variant:"primary",disabled:a,onClick:l,testId:"run-again-button"},a?"Running\u2026":"Run again"))),ye.default.createElement(zE,{spend:z}),y.status==="failed"?ye.default.createElement(ht,{"data-testid":"run-failed",style:{borderColor:"var(--color-error)"},padding:"14px 16px"},ye.default.createElement("span",{style:Xr(12,"var(--color-error)",{fontWeight:700})},"[!] run failed"),ye.default.createElement("div",{style:{fontSize:13,color:"var(--color-text-cell)",marginTop:6,lineHeight:"19px"}},y.error_message)):y.status!=="complete"?ye.default.createElement(ht,{"data-testid":"run-pending",padding:"14px 16px"},ye.default.createElement("span",{style:Xr(12,"var(--color-warning-text)",{fontWeight:700})},`[~] ${y.status}`),ye.default.createElement("div",{style:{fontSize:13,color:"var(--color-text-cell)",marginTop:6}},"Scores appear once the run completes.")):ye.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(260px, 1fr))",gap:12}},w.map(L=>{let q=Q$(y,L),ae=k(L),ce=ae?.samples??(L==null?y.samples_evaluated:null),ze=ae?.passed??(L==null?y.samples_passed:null),oe=[];return q.below>0&&oe.push({tone:"error",text:`below pass mark \xD7${q.below}`}),q.skipped>0&&oe.push({tone:"warning",text:`skipped \xD7${q.skipped}`}),ye.default.createElement(xg,{key:L||"all",label:L,short:L?Bo(L).short:"all samples",provider:ae?.provider||(L?Bo(L).provider:null)||null,winner:!!A?.winner&&A.winner===L,passed:ze,total:ce,avgScore:q.avg,criteria:{cleared:q.cleared,scored:q.scored},latencyMs:ae?.avg_duration_ms,inputTokens:ae?.input_tokens,outputTokens:ae?.output_tokens,cost:ae?.cost,perInteraction:ae?.cost!=null&&ce?ae.cost/ce:null,unit:"interaction",badges:oe})})),(A||M.length>0)&&ye.default.createElement(ht,{padding:"12px 16px",style:{display:"flex",flexDirection:"column",gap:6},"data-testid":"run-verdict"},A&&ye.default.createElement(ye.default.Fragment,null,ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},ye.default.createElement(et,null,"Verdict"),A.judge&&ye.default.createElement("span",{style:Xr()},`judged by ${A.judge}`)),ye.default.createElement("div",{style:{fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",textWrap:"pretty"}},ye.default.createElement("strong",{style:{color:"var(--color-text-primary)",fontFamily:fe,fontSize:12}},A.winner),A.rationale?` \xB7 ${A.rationale}`:"")),M.length>0&&ye.default.createElement("span",{style:Xr(11,"var(--color-warning-text)",{fontWeight:600})},`[!] no generations recorded under ${M.join(", ")}`)),ye.default.createElement(ht,{padding:0,style:{overflow:"hidden"},testId:"criteria-matrix"},ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"10px 14px",flexWrap:"wrap"}},ye.default.createElement(et,{style:{marginRight:4}},"Criteria"),ye.default.createElement(fo,{selected:f==="all",onClick:()=>p("all")},`All ${H.length}`),X.map(L=>ye.default.createElement(fo,{key:L.id,selected:f===L.id,onClick:()=>p(L.id)},`${L.label} ${F(L.id)}`)),ye.default.createElement(fo,{square:!0,mono:!0,selected:m,onClick:()=>g(L=>!L),style:{marginLeft:"auto",background:"transparent"},title:"Hide criteria every model cleared"},m?"[x] failed only":"[ ] failed only")),ye.default.createElement("div",{style:{overflowX:"auto"}},ye.default.createElement("table",{style:{width:"100%",borderCollapse:"collapse"}},ye.default.createElement("thead",null,ye.default.createElement("tr",{style:{background:"var(--color-muted)"}},ye.default.createElement("th",{style:{...j,width:"34%"}},"Criterion"),ye.default.createElement("th",{style:j},"Expects"),w.map(L=>ye.default.createElement("th",{key:L||"score",style:j},L?ye.default.createElement(ye.default.Fragment,null,ye.default.createElement("span",{style:{color:"var(--color-text-primary)",textTransform:"none",letterSpacing:0,fontSize:12}},Bo(L).short),(k(L)?.provider||Bo(L).provider)&&ye.default.createElement("span",{style:{display:"block",fontWeight:400,textTransform:"none",letterSpacing:0}},k(L)?.provider||Bo(L).provider)):"Score")))),ye.default.createElement("tbody",null,C.map(L=>ye.default.createElement(ye.default.Fragment,{key:L.id},ye.default.createElement("tr",{style:{background:"var(--color-background)",borderTop:"1px solid var(--color-border-light)"}},ye.default.createElement("td",{style:U},ye.default.createElement("span",{style:{fontWeight:600,fontSize:13,color:"var(--color-text-primary)"}},L.label)),ye.default.createElement("td",{style:U},ye.default.createElement("span",{style:Xr()},`${L.rows.length} ${L.rows.length===1?"criterion":"criteria"}`)),w.map(q=>{let ae=L.rows.filter(oe=>{let Ee=vc(oe.value,q);return Ee&&Ee.score!=null}),ce=ae.filter(oe=>vc(oe.value,q).score>=.7).length,ze=ae.length&&ce===ae.length?"var(--color-success-text)":ce===0&&ae.length?"var(--color-error-text)":"var(--color-text-cell)";return ye.default.createElement("td",{key:q||"score",style:U},ye.default.createElement("span",{style:Xr(11,ze,{fontWeight:600})},`${ce}/${ae.length} passed`))})),L.rows.map(q=>ye.default.createElement("tr",{key:q.key,"data-testid":"criterion-row",style:{borderTop:"1px solid var(--color-border-light)"}},ye.default.createElement("td",{style:R},ye.default.createElement("div",{style:Xr()},q.key),ye.default.createElement("div",{style:{fontSize:13,color:"var(--color-text-primary)"}},fw(q.criterion))),ye.default.createElement("td",{style:R},ye.default.createElement("span",{style:{fontFamily:fe,fontSize:11,padding:"2px 6px",border:"1px solid var(--color-border)",borderRadius:4,color:"var(--color-text-cell)",whiteSpace:"nowrap"},title:ap(q.criterion)},dw(ap(q.criterion),40))),w.map(ae=>ye.default.createElement("td",{key:ae||"score",style:R},ye.default.createElement(ace,{stats:vc(q.value,ae)}))))))),C.length===0&&ye.default.createElement("tr",{style:{borderTop:"1px solid var(--color-border-light)"}},ye.default.createElement("td",{colSpan:2+w.length,style:{padding:"16px 14px",fontSize:13,color:"var(--color-text-muted)"}},H.length?"Nothing failed under this filter.":"This run recorded no criterion scores.")))))),ye.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10}},ye.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:10}},ye.default.createElement(et,null,"What to fix"),ye.default.createElement("span",{style:Xr()},_.length?At(_.length,"item"):"nothing")),_.length?ye.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:12}},_.map(L=>ye.default.createElement(ice,{key:L.kind,item:L}))):ye.default.createElement(An,{style:{border:"1px solid var(--color-border-light)",borderRadius:10,padding:"14px 12px",color:"var(--color-success-text)"}},`[+] Every criterion cleared the ${.7.toFixed(2)} pass mark and nothing was skipped.`)),ye.default.createElement(gc,{evaluation:e,run:y,spend:z,onDelete:c,deleting:d}))}var mF=()=>{let e=dl().match(/^\/evaluations\/(\d+)\/runs\/(\d+)\/report/);if(e)return{evaluationId:e[1],runId:e[2]};let t=_E(window.location.search);return t?.runId?t:null},ww=()=>{let e=dl().match(/^\/evaluations\/(\d+)(?:\/runs\/(\d+))?\/?$/);return e?{evaluationId:Number(e[1]),runId:e[2]?Number(e[2]):null}:null},vF=()=>_E(window.location.search)?.evaluationId||(ww()?String(ww().evaluationId):null),bw=(e=11,t="var(--color-text-muted)")=>({fontFamily:fe,fontSize:e,color:t}),lce=e=>{let t=e.latest_run;return t?e.scenario_suite?(t.scores?._recommendations||[]).length+(t.status==="failed"?1:0):gw(e,t).length:0};function kg({embedded:e=!1,agentId:t=null}){let{darkMode:r}=Nt(),[n,o]=(0,je.useState)(()=>e?null:mF()),a=(0,je.useRef)(null),[i,l]=(0,je.useState)(0),[s,u]=(0,je.useState)(null);(0,je.useEffect)(()=>{let W=a.current?.contentDocument?.body;if(!W)return;let xe=()=>u(W.scrollHeight);if(xe(),typeof ResizeObserver>"u")return window.addEventListener("resize",xe),()=>window.removeEventListener("resize",xe);let De=new ResizeObserver(xe);return De.observe(W),()=>De.disconnect()},[i,n]),(0,je.useEffect)(()=>u(null),[n]);let[c,d]=(0,je.useState)([]),[f,p]=(0,je.useState)([]),[m,g]=(0,je.useState)(!0),[h,v]=(0,je.useState)(null),[y,b]=(0,je.useState)(null),[x,S]=(0,je.useState)(()=>{if(e)return null;let W=ww();return W?.runId?W:null}),[w,T]=(0,je.useState)(()=>e?null:vF()),[k,A]=(0,je.useState)({}),[M,H]=(0,je.useState)(!1),[F,X]=(0,je.useState)(null),[P,Y]=(0,je.useState)(null);(0,je.useEffect)(()=>{if(e)return;let W=()=>{o(mF());let xe=ww();S(xe?.runId?xe:null);let De=vF();T(De),De&&b(Ge=>new Set([...Ge||[],Number(De)]))};return window.addEventListener("popstate",W),window.addEventListener("dashboard:navigate",W),()=>{window.removeEventListener("popstate",W),window.removeEventListener("dashboard:navigate",W)}},[e]);let C=(0,je.useCallback)(async()=>{try{let W=await fetch(`/api/evaluations${t?`?agent_id=${encodeURIComponent(t)}`:""}`);if(!W.ok)throw new Error(`Request failed (${W.status})`);let De=(await W.json()).evaluations||[],Ge=null;try{De=await V$(De,w,fetch)}catch(it){Ge=it.message}d(De),b(it=>{if(it)return it;let zn=w?De.find($o=>String($o.id)===w):De.find($o=>$o.scenario_suite)||De[0];return new Set(zn?[zn.id]:[])}),v(Ge)}catch(W){v(W.message)}finally{g(!1)}},[t,w]),_=(0,je.useCallback)(async W=>{try{let xe=await fetch(`/api/evaluations/${W}`);if(!xe.ok)throw new Error(`Could not load this evaluation's runs (HTTP ${xe.status})`);let De=await xe.json();A(Ge=>({...Ge,[W]:{runs:De.evaluation?.runs||[],runCount:De.evaluation?.run_count??null}}))}catch(xe){A(De=>({...De,[W]:{runs:null,runCount:null,error:xe.message}})),v(xe.message)}},[]);(0,je.useEffect)(()=>{C(),fetch("/api/agents").then(W=>W.ok?W.json():{agents:[]}).then(W=>p(W.agents||[])).catch(()=>p([]))},[C]),(0,je.useEffect)(()=>{new Set([...y||[],...x?[x.evaluationId]:[]]).forEach(xe=>{let De=c.find(Ge=>Ge.id===xe);De&&!De.scenario_suite&&!k[xe]&&_(xe)})},[y,x,c,k,_]);let z=W=>{!e&&dl()!==W&&sw(W)},D=W=>!!y?.has(W),E=W=>{let xe=!D(W.id);b(De=>{let Ge=new Set(De||[]);return xe?Ge.add(W.id):Ge.delete(W.id),Ge}),z(xe?`/evaluations/${W.id}`:"/evaluations")},j=(W,xe)=>{b(De=>new Set([...De||[],W.id])),S({evaluationId:W.id,runId:xe.id}),z(`/evaluations/${W.id}/runs/${xe.id}`)},R=W=>{S(null),z(W?`/evaluations/${W}`:"/evaluations")},U=async W=>{X(W.id),v(null);try{let xe=await fetch(`/api/evaluations/${W.id}/run`,{method:"POST"}),De=await xe.json().catch(()=>({}));if(!xe.ok){v((De.errors||[De.error]).filter(Boolean).join(", ")||`Run failed (HTTP ${xe.status})`);return}await Promise.all([C(),_(W.id)]),De.run&&x?.evaluationId===W.id&&j(W,De.run)}finally{X(null)}},L=async W=>{if(window.confirm(`Delete "${W.name}"? Its runs are deleted with it.`)){Y(W.id),v(null);try{let xe=await fetch(`/api/evaluations/${W.id}`,{method:"DELETE"});xe.ok||xe.status===404?(d(De=>De.filter(Ge=>Ge.id!==W.id)),b(De=>{let Ge=new Set(De||[]);return Ge.delete(W.id),Ge}),x?.evaluationId===W.id&&R(null)):v(`Delete failed (HTTP ${xe.status})`)}finally{Y(null)}}};if(m)return je.default.createElement("div",{className:"flex items-center justify-center h-64"},je.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2",style:{borderBottomColor:"var(--color-accent-ui)"}}));let q=t?c.filter(W=>String(W.agent?.id)===String(t)):c,ae=W=>{let xe=k[W.id];return xe?.runs?{runs:xe.runs,runCount:W.run_count??xe.runCount??null,loaded:!0}:{runs:W.latest_run?[W.latest_run]:[],runCount:W.run_count??null,loaded:!1}};if(n){let W=Re(`/api/evaluations/${n.evaluationId}/runs/${n.runId}/report`),xe=`${W}?theme=${r?"dark":"light"}`;return je.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},je.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,flexWrap:"wrap"}},je.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12}},je.default.createElement(mr,{size:"sm",onClick:()=>{sw("/evaluations"),o(null)}},je.default.createElement("span",{style:{fontFamily:fe}},"<-")," Evaluations"),je.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},"Run report"),je.default.createElement("span",{style:bw(11)},`evaluation ${n.evaluationId} \xB7 run ${n.runId}`)),je.default.createElement("a",{href:W,target:"_blank",rel:"noopener noreferrer",title:"The report is one self-contained page \u2014 save it to export",style:{padding:"6px 12px",borderRadius:8,fontSize:13,fontWeight:500,color:"var(--color-text-cell)",border:"1px solid var(--color-border-strong)",textDecoration:"none"}},"Open standalone ",je.default.createElement("span",{style:{fontFamily:fe}},"->"))),je.default.createElement("iframe",{ref:a,src:xe,title:"Evaluation run report",onLoad:()=>l(De=>De+1),scrolling:"no",style:{width:"100%",borderRadius:12,border:"1px solid var(--color-border)",background:"var(--color-background)",display:"block",height:s?`${s}px`:"calc(100vh - 180px)"}}))}if(x){let W=q.find(xe=>xe.id===x.evaluationId);if(!W||!W.scenario_suite){let{runs:xe,runCount:De,loaded:Ge}=W?ae(W):{runs:[],runCount:null,loaded:!0};return je.default.createElement(KE,{evaluation:W,runs:xe,runCount:De,runId:x.runId,loading:!Ge,running:F===x.evaluationId,onSelectRun:it=>j(W,it),onRun:()=>U(W),onBack:()=>R(null),onOpenEvaluation:()=>R(x.evaluationId),onDelete:W?()=>L(W):void 0,deleting:P===x.evaluationId})}}let ze=q.map(W=>W.latest_run).filter(Boolean).filter(W=>W.status==="complete"),oe=ze.reduce((W,xe)=>W+(xe.samples_evaluated||0),0),Ee=ze.reduce((W,xe)=>W+(xe.samples_passed||0),0),V=oe?Ee/oe:null,I=[...new Set(q.map(W=>W.agent?.name).filter(Boolean))],N=q.reduce((W,xe)=>Math.max(W,ME(xe,xe.latest_run)),0),O=q.map(lce),Z=O.reduce((W,xe)=>W+xe,0),B=O.filter(Boolean).length,we=R$(ze),ee=q.length?`${At(I.length,"agent")} \xB7 ${N>1?`${N} models compared`:"no model comparisons"}`:"none defined yet",ue=we.agentCost!=null?[`agent ${jr(we.agentCost)} over ${At(we.interactions,"interaction")}`,we.judgeCost!=null?`judge ${jr(we.judgeCost)} offline`:"no judge spend"].join(" \xB7 "):"no priced runs yet";return je.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:20}},je.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:16,flexWrap:"wrap"}},!e&&je.default.createElement("div",{style:{flex:1,minWidth:260}},je.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},"Evaluations"),je.default.createElement("p",{style:{margin:"4px 0 0",fontSize:14,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Score recorded outputs, or paste a list of user messages to replay through the agent under one or more models. Every run is kept.")),je.default.createElement("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:12}},je.default.createElement(mr,{variant:"primary",onClick:()=>H(!M),testId:"new-evaluation-button"},M?"Cancel":"New Evaluation"))),h&&je.default.createElement("div",{style:{padding:"10px 12px",borderRadius:8,fontSize:13,background:"var(--color-error-soft)",color:"var(--color-error-text)"}},"Failed to load evaluations: ",h),M&&je.default.createElement(VE,{agents:f,agentId:t,onCancel:()=>H(!1),onCreated:async W=>{H(!1),await C(),W?.id!=null&&(b(xe=>new Set([...xe||[],W.id])),z(`/evaluations/${W.id}`))}}),je.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(190px, 1fr))",gap:16}},je.default.createElement(rp,{label:"Evaluations",value:q.length,sub:ee,testId:"stat-evaluations"}),je.default.createElement(rp,{label:"Samples scored",value:oe,sub:"latest run of each evaluation",testId:"stat-samples-scored"}),je.default.createElement(rp,{label:"Pass rate",value:V==null?"\u2014":G$(V),valueColor:V==null?"var(--color-text-muted)":ml[pc(V)].strong,sub:V==null?"no completed runs yet":`${Ee} / ${oe} samples passed`,testId:"stat-pass-rate"}),je.default.createElement(rp,{label:"To fix",value:Z,valueColor:Z?"var(--color-error)":void 0,sub:Z?`across ${At(B,"evaluation")}`:"nothing outstanding",testId:"stat-to-fix"}),je.default.createElement(rp,{label:"Cost / interaction",value:yl(we.perInteraction),valueColor:we.perInteraction==null?"var(--color-text-muted)":void 0,sub:ue,testId:"stat-agent-cost"})),je.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},q.map((W,xe)=>{let De=W.latest_run,Ge=D(W.id),it=!!W.scenario_suite,zn=O[xe],$o=(W.criteria||[]).some(zr=>di(zr)==="telemetry"),{runs:Fo,runCount:Uo}=ae(W);return je.default.createElement(ht,{key:W.id,padding:0,testId:"evaluation-card","data-telemetry":$o?"true":"false","data-kind":it?"suite":"sampling","data-open":Ge?"true":"false",style:{overflow:"hidden"}},je.default.createElement("div",{role:"button",tabIndex:0,"aria-expanded":Ge,onClick:()=>E(W),onKeyDown:zr=>{(zr.key==="Enter"||zr.key===" ")&&(zr.preventDefault(),E(W))},className:"hover:bg-[var(--color-hover)]",style:{display:"flex",alignItems:"center",gap:10,rowGap:8,padding:"12px 16px",cursor:"pointer",flexWrap:"wrap"}},je.default.createElement(Fa,{kind:"chevron",open:Ge}),je.default.createElement("span",{style:{width:22,height:22,borderRadius:6,background:"var(--color-muted)",display:"inline-flex",alignItems:"center",justifyContent:"center",fontFamily:fe,fontSize:11,fontWeight:700,color:"var(--color-text-secondary)",flexShrink:0},title:it?"scenario suite":"sampling evaluation"},it?"=":"~"),je.default.createElement("span",{style:{fontSize:15,fontWeight:700,color:"var(--color-text-primary)"}},W.name),je.default.createElement("span",{style:bw(11)},`@${W.agent?.name||"agent"} \xB7 ${mc(W)}`),je.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:12,flexShrink:0}},je.default.createElement("span",{style:bw(11)},ci(De?.completed_at||De?.created_at||W.created_at)),zn>0&&je.default.createElement("span",{style:bw(11,"var(--color-error)")},`${zn} to fix`),je.default.createElement(LE,{run:De,testId:it?"suite-pass-badge":"evaluation-pass-badge"}))),Ge&&je.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)"}},it?je.default.createElement(WE,{evaluation:W,onChanged:C,onDelete:()=>L(W),deleting:P===W.id,initialRunId:x?.evaluationId===W.id?x.runId:null,onRunSelected:zr=>z(`/evaluations/${W.id}/runs/${zr}`)}):je.default.createElement("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:12},"data-testid":"sampling-evaluation-panel"},je.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,flexWrap:"wrap"}},je.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-secondary)"}},Fo.length?nF(Fo,Uo):`@${W.agent?.name||"agent"} \xB7 no runs yet`),je.default.createElement(mr,{variant:"primary",size:"sm",disabled:F===W.id,onClick:zr=>{zr.stopPropagation(),U(W)},testId:"evaluation-run-button"},F===W.id?"Running\u2026":`Run ${mc(W)}`)),je.default.createElement(hg,{runs:Fo,runCount:Uo,evaluation:W,agentName:W.agent?.name,previousRun:W.previous_run,onOpen:zr=>j(W,zr),testId:"evaluation-runs-panel"}),je.default.createElement(gc,{evaluation:W,run:De,spend:vl(De),onDelete:()=>L(W),deleting:P===W.id}))))})),q.length===0&&!M&&je.default.createElement(ht,{style:{textAlign:"center",padding:"48px 20px"}},je.default.createElement("div",{style:{fontSize:16,fontWeight:600,color:"var(--color-text-primary)"}},"No evaluations yet"),je.default.createElement("p",{style:{margin:"8px 0 0",fontSize:13,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Create an evaluation to score recorded outputs, or paste scenarios to test new tasks across models. Every run is kept, so scores stay comparable over time.")))}var _e=te(re());var sce=e=>new Date(`${e}T00:00:00`),uce=[{id:"overview",label:"Overview"},{id:"traces",label:"Traces"},{id:"interactions",label:"Interactions"}];function qE({agent:e,onBack:t,embedded:r=!1}){let{darkMode:n}=Nt(),o=Ro(n),[a,i]=(0,_e.useState)(null),[l,s]=(0,_e.useState)(!0),{timeWindow:u,days:c}=si(),[d,f]=(0,_e.useState)("overview"),p=e.telemetry_agent_class||(()=>{let x=e.agent_class_name||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(S,w)=>w.toUpperCase()).replace(/^./,S=>S.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return x.endsWith("Agent")?x:`${x}Agent`})();(0,_e.useEffect)(()=>{m()},[e?.id,c]);let m=async()=>{if(e?.id){s(!0);try{let S=await(await fetch(`/api/agents/${e.id}/analytics?days=${c}`)).json();i(S)}catch(x){console.error("Failed to load analytics:",x)}finally{s(!1)}}},g=x=>x?x<1e3?`${x}ms`:`${(x/1e3).toFixed(2)}s`:"-",h=x=>x?x>=1e6?`${(x/1e6).toFixed(1)}M`:x>=1e3?`${(x/1e3).toFixed(1)}K`:x.toString():"0",v=x=>{switch(x){case"complete":return"bg-green-500";case"failed":return"bg-red-500";case"running":return"bg-blue-500";case"pending":return"bg-yellow-500";case"cancelled":return"bg-gray-500";default:return"bg-gray-400"}};if(l&&!a)return _e.default.createElement("div",{className:"flex items-center justify-center h-64"},_e.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let y=a?.runs_by_day?.length>0?Math.max(...a.runs_by_day.map(x=>x.count)):1,b=r?"overview":d;return _e.default.createElement("div",{className:"space-y-6"},r?_e.default.createElement("div",{className:"flex items-center justify-end gap-2"},u.minutes<1440&&_e.default.createElement("span",{className:"text-xs",style:{color:o.textMuted},title:"This view aggregates by day"},"showing 1 day"),_e.default.createElement(ui,null)):_e.default.createElement("div",{className:"flex items-center justify-between"},_e.default.createElement("div",{className:"flex items-center space-x-4"},_e.default.createElement("button",{onClick:t,className:"p-2 transition-colors",style:{color:o.textMuted}},_e.default.createElement("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"}))),_e.default.createElement("div",null,_e.default.createElement("h1",{className:"text-2xl font-bold",style:{color:o.textPrimary}},e.name," Analytics"),_e.default.createElement("p",{className:"text-sm",style:{color:o.textSecondary}},"Performance metrics and usage data"))),_e.default.createElement("div",{className:"flex items-center gap-2"},u.minutes<1440&&_e.default.createElement("span",{className:"text-xs",style:{color:o.textMuted},title:"This view aggregates by day"},"showing 1 day"),_e.default.createElement(ui,null))),!r&&_e.default.createElement("div",{className:"flex rounded-lg p-1 w-fit",style:{background:o.mutedBg}},uce.map(x=>_e.default.createElement("button",{key:x.id,onClick:()=>f(x.id),className:`px-4 py-1.5 text-sm rounded-md transition-colors ${d===x.id?"shadow":""}`,style:d===x.id?{background:o.cardBg,color:o.textPrimary}:{color:o.textSecondary}},x.label))),b==="traces"&&_e.default.createElement(fc,{agentClass:p,embedded:!0}),b==="interactions"&&_e.default.createElement(pl,{agentId:e.id,embedded:!0}),b==="overview"&&_e.default.createElement(_e.default.Fragment,null,_e.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4"},_e.default.createElement(Sw,{title:"Total Runs",value:a?.summary?.total_runs||0,icon:_e.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})),color:"rose",colors:o,darkMode:n}),_e.default.createElement(Sw,{title:"Success Rate",value:`${a?.summary?.success_rate||0}%`,icon:_e.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})),color:"green",colors:o,darkMode:n}),_e.default.createElement(Sw,{title:"Avg Duration",value:g(a?.summary?.avg_duration_ms),icon:_e.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})),color:"blue",colors:o,darkMode:n}),_e.default.createElement(Sw,{title:"Total Tokens",value:h(a?.summary?.total_tokens),icon:_e.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M7 21a4 4 0 01-4-4V5a2 2 0 012-2h4a2 2 0 012 2v12a4 4 0 01-4 4zm0 0h12a2 2 0 002-2v-4a2 2 0 00-2-2h-2.343M11 7.343l1.657-1.657a2 2 0 012.828 0l2.829 2.829a2 2 0 010 2.828l-8.486 8.485M7 17h.01"})),color:"purple",colors:o,darkMode:n})),_e.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6"},_e.default.createElement("div",{className:"lg:col-span-2 rounded-xl border p-6",style:{background:o.cardBg,borderColor:o.cardBorder}},_e.default.createElement("h3",{className:"font-semibold mb-4",style:{color:o.textPrimary}},"Runs Over Time"),a?.runs_by_day?.length>0?_e.default.createElement("div",{className:"h-48"},_e.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},a.runs_by_day.map((x,S)=>_e.default.createElement("div",{key:x.date,className:"flex-1 flex flex-col items-center group"},_e.default.createElement("div",{className:"relative w-full"},_e.default.createElement("div",{className:"w-full bg-red-500 rounded-t transition-all hover:bg-red-600",style:{height:`${x.count/y*150}px`,minHeight:x.count>0?"4px":"0"}}),_e.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap"},x.count," runs")),(S===0||S===a.runs_by_day.length-1||a.runs_by_day.length<=7)&&_e.default.createElement("span",{className:"text-xs mt-2 transform -rotate-45 origin-left",style:{color:o.textMuted}},sce(x.date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))))):_e.default.createElement("div",{className:"h-48 flex items-center justify-center",style:{color:o.textMuted}},"No data for this period")),_e.default.createElement("div",{className:"rounded-xl border p-6",style:{background:o.cardBg,borderColor:o.cardBorder}},_e.default.createElement("h3",{className:"font-semibold mb-4",style:{color:o.textPrimary}},"Status Breakdown"),Object.keys(a?.status_breakdown||{}).length>0?_e.default.createElement("div",{className:"space-y-3"},Object.entries(a.status_breakdown).map(([x,S])=>{let w=a?.summary?.total_runs||1,T=(S/w*100).toFixed(1);return _e.default.createElement("div",{key:x},_e.default.createElement("div",{className:"flex justify-between text-sm mb-1"},_e.default.createElement("span",{className:"capitalize",style:{color:o.textSecondary}},x),_e.default.createElement("span",{className:"font-medium",style:{color:o.textPrimary}},S," (",T,"%)")),_e.default.createElement("div",{className:"h-2 rounded-full overflow-hidden",style:{background:o.trackBg}},_e.default.createElement("div",{className:`h-full ${v(x)} rounded-full transition-all`,style:{width:`${T}%`}})))})):_e.default.createElement("div",{className:"h-32 flex items-center justify-center",style:{color:o.textMuted}},"No runs yet"))),a?.recent_errors?.length>0&&_e.default.createElement("div",{className:"rounded-xl border p-6",style:{background:o.cardBg,borderColor:o.cardBorder}},_e.default.createElement("h3",{className:"font-semibold mb-4",style:{color:o.textPrimary}},"Recent Errors"),_e.default.createElement("div",{className:"space-y-3"},a.recent_errors.map(x=>_e.default.createElement("div",{key:x.id,className:"flex items-start space-x-3 p-3 rounded-lg",style:{background:n?"rgba(220,38,38,0.12)":"#fef2f2"}},_e.default.createElement("svg",{className:"w-5 h-5 text-red-500 flex-shrink-0 mt-0.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})),_e.default.createElement("div",{className:"flex-1 min-w-0"},_e.default.createElement("p",{className:"text-sm",style:{color:n?"#fca5a5":"#991b1b"}},x.error||"Unknown error"),_e.default.createElement("p",{className:"text-xs mt-1",style:{color:n?"#f87171":"#dc2626"}},new Date(x.created_at).toLocaleString())))))),_e.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4"},_e.default.createElement("div",{className:"rounded-lg p-4",style:{background:o.innerBg}},_e.default.createElement("p",{className:"text-sm",style:{color:o.textSecondary}},"Completed Runs"),_e.default.createElement("p",{className:"text-2xl font-bold",style:{color:o.textPrimary}},a?.summary?.completed_runs||0)),_e.default.createElement("div",{className:"rounded-lg p-4",style:{background:o.innerBg}},_e.default.createElement("p",{className:"text-sm",style:{color:o.textSecondary}},"Failed Runs"),_e.default.createElement("p",{className:"text-2xl font-bold",style:{color:o.textPrimary}},a?.summary?.failed_runs||0)),_e.default.createElement("div",{className:"rounded-lg p-4",style:{background:o.innerBg}},_e.default.createElement("p",{className:"text-sm",style:{color:o.textSecondary}},"Avg Tokens/Run"),_e.default.createElement("p",{className:"text-2xl font-bold",style:{color:o.textPrimary}},h(a?.summary?.avg_tokens_per_run))),_e.default.createElement("div",{className:"rounded-lg p-4",style:{background:o.innerBg}},_e.default.createElement("p",{className:"text-sm",style:{color:o.textSecondary}},"Period"),_e.default.createElement("p",{className:"text-2xl font-bold",style:{color:o.textPrimary}},a?.period_days||30," days")))))}var gF={rose:["#dc2626","rgba(220,38,38,0.18)","#fee2e2"],green:["#16a34a","rgba(22,163,74,0.18)","#dcfce7"],blue:["#2563eb","rgba(37,99,235,0.18)","#dbeafe"],purple:["#7c3aed","rgba(124,58,237,0.18)","#ede9fe"]};function Sw({title:e,value:t,icon:r,color:n,colors:o,darkMode:a}){let[i,l,s]=gF[n]||gF.rose;return _e.default.createElement("div",{className:"rounded-xl border p-4",style:{background:o.cardBg,borderColor:o.cardBorder}},_e.default.createElement("div",{className:"flex items-center justify-between"},_e.default.createElement("div",null,_e.default.createElement("p",{className:"text-sm",style:{color:o.textSecondary}},e),_e.default.createElement("p",{className:"text-2xl font-bold mt-1",style:{color:o.textPrimary}},t)),_e.default.createElement("div",{className:"p-3 rounded-lg",style:{background:a?l:s,color:i}},r)))}var ne=te(re());var cce=["agent_defined","dashboard","mcp"],YE={agent_defined:"Agent-defined",dashboard:"Dashboard",mcp:"MCP"},dce={agent_defined:"the host's schema tools, and what the agent class declares",dashboard:"built into the dashboard",mcp:"offered by the services above"},kw=[{value:"24h",label:"24h",hours:24},{value:"7d",label:"7d",hours:168},{value:"30d",label:"30d",hours:720}],XE=e=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let t=Number(e);return t>=1e3?`${(t/1e3).toFixed(1)}s`:`${Math.round(t)}ms`},ZE=(e,t=Date.now())=>{if(!e)return"never";let r=new Date(e).getTime();if(Number.isNaN(r))return"never";let n=Math.floor((t-r)/6e4);if(n<1)return"just now";if(n<60)return`${n}m ago`;let o=Math.floor(n/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`},GE=e=>{if(typeof e=="string")return e.trim()||null;if(!e||typeof e!="object")return null;let t=e.key||e.name;return t&&String(t).trim()||null};function Aw(e,t=[]){let r=new Map;(t||[]).forEach(o=>{let a=GE(o);a&&r.set(a,o)});let n={};return(e.services||[]).forEach(o=>{let a=r.get(o.key),i=a&&typeof a=="object"&&Array.isArray(a.tools)?a.tools.map(l=>String(l&&l.name?l.name:l)):null;n[o.key]={on:r.has(o.key),tools:Object.fromEntries((o.tools||[]).map(l=>[l.name,i===null||i.includes(l.name)]))}}),n}var yF=e=>{let t=String(e||"").trim().toLowerCase();return(...r)=>!t||r.some(n=>String(n||"").toLowerCase().includes(t))};function hF(e,t,{query:r="",filter:n=null}={}){let o=yF(r);return(e.services||[]).filter(a=>n?n==="enabled"?t[a.key]?.on:a.status===n:!0).filter(a=>o(a.name,a.description)||(a.tools||[]).some(i=>o(i.name))).map(a=>{let i=t[a.key]||{on:!1,tools:{}},l=a.tools||[],s=l.map(c=>({...c,on:!!i.tools[c.name]})),u=s.filter(c=>c.on);return{...a,on:i.on,tools:s,offeredCount:l.length,enabledCount:u.length,toolsLabel:`${u.length}/${l.length}`,partial:i.on&&u.length{let o=t[n.key];!o||!o.on||(n.tools||[]).forEach(a=>{o.tools[a.name]&&r.push({...a,key:`${n.key}:${a.name}`,source:"mcp",editable:!1,enabled:!0,server:n.name,serverKey:n.key})})}),r}function xF(e,t,r=[]){let n=new Set((r||[]).map(String));return(e.tools||[]).map(o=>({...o,on:o.editable?n.has(o.key):o.enabled!==!1})).concat(fce(e,t).map(o=>({...o,on:!0})))}function bF(e,t,r,{query:n="",source:o=null,enabledOnly:a=!1}={}){let i=yF(n),l=xF(e,t,r),s=l.filter(u=>!o||u.source===o).filter(u=>!a||u.on).filter(u=>i(u.name,u.description));return cce.map(u=>{let c=l.filter(p=>p.source===u),d=c.some(p=>p.editable),f=c.filter(p=>p.on).length;return{source:u,name:YE[u],meta:`${dce[u]} \xB7 ${c.length} ${c.length===1?"tool":"tools"}`,countLabel:d?`${f}/${c.length} on`:`${c.length} offered`,editable:d,total:c.length,enabledCount:f,keys:c.map(p=>p.key),rows:s.filter(p=>p.source===u)}}).filter(u=>u.total>0)}function wF(e,t,r,{range:n="7d"}={}){let o=xF(e,t,r),a=e.usage_available!==!1,i=e.services||[],l=i.filter(p=>t[p.key]?.on),s=o.filter(p=>p.source!=="mcp"&&p.on),u=o.filter(p=>p.source==="mcp"),c=o.reduce((p,m)=>p+(m.calls||0),0),d=o.reduce((p,m)=>p+(m.errors||0),0),f=o.filter(p=>p.on&&!p.calls).length;return[{key:"tools",label:"Tools enabled",value:String(s.length+u.length),sub:`${s.length} direct \xB7 ${u.length} offered through MCP`},{key:"services",label:"MCP services",value:`${l.length}/${i.length}`,sub:l.length?`on for this agent: ${l.map(p=>p.name).join(", ")}`:"none enabled for this agent"},{key:"calls",label:"Tool calls",value:a?String(c):"\u2014",sub:a?`${d} error${d===1?"":"s"} in the last ${n} \xB7 traced`:"no calls recorded in this window yet"},{key:"unused",label:"Never called",value:a?String(f):"\u2014",sub:"enabled but unused in this window",tone:a&&f>6?"warning":null}]}function SF(e,t,r){let n=Aw(e,t.mcpServers),o=Aw(e,r.mcpServers),a=0;Object.keys(n).forEach(s=>{n[s].on!==o[s].on&&(a+=1),Object.keys(n[s].tools).forEach(u=>{n[s].tools[u]!==o[s].tools[u]&&(a+=1)})});let i=new Set((t.tools||[]).map(String)),l=new Set((r.tools||[]).map(String));return(e.tools||[]).forEach(s=>{s.editable&&i.has(s.key)!==l.has(s.key)&&(a+=1)}),a}function AF(e,t,r=[]){let n=new Map;(r||[]).forEach(i=>{let l=GE(i);l&&n.set(l,i)});let o=[];(e.services||[]).forEach(i=>{let l=t[i.key];if(!l||!l.on)return;let s=(i.tools||[]).map(p=>p.name),u=s.filter(p=>l.tools[p]),c=n.get(i.key),d=s.length>0&&u.lengthi.key));return(r||[]).forEach(i=>{let l=GE(i);l&&!a.has(l)&&o.push(i)}),o}function QE(e,t=[]){let r=new Set((e.tools||[]).filter(a=>a.editable).map(a=>a.key)),n=(t||[]).map(String).filter(a=>!r.has(a)),o=(e.tools||[]).filter(a=>a.editable&&t.includes(a.key)).map(a=>a.key);return n.concat(o)}var pce={active:"success",configured:"info",available:"warning",idle:"muted"},mce={agent_defined:"success",dashboard:"success",mcp:"info"},kF="44px minmax(0, 1fr) 108px 60px 52px 58px 74px 26px",CF="26px minmax(0, 1fr) 108px 52px 52px 52px 74px",vce=[{value:"enabled",label:"Enabled"},{value:"active",label:"Active"},{value:"configured",label:"Configured"},{value:"available",label:"Available"}],NF={padding:"7px 16px",gap:10,alignItems:"end",background:"var(--color-muted)",fontFamily:fe,fontSize:10,fontWeight:600,letterSpacing:"0.05em",textTransform:"uppercase",color:"var(--color-text-muted)"},fi={fontFamily:fe,fontSize:11,textAlign:"right",color:"var(--color-text-primary)"},Cw={whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"};function gce({on:e,onClick:t,title:r}){return ne.default.createElement("span",{role:"switch","aria-checked":e,tabIndex:0,title:r,onClick:t,onKeyDown:n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),t(n))},style:{width:34,height:18,borderRadius:999,flexShrink:0,position:"relative",cursor:"pointer",background:e?"var(--color-accent-ui)":"var(--color-muted)",border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border-strong)"}`,transition:"background 0.12s ease"}},ne.default.createElement("span",{style:{position:"absolute",top:1,left:e?17:1,width:14,height:14,borderRadius:"50%",background:e?"#ffffff":"var(--color-text-muted)",transition:"left 0.12s ease"}}))}function _F({on:e,dim:t=!1}){return ne.default.createElement("span",{"aria-hidden":"true",style:{width:16,height:16,borderRadius:4,display:"flex",alignItems:"center",justifyContent:"center",fontFamily:fe,fontSize:10,fontWeight:700,flexShrink:0,border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border-strong)"}`,background:e?"var(--color-accent-ui)":"transparent",color:e?"var(--color-on-accent)":"transparent",opacity:t?.8:1}},e?"x":"")}function Nw({children:e,onClick:t,disabled:r,title:n}){return ne.default.createElement("button",{type:"button",onClick:t,disabled:r,title:n,style:{padding:"3px 9px",borderRadius:6,background:"transparent",fontFamily:fe,fontSize:11,border:"1px solid var(--color-border-strong)",color:"var(--color-text-cell)",cursor:r?"not-allowed":"pointer",opacity:r?.5:1}},e)}function EF({children:e}){return ne.default.createElement("div",{style:{overflowX:"auto"}},ne.default.createElement("div",{style:{minWidth:800}},e))}function JE({agent:e,formData:t,updateField:r,onSave:n,hasChanges:o=!1,isLoading:a}){let[i,l]=(0,ne.useState)(null),[s,u]=(0,ne.useState)(null),[c,d]=(0,ne.useState)("7d"),[f,p]=(0,ne.useState)(""),[m,g]=(0,ne.useState)(null),[h,v]=(0,ne.useState)(null),[y,b]=(0,ne.useState)(!1),[x,S]=(0,ne.useState)(null),[w,T]=(0,ne.useState)({}),k=(kw.find(I=>I.value===c)||kw[1]).hours;(0,ne.useEffect)(()=>{let I=!1;return u(null),fetch(`/api/agents/${e.id}/tool_roster?hours=${k}`).then(N=>{if(!N.ok)throw new Error(`Request failed (${N.status})`);return N.json()}).then(N=>{I||l(N)}).catch(N=>{I||u(N.message)}),()=>{I=!0}},[e.id,k]);let A=(0,ne.useMemo)(()=>({services:[],tools:[]}),[]),M=i||A,H=(0,ne.useMemo)(()=>t.tools||[],[t.tools]),F=(0,ne.useMemo)(()=>t.mcp_servers||[],[t.mcp_servers]),X=(0,ne.useMemo)(()=>Aw(M,F),[M,F]),P=(0,ne.useMemo)(()=>hF(M,X,{query:f,filter:m}),[M,X,f,m]),Y=(0,ne.useMemo)(()=>bF(M,X,H,{query:f,source:h,enabledOnly:y}),[M,X,H,f,h,y]),C=(0,ne.useMemo)(()=>wF(M,X,H,{range:c}),[M,X,H,c]),_=(0,ne.useMemo)(()=>SF(M,{tools:H,mcpServers:F},{tools:e.tools||[],mcpServers:e.mcp_servers||[]}),[M,H,F,e]),z=M.usage_available!==!1,D=I=>z?I:"\u2014",E=(0,ne.useCallback)(I=>{r("mcp_servers",AF(M,I,F))},[M,F,r]),j=(0,ne.useCallback)(I=>{let N=X[I.key];E({...X,[I.key]:{...N,on:!N.on}})},[X,E]),R=(0,ne.useCallback)((I,N)=>{let O=X[I.key];O.on&&E({...X,[I.key]:{...O,tools:{...O.tools,[N.name]:!O.tools[N.name]}}})},[X,E]),U=(0,ne.useCallback)((I,N)=>{let O=X[I.key],Z=Object.fromEntries((I.tools||[]).map(B=>[B.name,N]));E({...X,[I.key]:{on:N||O.on,tools:Z}})},[X,E]),L=(0,ne.useCallback)(I=>{if(!I.editable)return;let N=I.on?H.filter(O=>O!==I.key):[...H,I.key];r("tools",QE(M,N))},[M,H,r]),q=(0,ne.useCallback)((I,N)=>{if(!I.editable)return;let O=N?[...H,...I.keys.filter(Z=>!H.includes(Z))]:H.filter(Z=>!I.keys.includes(Z));r("tools",QE(M,O))},[M,H,r]),ae=(0,ne.useCallback)(()=>{r("tools",e.tools||[]),r("mcp_servers",e.mcp_servers||[])},[e,r]),ce=(M.services||[]).filter(I=>X[I.key]?.on),ze=Y.find(I=>I.source==="mcp"),Ee=Y.filter(I=>I.source!=="mcp").reduce((I,N)=>I+N.enabledCount,0)+(ze?ze.total:0),V=Y.reduce((I,N)=>I+N.total,0);return s?ne.default.createElement(ht,null,ne.default.createElement(et,null,"Tools & MCP services"),ne.default.createElement("p",{style:{margin:"8px 0 0",fontSize:13,color:"var(--color-error-text)"}},"Could not load the roster: ",s)):i?ne.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},ne.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:16,flexWrap:"wrap"}},ne.default.createElement("div",{style:{flex:1,minWidth:260}},ne.default.createElement("h2",{style:{margin:0,fontSize:16,fontWeight:600,color:"var(--color-text-primary)"}},"Tools & MCP services"),ne.default.createElement("p",{style:{margin:"3px 0 0",fontSize:13,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Turn a service on to offer its tools, then narrow the roster tool by tool. Call counts come from the traces recorded on every tool call.")),ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ne.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 10px",borderRadius:8,border:"1px solid var(--color-border-strong)",background:"var(--color-card)"}},ne.default.createElement("span",{style:{fontFamily:fe,fontSize:12,color:"var(--color-text-muted)"}},"?"),ne.default.createElement("input",{value:f,onChange:I=>p(I.target.value),placeholder:"Filter tools and services\u2026","aria-label":"Filter tools and services",style:{border:"none",outline:"none",background:"transparent",color:"var(--color-text-primary)",fontSize:13,width:180}})),ne.default.createElement(cw,{options:kw,value:c,onChange:d}))),ne.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(180px, 1fr))",gap:12}},C.map(I=>ne.default.createElement(ht,{key:I.key,padding:"14px 16px",testId:`roster-stat-${I.key}`},ne.default.createElement(et,{size:11,spacing:"0.05em"},I.label),ne.default.createElement("div",{style:{marginTop:6,fontFamily:fe,fontSize:26,fontWeight:700,lineHeight:1.1,color:I.tone==="warning"?"var(--color-warning)":"var(--color-text-primary)"}},I.value),ne.default.createElement("div",{style:{marginTop:5,fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},I.sub)))),ne.default.createElement(ht,{padding:0,style:{overflow:"hidden"},testId:"mcp-services-card"},ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 16px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},ne.default.createElement(et,null,"MCP services"),ne.default.createElement("span",{style:{fontFamily:fe,fontSize:11,color:"var(--color-text-muted)"}},ce.length," of ",(M.services||[]).length," enabled \xB7 ",ze?ze.total:0," tools offered"),ne.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},ne.default.createElement(fo,{selected:!m,onClick:()=>g(null)},"All ",(M.services||[]).length),vce.map(I=>ne.default.createElement(fo,{key:I.value,selected:m===I.value,onClick:()=>g(m===I.value?null:I.value)},I.label,I.value==="enabled"?` ${ce.length}`:"")),ne.default.createElement(np,{href:Re("/mcp"),onClick:()=>Is("/mcp"),title:"Every MCP service this workspace knows",style:{marginLeft:4}},"manage servers"))),ne.default.createElement(EF,null,ne.default.createElement("div",{style:{display:"grid",gridTemplateColumns:kF,...NF}},ne.default.createElement("span",null,"On"),ne.default.createElement("span",null,"Service"),ne.default.createElement("span",null,"Status"),ne.default.createElement("span",{style:{textAlign:"right"}},"Tools"),ne.default.createElement("span",{style:{textAlign:"right"}},"Calls"),ne.default.createElement("span",{style:{textAlign:"right"}},"Errors"),ne.default.createElement("span",{style:{textAlign:"right"}},"Last seen"),ne.default.createElement("span",null)),P.map(I=>{let N=x===I.key;return ne.default.createElement("div",{key:I.key},ne.default.createElement("div",{className:"aa-roster-row","data-on":I.on?"true":"false","data-testid":`service-row-${I.key}`,style:{display:"grid",gridTemplateColumns:kF,gap:10,alignItems:"center",padding:"10px 16px",borderTop:"1px solid var(--color-border-light)"}},ne.default.createElement(gce,{on:I.on,onClick:()=>j(I),title:`${I.on?"Disable":"Enable"} ${I.name} for this agent`}),ne.default.createElement("div",{onClick:()=>S(N?null:I.key),style:{minWidth:0,cursor:"pointer"}},ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ne.default.createElement("span",{style:{fontSize:13,fontWeight:600,color:"var(--color-text-primary)"}},I.name),I.first_party&&ne.default.createElement(Tt,{tone:"accent",size:10},"first-party"),!I.known&&ne.default.createElement(Tt,{size:10,title:"Seen in your traffic but not in the platform catalog"},"undocumented"),I.partial&&ne.default.createElement(Tt,{tone:"warning",size:10},I.partialLabel)),ne.default.createElement("div",{style:{marginTop:2,fontSize:12,lineHeight:"17px",color:"var(--color-text-secondary)",...Cw}},I.description)),ne.default.createElement("span",null,ne.default.createElement(Tt,{tone:pce[I.status]||"muted"},I.status)),ne.default.createElement("span",{style:{...fi,color:I.on?"var(--color-text-primary)":"var(--color-text-muted)"}},I.toolsLabel),ne.default.createElement("span",{style:fi},D(I.calls)),ne.default.createElement("span",{style:{...fi,color:I.errors?"var(--color-error-text)":"var(--color-text-secondary)"}},D(I.errors)),ne.default.createElement("span",{style:{...fi,color:"var(--color-text-muted)"}},D(ZE(I.last_seen))),ne.default.createElement("span",{onClick:()=>S(N?null:I.key),style:{cursor:"pointer",textAlign:"center"}},ne.default.createElement(Fa,{kind:"chevron",open:N}))),N&&ne.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",padding:"10px 16px 12px"}},ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",marginBottom:8}},ne.default.createElement(et,{size:10,color:"var(--color-text-muted)"},"Tools offered"),ne.default.createElement("span",{style:{fontFamily:fe,fontSize:11,color:"var(--color-text-muted)"}},I.transport),ne.default.createElement("span",{style:{marginLeft:"auto",display:"flex",gap:8}},ne.default.createElement(Nw,{onClick:()=>U(I,!0),title:`Offer every tool ${I.name} serves`},"all"),ne.default.createElement(Nw,{onClick:()=>U(I,!1),disabled:!I.on,title:`Offer none of ${I.name}'s tools`},"none"))),I.tools.length===0?ne.default.createElement(An,{style:{padding:"10px 0"}},"no tools recorded for this service yet"):ne.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:"6px 14px"}},I.tools.map(O=>ne.default.createElement("div",{key:O.name,className:"aa-roster-row",onClick:()=>R(I,O),style:{display:"grid",gridTemplateColumns:"20px minmax(0, 1fr) 46px 52px",gap:10,alignItems:"center",padding:"6px 8px",borderRadius:8,cursor:I.on?"pointer":"default",opacity:I.on?1:.55}},ne.default.createElement(_F,{on:O.on,dim:!I.on}),ne.default.createElement("span",{style:{minWidth:0}},ne.default.createElement("span",{style:{display:"block",fontFamily:fe,fontSize:12,fontWeight:600,color:O.on?"var(--color-text-primary)":"var(--color-text-secondary)",...Cw}},O.name),ne.default.createElement("span",{style:{display:"block",fontSize:11,color:"var(--color-text-muted)",...Cw}},O.description)),ne.default.createElement("span",{style:{...fi,color:"var(--color-text-secondary)"}},D(O.calls)),ne.default.createElement("span",{style:{...fi,color:O.errors?"var(--color-error-text)":"var(--color-text-muted)"}},D(O.errors?`${O.errors} err`:XE(O.avg_duration_ms)))))),!I.on&&ne.default.createElement("div",{style:{marginTop:8,fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Turning ",I.name," on offers these ",I.tools.length," tools to the agent and starts recording traces and metrics for every call.")))}),P.length===0&&ne.default.createElement(An,{style:{borderTop:"1px solid var(--color-border-light)",padding:"18px 16px"}},f?`no services match "${f}"`:"no MCP services yet"))),ne.default.createElement(ht,{padding:0,style:{overflow:"hidden"},testId:"tools-card"},ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 16px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},ne.default.createElement(et,null,"Tools"),ne.default.createElement("span",{style:{fontFamily:fe,fontSize:11,color:"var(--color-text-muted)"}},Ee," enabled of ",V," available"),ne.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},ne.default.createElement(fo,{selected:!h,onClick:()=>v(null)},"All ",V),Y.map(I=>ne.default.createElement(fo,{key:I.source,selected:h===I.source,onClick:()=>v(h===I.source?null:I.source)},I.name," ",I.total)),ne.default.createElement(fo,{square:!0,mono:!0,selected:y,onClick:()=>b(!y),style:{marginLeft:4}},y?"[x] enabled only":"[ ] enabled only"))),ne.default.createElement(EF,null,ne.default.createElement("div",{style:{display:"grid",gridTemplateColumns:CF,...NF}},ne.default.createElement("span",null),ne.default.createElement("span",null,"Tool"),ne.default.createElement("span",null,"Source"),ne.default.createElement("span",{style:{textAlign:"right"}},"Calls"),ne.default.createElement("span",{style:{textAlign:"right"}},"Errors"),ne.default.createElement("span",{style:{textAlign:"right"}},"Avg"),ne.default.createElement("span",{style:{textAlign:"right"}},"Last seen")),Y.map(I=>{let N=w[I.source]!==!0;return ne.default.createElement("div",{key:I.source},ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"7px 16px",borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",flexWrap:"wrap"}},ne.default.createElement("span",{onClick:()=>T({...w,[I.source]:N}),style:{cursor:"pointer",display:"inline-flex",alignItems:"center",gap:10}},ne.default.createElement(Fa,{kind:"chevron",open:N}),ne.default.createElement("span",{style:{fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},I.name)),ne.default.createElement("span",{style:{fontFamily:fe,fontSize:11,color:"var(--color-text-muted)"}},I.meta),ne.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:8}},ne.default.createElement("span",{style:{fontFamily:fe,fontSize:11,color:"var(--color-text-cell)"}},I.countLabel),I.editable&&ne.default.createElement(ne.default.Fragment,null,ne.default.createElement(Nw,{onClick:()=>q(I,!0)},"all"),ne.default.createElement(Nw,{onClick:()=>q(I,!1)},"none")))),N&&I.rows.map(O=>ne.default.createElement("div",{key:O.key,className:"aa-roster-row","data-on":O.on?"true":"false","data-testid":`tool-row-${O.key}`,onClick:()=>L(O),style:{display:"grid",gridTemplateColumns:CF,gap:10,alignItems:"center",padding:"10px 16px",borderTop:"1px solid var(--color-border-light)",cursor:O.editable?"pointer":"default",opacity:O.editable?1:.75}},ne.default.createElement(_F,{on:O.on,dim:!O.editable}),ne.default.createElement("div",{style:{minWidth:0}},ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ne.default.createElement("span",{style:{fontFamily:fe,fontSize:12,fontWeight:600,color:O.on?"var(--color-text-primary)":"var(--color-text-secondary)"}},O.name),O.source==="mcp"&&ne.default.createElement(Tt,{size:10},"via ",O.server),O.source==="agent_defined"&&(O.editable?ne.default.createElement(Tt,{size:10,title:"Generated from the host's schema tools; offered to this agent only while its roster names it"},"from schema"):ne.default.createElement(Tt,{size:10,title:"Declared by the agent class in code, so the roster reports it rather than selecting it"},"from code")),z&&O.on&&!O.calls&&ne.default.createElement(Tt,{size:10},"unused")),ne.default.createElement("div",{style:{marginTop:2,fontSize:12,lineHeight:"17px",color:"var(--color-text-secondary)",...Cw}},O.description)),ne.default.createElement("span",null,ne.default.createElement(Tt,{tone:mce[O.source]||"muted"},YE[O.source])),ne.default.createElement("span",{style:fi},D(O.calls)),ne.default.createElement("span",{style:{...fi,color:O.errors?"var(--color-error-text)":"var(--color-text-secondary)"}},D(O.errors)),ne.default.createElement("span",{style:{...fi,color:"var(--color-text-secondary)"}},D(XE(O.avg_duration_ms))),ne.default.createElement("span",{style:{...fi,color:"var(--color-text-muted)"}},D(ZE(O.last_seen))))))}),Y.every(I=>I.rows.length===0)&&ne.default.createElement(An,{style:{borderTop:"1px solid var(--color-border-light)",padding:"18px 16px"}},f?`no tools match "${f}"`:"nothing enabled yet"))),ne.default.createElement(ht,{padding:"12px 16px",style:{position:"sticky",bottom:0,zIndex:4,background:"var(--color-surface)",display:"flex",alignItems:"center",gap:12,flexWrap:"wrap"},testId:"roster-action-bar"},ne.default.createElement("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:3}},ne.default.createElement(et,{size:11,spacing:"0.05em"},Ee," tools \xB7 ",ce.length," services"),ne.default.createElement("span",{style:{fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Every enabled tool is traced: calls, arguments, errors and latency land in Traces and roll up into Metrics.")),ne.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},_>0&&ne.default.createElement(ne.default.Fragment,null,ne.default.createElement("span",{style:{fontFamily:fe,fontSize:11,color:"var(--color-warning-text)"}},_," change",_===1?"":"s"," pending"),ne.default.createElement(mr,{variant:"secondary",onClick:ae},"Discard")),ne.default.createElement(mr,{variant:o?"primary":"secondary",onClick:n,disabled:a||!o,title:o?"Save this agent":"Nothing to save",style:o?void 0:{background:"var(--color-muted)",color:"var(--color-text-muted)",border:"1px solid transparent",cursor:"default"}},a?"Saving\u2026":"Save Changes")))):ne.default.createElement(ht,null,ne.default.createElement(An,null,"loading the roster\u2026"))}var yce=[{id:"config",label:"Configuration"},{id:"instructions",label:"Instructions"},{id:"tools",label:"Tools"},{id:"versions",label:"Versions"},{id:"code",label:"Code"}],MF=[{id:"traces",label:"Traces"},{id:"metrics",label:"Metrics"},{id:"interactions",label:"Interactions"},{id:"evals",label:"Evals"},{id:"feedback",label:"Feedback"}],hce=MF.map(e=>e.id),OF={success:{light:["#dcfce7","#166534"],dark:["rgba(22,163,74,0.18)","#4ade80"]},warning:{light:["#fef9c3","#854d0e"],dark:["rgba(234,179,8,0.18)","#facc15"]},neutral:{light:["#f3f4f6","#4b5563"],dark:["rgba(255,255,255,0.1)","rgba(255,255,255,0.7)"]},error:{light:["#fee2e2","#991b1b"],dark:["rgba(220,38,38,0.18)","#f87171"]},info:{light:["#dbeafe","#1e40af"],dark:["rgba(59,130,246,0.18)","#60a5fa"]}},xce={active:"success",draft:"warning",archived:"neutral",failed:"error",trial:"info"};function Ls({tone:e="neutral",mono:t=!1,darkMode:r,children:n}){let[o,a]=(OF[e]||OF.neutral)[r?"dark":"light"];return le.default.createElement("span",{style:{background:o,color:a,borderRadius:"999px",padding:"2px 8px",fontSize:"11px",fontWeight:600,fontFamily:t?Ve.mono:void 0,whiteSpace:"nowrap"}},n)}function qn({variant:e="secondary",size:t="md",onClick:r,disabled:n,colors:o,title:a,testId:i,children:l}){let u={padding:t==="sm"?"5px 10px":"7px 14px",borderRadius:"8px",fontSize:"13px",fontWeight:500,cursor:n?"not-allowed":"pointer",transition:"background 0.15s ease, border-color 0.15s ease",whiteSpace:"nowrap"},c={primary:{background:n?o.mutedBg:bn,color:n?o.textMuted:"#ffffff",border:"1px solid transparent"},secondary:{background:"transparent",color:o.textCell,border:`1px solid ${o.inputBorder}`},danger:{background:"transparent",color:"#dc2626",border:"1px solid rgba(220,38,38,0.4)"}};return le.default.createElement("button",{type:"button",onClick:r,disabled:n,title:a,"data-testid":i,style:{...u,...c[e]||c.secondary}},l)}function TF({tabs:e,active:t,onChange:r,colors:n}){return le.default.createElement("div",{style:{display:"flex",alignItems:"center"}},e.map(o=>{let a=t===o.id;return le.default.createElement("button",{key:o.id,type:"button",onClick:()=>r(o.id),style:{padding:"10px 12px",marginBottom:"-1px",background:"none",border:"none",borderBottom:`2px solid ${a?bn:"transparent"}`,color:a?bn:n.textSecondary,fontSize:"13px",fontWeight:a?600:500,cursor:"pointer",whiteSpace:"nowrap"}},o.label)}))}function _w({agent:e,meta:t,onSave:r,onDelete:n,onRun:o,onDuplicate:a,onRunReport:i,onBack:l,isLoading:s,initialTab:u}){let{darkMode:c}=Nt(),d=Ro(c),[f,p]=(0,le.useState)(u||"config"),[m,g]=(0,le.useState)({name:e.name||"",description:e.description||"",provider:e.provider||"openai",model:e.model||"gpt-4o-mini",instructions:e.instructions||"",action_prompts:e.actionPrompts||e.action_prompts||[],preset_type:e.presetType||e.preset_type||"terminal",appearance:e.appearance||{},instruction_sets:e.instructionSets||e.instruction_sets||[],tools:e.tools||[],mcp_servers:e.mcpServers||e.mcp_servers||[],model_config:e.modelConfig||e.model_config||{temperature:.7},status:e.status||"draft"}),[h,v]=(0,le.useState)([]),[y,b]=(0,le.useState)(!1),[x,S]=(0,le.useState)(""),[w,T]=(0,le.useState)(xd),k=e.telemetry_agent_class||e.telemetryAgentClass||(()=>{let C=e.agent_class_name||e.agentClassName||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(_,z)=>z.toUpperCase()).replace(/^./,_=>_.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return C.endsWith("Agent")?C:`${C}Agent`})();(0,le.useEffect)(()=>{let C=!1;return xh(m.provider).then(_=>{C||_.length===0||T(z=>({...z,[m.provider]:_}))}),()=>{C=!0}},[m.provider]),(0,le.useEffect)(()=>{let C=JSON.stringify(m)!==JSON.stringify({name:e.name||"",description:e.description||"",provider:e.provider||"openai",model:e.model||"gpt-4o-mini",instructions:e.instructions||"",action_prompts:e.actionPrompts||e.action_prompts||[],preset_type:e.presetType||e.preset_type||"terminal",appearance:e.appearance||{},instruction_sets:e.instructionSets||e.instruction_sets||[],tools:e.tools||[],mcp_servers:e.mcpServers||e.mcp_servers||[],model_config:e.modelConfig||e.model_config||{temperature:.7},status:e.status||"draft"});b(C)},[m,e]),(0,le.useEffect)(()=>{f==="versions"?A():f==="code"&&M()},[f]);let A=async()=>{try{let _=await(await fetch(`/api/agents/${e.id}/versions`)).json();v(_.versions)}catch(C){console.error("Failed to load versions:",C)}},M=async()=>{try{let _=await(await fetch(`/api/agents/${e.id}/export`)).json();S(_.code)}catch(C){console.error("Failed to load code preview:",C)}},H=(C,_)=>{g(z=>({...z,[C]:_}))},F=(C,_)=>{g(z=>{let D=z[C]||[],E=D.includes(_)?D.filter(j=>j!==_):[...D,_];return{...z,[C]:E}})},X=()=>{r(m)},P=hce.includes(f),Y=f==="tools";return le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},le.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:"12px"}},le.default.createElement("button",{type:"button",onClick:l,title:"Back to agents",style:{fontFamily:Ve.mono,fontSize:"13px",color:d.textSecondary,background:"none",border:"none",cursor:"pointer",padding:"4px 2px",marginTop:"10px"}},"<-"),le.default.createElement(wr,{size:44}),le.default.createElement("div",{style:{flex:1,minWidth:0}},le.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexWrap:"wrap"}},le.default.createElement("h1",{style:{fontSize:"20px",fontWeight:700,color:d.textPrimary,margin:0}},m.name||"Untitled agent"),le.default.createElement(Ls,{tone:xce[m.status]||"neutral",darkMode:c},m.status),y&&le.default.createElement(Ls,{tone:"info",darkMode:c},"unsaved")),le.default.createElement("p",{style:{fontSize:"13px",color:d.textSecondary,margin:"4px 0 0"}},m.description||"No description")),le.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexShrink:0}},a&&le.default.createElement(qn,{variant:"secondary",colors:d,onClick:a},"Duplicate"),le.default.createElement(qn,{variant:"primary",colors:d,onClick:o},"Run Agent"))),le.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"20px",borderBottom:`1px solid ${d.cardBorder}`,overflowX:"auto"}},le.default.createElement(TF,{tabs:yce,active:f,onChange:p,colors:d}),le.default.createElement("div",{style:{width:"1px",height:"18px",background:d.borderStrong,flexShrink:0}}),le.default.createElement(TF,{tabs:MF,active:f,onChange:p,colors:d})),Y?le.default.createElement(JE,{agent:e,formData:m,updateField:H,onSave:X,hasChanges:y,isLoading:s}):P?le.default.createElement("div",null,f==="traces"&&le.default.createElement(fc,{agentClass:k,embedded:!0}),f==="metrics"&&le.default.createElement(qE,{agent:e,embedded:!0}),f==="interactions"&&le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},i&&le.default.createElement("div",{style:{display:"flex",justifyContent:"flex-end"}},le.default.createElement("button",{type:"button",onClick:i,style:{background:"none",border:"none",cursor:"pointer",fontFamily:Ve.mono,fontSize:"11px",color:"#3b82f6"}},"run report ->")),le.default.createElement(pl,{agentId:e.id,embedded:!0})),f==="evals"&&le.default.createElement(kg,{embedded:!0,agentId:e.id}),f==="feedback"&&le.default.createElement(Cce,{colors:d})):le.default.createElement("div",{style:{background:d.cardBg,border:`1px solid ${d.cardBorder}`,borderRadius:"12px",padding:"20px"}},f==="config"&&le.default.createElement(wce,{formData:m,updateField:H,providerModels:w,colors:d,darkMode:c,onDelete:n}),f==="instructions"&&le.default.createElement(Sce,{formData:m,updateField:H,meta:t,toggleArrayItem:F,colors:d}),f==="versions"&&le.default.createElement(Ace,{versions:h,agentId:e.id,onRestore:A,colors:d,darkMode:c}),f==="code"&&le.default.createElement(kce,{code:x,colors:d})),y&&!Y&&le.default.createElement("div",{style:{position:"sticky",bottom:"0",display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px",background:d.cardBg,border:`1px solid ${d.borderStrong}`,borderRadius:"12px",padding:"10px 14px",boxShadow:"0 4px 16px rgba(0,0,0,0.12)"}},le.default.createElement("span",{style:{fontSize:"13px",color:d.textSecondary}},"Unsaved changes"),le.default.createElement("div",{style:{display:"flex",gap:"8px"}},le.default.createElement(qn,{variant:"primary",size:"sm",colors:d,onClick:X,disabled:s},s?"Saving\u2026":"Save Changes"))))}var pi=e=>({display:"block",fontSize:"13px",fontWeight:500,color:e.textCell,marginBottom:"6px"}),xl=e=>({width:"100%",padding:"8px 12px",borderRadius:"8px",border:`1px solid ${e.inputBorder}`,background:e.inputBg,color:e.textPrimary,fontFamily:"inherit",fontSize:"13px"}),bce=e=>({fontFamily:Ve.mono,fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:e.textSecondary});function wce({formData:e,updateField:t,providerModels:r,colors:n,darkMode:o,onDelete:a}){return le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},le.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Agent Name"),le.default.createElement("input",{type:"text",value:e.name,onChange:i=>t("name",i.target.value),className:"aa-field",style:xl(n)})),le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Preset Type"),le.default.createElement("select",{value:e.preset_type,onChange:i=>t("preset_type",i.target.value),className:"aa-field",style:xl(n)},Object.keys(yd).map(i=>le.default.createElement("option",{key:i,value:i},i))))),le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Description"),le.default.createElement("textarea",{value:e.description,onChange:i=>t("description",i.target.value),rows:3,className:"aa-field",style:{...xl(n),resize:"vertical"}})),le.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Provider"),le.default.createElement("select",{value:e.provider,onChange:i=>{t("provider",i.target.value),t("model",r[i.target.value][0])},className:"aa-field",style:xl(n)},Object.keys(r).map(i=>le.default.createElement("option",{key:i,value:i},i.charAt(0).toUpperCase()+i.slice(1))))),le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Model"),le.default.createElement(xm,{value:e.model,models:r[e.provider],onChange:i=>t("model",i),className:"aa-field",style:{...xl(n),fontFamily:Ve.mono}}))),le.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Temperature"," ",le.default.createElement("span",{style:{fontFamily:Ve.mono,color:n.textSecondary}},e.model_config.temperature)),le.default.createElement("input",{type:"range",min:"0",max:"1",step:"0.1",value:e.model_config.temperature,onChange:i=>t("model_config",{...e.model_config,temperature:parseFloat(i.target.value)}),style:{width:"100%",accentColor:bn}})),le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Status"),le.default.createElement("select",{value:e.status,onChange:i=>t("status",i.target.value),className:"aa-field",style:xl(n)},le.default.createElement("option",{value:"draft"},"Draft"),le.default.createElement("option",{value:"active"},"Active"),le.default.createElement("option",{value:"archived"},"Archived")))),a&&le.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px",borderTop:`1px solid ${n.cardBorder}`,paddingTop:"16px"}},le.default.createElement("div",null,le.default.createElement("div",{style:bce(n)},"Danger zone"),le.default.createElement("p",{style:{fontSize:"13px",color:n.textMuted,margin:"4px 0 0"}},"Deleting an agent removes its configuration and version history.")),le.default.createElement(qn,{variant:"danger",size:"sm",colors:n,onClick:a},"Delete Agent")))}function Sce({formData:e,updateField:t,meta:r,toggleArrayItem:n,colors:o}){let a=e.action_prompts||[],i=(u,c)=>{t("action_prompts",a.map((d,f)=>f===u?{...d,...c}:d))},l=()=>{t("action_prompts",[...a,{name:"",prompt:"",expose_as_tool:!1}])},s=u=>{t("action_prompts",a.filter((c,d)=>d!==u))};return le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},le.default.createElement("div",null,le.default.createElement("label",{style:pi(o)},"System Instructions"),le.default.createElement("textarea",{value:e.instructions,onChange:u=>t("instructions",u.target.value),placeholder:"You are a helpful AI assistant...",rows:12,className:"aa-field",style:{...xl(o),fontFamily:Ve.mono,resize:"vertical"}})),le.default.createElement("div",null,le.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"6px"}},le.default.createElement("label",{style:{...pi(o),marginBottom:0}},"Action Prompts"),le.default.createElement(qn,{variant:"secondary",size:"sm",colors:o,onClick:l},"+ Add action")),le.default.createElement("p",{style:{fontSize:"12px",color:o.textMuted,margin:"0 0 12px"}},"Named actions run with their prompt stacked below the system instructions. The default ",le.default.createElement("span",{style:{fontFamily:Ve.mono}},"#ask")," action uses the system instructions alone."),a.length>0&&le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},a.map((u,c)=>le.default.createElement("div",{key:c,style:{border:`1px solid ${o.cardBorder}`,borderRadius:"10px",padding:"12px",display:"flex",flexDirection:"column",gap:"8px"}},le.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},le.default.createElement("span",{style:{fontFamily:Ve.mono,fontSize:"13px",color:o.textMuted}},"#"),le.default.createElement("input",{type:"text",value:u.name,onChange:d=>i(c,{name:d.target.value.toLowerCase().replace(/[^a-z0-9_]/g,"_")}),placeholder:"action_name",className:"aa-field",style:{...xl(o),flex:1,padding:"6px 10px",fontFamily:Ve.mono}}),le.default.createElement("label",{style:{display:"flex",alignItems:"center",gap:"6px",fontSize:"12px",color:o.textSecondary,whiteSpace:"nowrap"}},le.default.createElement("input",{type:"checkbox",checked:!!u.expose_as_tool,onChange:d=>i(c,{expose_as_tool:d.target.checked}),style:{accentColor:bn}}),"Expose as tool"),le.default.createElement("button",{type:"button",onClick:()=>s(c),title:"Remove action",style:{fontFamily:Ve.mono,fontSize:"12px",color:o.textMuted,background:"none",border:"none",cursor:"pointer",padding:"4px"}},"[x]")),le.default.createElement("textarea",{value:u.prompt,onChange:d=>i(c,{prompt:d.target.value}),placeholder:"This action's system prompt, applied on top of the base instructions...",rows:4,className:"aa-field",style:{...xl(o),fontFamily:Ve.mono,resize:"vertical"}}))))),le.default.createElement("div",null,le.default.createElement("label",{style:pi(o)},"Instruction Sets"),le.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px"}},r.instructionSets?.map(u=>{let c=e.instruction_sets.includes(u);return le.default.createElement("button",{key:u,type:"button",onClick:()=>n("instruction_sets",u),style:{padding:"5px 12px",borderRadius:"999px",fontSize:"13px",cursor:"pointer",border:`1px solid ${c?bn:o.inputBorder}`,background:c?bn:"transparent",color:c?"#ffffff":o.textCell}},u)}))))}function Ace({versions:e,agentId:t,onRestore:r,colors:n,darkMode:o}){let a=async i=>{if(confirm("Restore this version? This will create a new version with the restored configuration."))try{await fetch(`/api/agents/${t}/restore`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({version_id:i})}),r()}catch(l){console.error("Failed to restore version:",l)}};return le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},le.default.createElement("p",{style:{fontSize:"13px",color:n.textSecondary,margin:0}},"View and restore previous versions of this agent."),e.length>0?le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"10px"}},e.map(i=>{let l=i.is_latest||i.isLatest;return le.default.createElement("div",{key:i.id,style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"12px",padding:"14px",borderRadius:"10px",border:`1px solid ${l?bn:n.cardBorder}`,background:l?"rgba(239,68,68,0.06)":"transparent"}},le.default.createElement("div",{style:{minWidth:0}},le.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},le.default.createElement("span",{style:{fontFamily:Ve.mono,fontSize:"13px",fontWeight:600,color:n.textPrimary}},"v",i.version_number||i.versionNumber),l&&le.default.createElement(Ls,{tone:"error",darkMode:o},"current")),le.default.createElement("p",{style:{fontSize:"13px",color:n.textCell,margin:"4px 0 0"}},i.change_summary||i.changeSummary),le.default.createElement("p",{style:{fontFamily:Ve.mono,fontSize:"11px",color:n.textMuted,margin:"4px 0 0"}},new Date(i.created_at||i.createdAt).toLocaleString())),!l&&le.default.createElement(qn,{variant:"secondary",size:"sm",colors:n,onClick:()=>a(i.id)},"Restore"))})):le.default.createElement(PF,{colors:n,glyph:"[#]",title:"No version history",hint:"Saving a change records a new version."}))}function kce({code:e,colors:t}){let r=()=>{navigator.clipboard.writeText(e)};return le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},le.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},le.default.createElement("p",{style:{fontSize:"13px",color:t.textSecondary,margin:0}},"Generated Ruby code for this agent."),le.default.createElement(qn,{variant:"secondary",size:"sm",colors:t,onClick:r},"Copy")),le.default.createElement("pre",{style:{padding:"16px",background:"#111827",color:"#e5e7eb",borderRadius:"10px",overflowX:"auto",fontFamily:Ve.mono,fontSize:"12px",lineHeight:1.6,margin:0}},le.default.createElement("code",null,e||"Loading...")))}function Cce({colors:e}){return le.default.createElement("div",{style:{background:e.cardBg,border:`1px solid ${e.cardBorder}`,borderRadius:"12px",padding:"20px"}},le.default.createElement(PF,{colors:e,glyph:"[?]",title:"No feedback recorded",hint:"Thumbs and comments are not captured yet. Once an interaction feedback source is recorded, CSAT and per-trace comments appear here."}))}function PF({colors:e,glyph:t,title:r,hint:n}){return le.default.createElement("div",{style:{textAlign:"center",padding:"40px 20px"}},le.default.createElement("div",{style:{fontFamily:Ve.mono,fontSize:"20px",color:e.textMuted}},t),le.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:e.textPrimary,marginTop:"10px"}},r),le.default.createElement("p",{style:{fontSize:"13px",color:e.textMuted,margin:"6px auto 0",maxWidth:"420px"}},n))}var K=te(re());async function up(){let e=window.ACTIVE_AGENT_DASHBOARD?.meta?.upgradeUrl;if(!e)throw new Error("This dashboard has no billing configured.");window.location.href=e}var Nce={llm:{role:"assistant",label:"LLM"},tool:{role:"tool",label:"Tool"},agent:{role:"developer",label:"Agent"},mcp:{role:"system",label:"MCP"}},_ce=(e,t)=>{let r=Nce[e]||{role:e,label:e};return{...Ar(r.role,t),label:r.label}},RE={complete:"success",failed:"error",running:"info",pending:"warning",cancelled:"neutral"},Ece=["Hello, what can you help me with?","Show me a dashboard of last quarter's sales","List the files in the current directory","Explain how this code works"],Oce=["user","assistant","tool"],Tce=1200,Mce=600*1e3,Ew=e=>e?e<1e3?`${e}ms`:`${(e/1e3).toFixed(2)}s`:"-",DF=e=>{if(!e)return null;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}},e5=e=>{let t=new Map;return(e?.logs||[]).filter(r=>r.eid).forEach(r=>{let n=t.get(r.eid)||{eid:r.eid};r.status==="started"?Object.assign(n,r,{input:r.detail,output:n.output}):Object.assign(n,r,{input:n.input,output:r.detail}),t.set(r.eid,n)}),[...t.values()]},Bs=e=>e?.context_id??e?.output_metadata?.context_id??null,Cg=e=>e.json().catch(()=>({})),IF=({open:e,color:t})=>K.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${e?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:t}},K.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}));function Pce({run:e,darkMode:t,colors:r,expanded:n,onToggle:o}){let a=e5(e),i=ow(t);return K.default.createElement("div",{"data-testid":"runner-activity",className:"space-y-2"},a.map(l=>{let s=!!n[l.eid],u=!!(l.input||l.output),c=_ce(l.kind,t);return K.default.createElement("div",{key:l.eid,"data-testid":"runner-activity-event"},K.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${u?"cursor-pointer":""}`,onClick:u?()=>o(l.eid):void 0,title:u?"Click to inspect input/output":void 0,style:s?{background:t?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.03)"}:{}},K.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium flex-shrink-0 mt-0.5",style:{background:c.background,color:c.color,minWidth:"72px",textAlign:"center"}},c.label),K.default.createElement("div",{className:"min-w-0 flex-1"},K.default.createElement("div",{className:"text-sm break-words",style:{color:r.textPrimary}},l.label,l.output&&!s&&K.default.createElement("span",{style:{color:r.textMuted}}," \u201C",l.output.slice(0,160),l.output.length>160?"\u2026":"","\u201D")),K.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap",style:{color:r.textMuted}},l.status==="started"?K.default.createElement("span",{className:"animate-pulse",style:{color:"#3b82f6"}},"running\u2026"):K.default.createElement("span",{style:l.status==="error"?{color:"#ef4444"}:void 0},l.status==="error"?"failed":"\u2713",l.duration_ms!=null&&` ${Ew(l.duration_ms)}`),l.at&&K.default.createElement("span",null,new Date(l.at).toLocaleTimeString()))),u&&K.default.createElement(IF,{open:s,color:r.textMuted})),s&&K.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:c.color+"55"}},l.input&&K.default.createElement("div",null,K.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:r.textMuted}},"Input"),K.default.createElement("pre",{style:{...i,whiteSpace:"pre-wrap",maxHeight:"160px",overflowY:"auto"}},DF(l.input))),l.output&&K.default.createElement("div",null,K.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:r.textMuted}},l.status==="error"?"Error":"Result"),K.default.createElement("pre",{style:{...i,whiteSpace:"pre-wrap",maxHeight:"224px",overflowY:"auto",...l.status==="error"?{background:t?"rgba(239,68,68,0.12)":"#fef2f2",color:t?"#fca5a5":"#b91c1c"}:{}}},DF(l.output)))))}))}function Dce({run:e,darkMode:t,colors:r}){return e?K.default.createElement("div",{className:"flex items-center gap-3 flex-wrap text-xs",style:{color:r.textMuted}},K.default.createElement("span",{"data-testid":"runner-status",style:{display:"inline-flex"}},K.default.createElement(Ls,{tone:RE[e.status]||"neutral",darkMode:t},e.status)),e.output_metadata?.model&&K.default.createElement("span",{className:"font-mono",title:"Model that generated this run"},e.output_metadata.provider,"/",e.output_metadata.model),e.duration_ms?K.default.createElement("span",null,Ew(e.duration_ms)):null,e.total_tokens?K.default.createElement("span",null,e.total_tokens," tokens"):null,e.trace_id&&K.default.createElement("a",{href:Re(`/traces?trace=${e.trace_id}`),className:"font-mono hover:underline",style:{color:r.textSecondary},title:`${e.trace_id} \u2014 open in Traces`},"trace:",e.trace_id.slice(0,8)," \u2192")):null}function t5({agent:e,onBack:t}){let{darkMode:r}=Nt(),n=Ro(r),o=e.action_prompts||e.actionPrompts||[],a=["ask",...o.map(ie=>ie.name).filter(Boolean)],[i,l]=(0,K.useState)("ask"),[s,u]=(0,K.useState)(""),[c,d]=(0,K.useState)([]),[f,p]=(0,K.useState)(!1),[m,g]=(0,K.useState)([]),[h,v]=(0,K.useState)(null),[y,b]=(0,K.useState)(null),[x,S]=(0,K.useState)(null),[w,T]=(0,K.useState)([]),[k,A]=(0,K.useState)(!1),[M,H]=(0,K.useState)(null),[F,X]=(0,K.useState)(null),[P,Y]=(0,K.useState)(null),[C,_]=(0,K.useState)(null),[z,D]=(0,K.useState)({}),[E,j]=(0,K.useState)(null),[R,U]=(0,K.useState)(!1),[L,q]=(0,K.useState)(null),[ae,ce]=(0,K.useState)(!1),[ze,oe]=(0,K.useState)(!1),[Ee,V]=(0,K.useState)(null),[I,N]=(0,K.useState)(""),[O,Z]=(0,K.useState)(!1),[B,we]=(0,K.useState)(null),ee=(0,K.useRef)(null),ue=(0,K.useRef)(null),W=(0,K.useRef)(0),xe=(0,K.useRef)(!0),De=(0,K.useRef)(null),Ge=(0,K.useRef)([]),it=(0,K.useRef)(null),zn=(0,K.useRef)(null),$o=(0,K.useRef)(null),Fo=(0,K.useRef)(null),Uo=(y?.messages||[]).filter(ie=>Oce.includes(ie.role));(0,K.useEffect)(()=>{De.current=F},[F]),(0,K.useEffect)(()=>{Ge.current=c},[c]),(0,K.useEffect)(()=>(xe.current=!0,zr(),()=>{xe.current=!1,W.current+=1,bl(De.current),bl({attachments:Ge.current}),X(null),d([])}),[e.id]),(0,K.useEffect)(()=>{wc(i)},[e.id,i]),(0,K.useEffect)(()=>{ue.current=h,h?Fs(h):(b(null),S(null))},[h]),(0,K.useEffect)(()=>{let ie=zn.current;ie&&(ie.scrollTop=ie.scrollHeight)},[Uo.length,F,M?.logs?.length,Ee,P]),(0,K.useEffect)(()=>{if(!ze)return;let ie=Le=>{Fo.current&&!Fo.current.contains(Le.target)&&oe(!1)};return document.addEventListener("mousedown",ie),()=>document.removeEventListener("mousedown",ie)},[ze]);let zr=async()=>{try{let Le=await(await fetch(`/api/agents/${e.id}/runs?per_page=10`)).json();T(Le.runs||[])}catch(ie){console.error("Failed to load runs:",ie)}},wc=async ie=>{try{let Le=await fetch(`/api/agents/${e.id}/conversations?action_name=${encodeURIComponent(ie)}`);if(!Le.ok)throw new Error(`HTTP ${Le.status}`);let ut=(await Le.json()).conversations||[];g(ut),v(Zr=>Zr&&(ee.current===Zr||ut.some(Aa=>Aa.id===Zr))?Zr:ut[0]?.id??null)}catch(Le){console.error("Failed to load conversations:",Le),g([])}},Fs=async ie=>{try{let Le=await fetch(`/api/interactions/${ie}`);if(!Le.ok)throw new Error(Le.status===404?"Conversation not found":`HTTP ${Le.status}`);let Je=await Le.json();if(ue.current!==ie)return;b(Je.interaction),S(null)}catch(Le){if(ue.current!==ie)return;b(null),S(Le.message)}},Us=async()=>{let ie=await fetch(`/api/agents/${e.id}/conversations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action_name:i})}),Le=await Cg(ie);if(!ie.ok||!Le.conversation)throw new Error(Le.error||`Could not start a conversation (HTTP ${ie.status})`);let Je=Le.conversation;return g(ut=>[Je,...ut.filter(Zr=>Zr.id!==Je.id)]),ee.current=Je.id,v(Je.id),Je.id},zg=()=>ue.current?Promise.resolve(ue.current):Us(),Lg=ie=>{ee.current=null,l(ie)},Sc=()=>{H(null),_(null),D({})},Fw=ie=>{let Le=ie?Number(ie):null;Le!==ue.current&&Sc(),ee.current=Le,v(Le),Y(null)},Uw=async()=>{if(!k)try{await Us(),S(null),Y(null),Sc(),bl(De.current),X(null),V(null)}catch(ie){S(ie.message)}},bl=ie=>{(ie?.attachments||[]).forEach(Le=>{Le.url&&Le.url.startsWith("blob:")&&URL.revokeObjectURL(Le.url)})},Ws=ie=>{let Le=Array.from(ie||[]).filter(Boolean);Le.length!==0&&d(Je=>[...Je,...Le.map(ut=>({file:ut,filename:ut.name,content_type:ut.type||"application/octet-stream",byte_size:ut.size,kind:A$(ut),url:ut.type&&ut.type.startsWith("image/")?URL.createObjectURL(ut):null}))])},Ww=ie=>{d(Le=>{let Je=Le[ie];return Je?.url&&URL.revokeObjectURL(Je.url),Le.filter((ut,Zr)=>Zr!==ie)})},mp=(ie,Le)=>{A(!1),bl(De.current),X(null),zr();let Je=Bs(ie)??Le;Je&&(Je!==ue.current?(ee.current=Je,v(Je)):Fs(Je),wc(i))},Hw=(ie,Le)=>{if(!xe.current)return;let Je=++W.current,ut=Date.now(),Zr=async()=>{if(W.current===Je){try{let Aa=await fetch(`/api/runs/${ie}`);if(Aa.ok){let Gn=await Aa.json();if(W.current!==Je)return;if(H(Gn.run),!["pending","running"].includes(Gn.run.status)){mp(Gn.run,Le);return}}}catch{}Date.now()-utAa&&{...Aa,status:"failed",error_message:"Timed out waiting for the run to finish."}),_("Timed out waiting for the run to finish."))}};Zr()},vp=async({text:ie,files:Le,fromComposer:Je=!1})=>{let ut=(ie||"").trim();if(!ut&&Le.length===0||k)return;_(null),Y(null),V(null),A(!0),D({}),H({status:"pending",input_prompt:ut,output:"",logs:[],started_at:new Date().toISOString()}),bl(De.current),X({content:ut||"(see attached files)",attachments:Le.map(({file:Gn,...Hs})=>Hs)}),Je&&(u(""),d([]));let Zr=ue.current;if(!Zr)try{Zr=await Us()}catch(Gn){_(`${Gn.message} \u2014 running without a pinned conversation.`)}let Aa=()=>{Je&&(u(ut),d(Le)),X(null)};try{let Gn=new FormData;Gn.append("prompt",ut),Gn.append("action_name",i),Zr&&Gn.append("params[context_id]",String(Zr)),Le.forEach(({file:Wg})=>Gn.append("attachments[]",Wg,Wg.name));let Hs=await fetch(`/api/agents/${e.id}/execute`,{method:"POST",body:Gn}),kc=await Cg(Hs);if(Hs.status===402&&kc.upgrade_required){j(kc.usage),H(Wg=>({...Wg,status:"failed",error_message:kc.message||"Plan limit reached"})),A(!1),Aa();return}if(!Hs.ok)throw new Error(kc.error||"Run failed");Hw(kc.run.id,Bs(kc.run)??Zr)}catch(Gn){H(Hs=>({...Hs,status:"failed",error_message:Gn.message})),A(!1),Aa()}},Bg=()=>vp({text:s,files:c,fromComposer:!0}),$g=ie=>{!ie||!ie.text||vp({text:ie.text,files:[]})},gp=ie=>{ie.key==="Enter"&&(ie.metaKey||ie.ctrlKey)&&(ie.preventDefault(),Bg())},Fg=async(ie,Le)=>{let Je=ue.current,ut=await fetch(`/api/interactions/${Je}/messages/${ie.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:Le})}),Zr=await Cg(ut);if(!ut.ok)throw new Error(Zr.error||`Could not save the message (HTTP ${ut.status})`);await Fs(Je)},Vw=async ie=>{let Le=ue.current;try{let Je=await fetch(`/api/interactions/${Le}/messages/${ie.id}`,{method:"DELETE"});if(!Je.ok){let ut=await Cg(Je);throw new Error(ut.error||`Could not delete the message (HTTP ${Je.status})`)}S(null),await Fs(Le),wc(i)}catch(Je){S(Je.message)}},Kw=ie=>{oe(!1),V(ie),N(""),we(null)},Ug=async()=>{let ie=I.trim();if(!(!ie||O)){Z(!0),we(null);try{let Le=await zg(),Je=await fetch(`/api/interactions/${Le}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({role:Ee,content:ie})}),ut=await Cg(Je);if(!Je.ok)throw new Error(ut.error||`Could not add the message (HTTP ${Je.status})`);N(""),V(null),await Fs(Le),wc(i)}catch(Le){we(Le.message)}finally{Z(!1)}}},qw=async ie=>{let Le=ie;if(Bs(ie)==null)try{let ut=await fetch(`/api/runs/${ie.id}`);ut.ok&&(Le=(await ut.json()).run)}catch(ut){console.error("Failed to load run details:",ut)}let Je=Bs(Le);if(Je){Y(null),Je!==ue.current&&Sc(),ee.current=Je;let ut=Le.action_name||ie.action_name;ut&&a.includes(ut)&&ut!==i&&l(ut),v(Je)}else Y({...Le,output:Le.output??Le.output_preview,error_message:Le.error_message??Le.error});it.current?.scrollIntoView({behavior:"smooth",block:"start"})},Gw=async()=>{U(!0),q(null);try{await up({planSlug:"pro"})}catch(ie){q(ie.message),U(!1)}},Ac=window.ACTIVE_AGENT_DASHBOARD?.meta?.upgradeUrl,Yw=o.find(ie=>ie.name===i)?.prompt,ge=[e.instructions,i==="ask"?null:Yw].map(ie=>(ie||"").trim()).filter(Boolean).join(` -`)||y?.instructions||"",Ye=m.slice();h&&!Ye.some(ie=>ie.id===h)&&Ye.unshift({id:h,message_count:Uo.length});let zt=(s.trim().length>0||c.length>0)&&!k,qt=M&&!k&&M.status==="failed",ar=M&&!k&&M.status==="complete"&&!Ls(M)&&!h,_n={background:n.cardBg,border:`1px solid ${n.cardBorder}`,borderRadius:"12px"},T5={borderBottom:`1px solid ${n.cardBorder}`},M5={padding:"6px 10px",borderRadius:"8px",border:`1px solid ${n.inputBorder}`,background:n.inputBg,color:n.textPrimary,fontSize:"13px",fontFamily:Ve.mono,maxWidth:"260px"},P5={width:"100%",padding:"10px 12px",borderRadius:"8px",border:`1px solid ${f?bn:n.inputBorder}`,background:n.inputBg,color:n.textPrimary,fontFamily:"inherit",fontSize:"13px",resize:"vertical"},qw=Ar("system",r),nU=tw(r);return q.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},q.default.createElement("div",{className:"col-span-2 flex flex-col gap-4 min-w-0"},E&&q.default.createElement("div",{className:"bg-amber-50 border border-amber-200 rounded-xl p-4 flex items-center justify-between gap-4"},q.default.createElement("div",null,q.default.createElement("p",{className:"font-medium text-amber-900"},"Monthly run limit reached"),q.default.createElement("p",{className:"text-sm text-amber-700 mt-0.5"},"You've used ",E.runs_used," of ",E.runs_limit," runs on the"," ",E.plan||"free"," plan. Upgrade to keep running agents."),L&&q.default.createElement("p",{className:"text-sm text-red-600 mt-1"},L)),q.default.createElement("div",{className:"flex items-center gap-2 flex-shrink-0"},Sc&&q.default.createElement("a",{href:Sc,className:"px-4 py-2 text-sm text-amber-800 hover:text-amber-900"},"See plans"),q.default.createElement("button",{onClick:Vw,disabled:R,className:"px-4 py-2 text-sm bg-amber-500 text-white rounded-lg hover:bg-amber-600 transition-colors disabled:opacity-50"},R?"Redirecting\u2026":"Upgrade to Pro"))),q.default.createElement("div",{"data-testid":"runner-toolbar",style:_n,className:"p-4 flex items-center gap-3 flex-wrap"},q.default.createElement(wr,{size:40}),q.default.createElement("div",{className:"min-w-0"},q.default.createElement("div",{className:"font-semibold truncate",style:{color:n.textPrimary}},e.name),q.default.createElement("div",{className:"text-xs font-mono",style:{color:n.textSecondary}},e.provider," / ",e.model)),q.default.createElement("div",{className:"flex items-center gap-2 flex-wrap ml-auto"},q.default.createElement("select",{"data-testid":"runner-action-select",value:i,onChange:ie=>jg(ie.target.value),disabled:k,className:"aa-field",style:M5,title:"Agent action to invoke"},a.map(ie=>q.default.createElement("option",{key:ie,value:ie},"#",ie))),q.default.createElement("select",{"data-testid":"runner-conversation-select",value:h??"",onChange:ie=>Lw(ie.target.value),disabled:k,className:"aa-field",style:M5,title:"Conversation to continue"},q.default.createElement("option",{value:""},"New conversation on first run"),Ye.map(ie=>q.default.createElement("option",{key:ie.id,value:ie.id},"Conversation #",ie.id," \xB7 ",ie.message_count??0," message",ie.message_count===1?"":"s"))),q.default.createElement(qn,{testId:"runner-new-conversation",variant:"secondary",size:"sm",colors:n,onClick:Bw,disabled:k,title:"Start an empty conversation for this action"},"+ New conversation"),q.default.createElement(qn,{testId:"runner-back",variant:"secondary",size:"sm",colors:n,onClick:t},"\u2190 Back to editor"))),q.default.createElement("div",{"data-testid":"runner-context",ref:it,style:_n,className:"flex flex-col overflow-hidden"},q.default.createElement("div",{className:"px-4 py-3 flex items-center justify-between gap-3 flex-wrap",style:T5},q.default.createElement("div",{className:"flex items-center gap-2 min-w-0"},q.default.createElement("h3",{className:"font-medium",style:{color:n.textPrimary}},"Context"),y&&q.default.createElement("span",{className:"text-xs font-mono",style:{color:n.textMuted}},"#",y.id," \xB7 ",Uo.length," message",Uo.length===1?"":"s")),q.default.createElement("div",{className:"flex items-center gap-3 flex-wrap"},q.default.createElement(Mce,{run:M,darkMode:r,colors:n}),q.default.createElement("div",{className:"relative",ref:Fo},q.default.createElement(qn,{testId:"runner-add-message",variant:"secondary",size:"sm",colors:n,onClick:()=>oe(ie=>!ie),disabled:k,title:"Insert a message into the context without running"},"+ Add message"),ze&&q.default.createElement("div",{className:"absolute right-0 mt-1 z-10 py-1 rounded-lg shadow-lg",style:{background:n.cardBg,border:`1px solid ${n.borderStrong}`,minWidth:"180px"}},[["user","runner-add-user-message","User message"],["assistant","runner-add-assistant-message","Assistant message"]].map(([ie,Le,Je])=>q.default.createElement("button",{key:ie,type:"button","data-testid":Le,onClick:()=>Ww(ie),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-black/5",style:{color:n.textCell,background:"none",border:"none",cursor:"pointer"}},Je)))))),q.default.createElement("div",{ref:zn,className:"p-4 overflow-auto",style:{maxHeight:"60vh"}},q.default.createElement("div",{"data-testid":"runner-system-row",className:"flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 cursor-pointer",onClick:()=>de(ie=>!ie),title:ae?"Collapse system instructions":"Show system instructions"},q.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},q.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:qw.background,color:qw.color,textAlign:"center"}},qw.label)),q.default.createElement("div",{className:"min-w-0 flex-1"},ve?ae?q.default.createElement("pre",{style:{...nU,whiteSpace:"pre-wrap",maxHeight:"260px",overflowY:"auto"}},ve):q.default.createElement("div",{className:"text-sm truncate",style:{color:n.textSecondary}},ve.split(` -`).find(ie=>ie.trim())||""):q.default.createElement("div",{className:"text-sm",style:{color:n.textMuted}},"No system instructions"),q.default.createElement("div",{className:"text-xs mt-0.5 font-mono",style:{color:n.textMuted}},"read-only \xB7 Edit in the Instructions tab")),q.default.createElement(DF,{open:ae,color:n.textMuted})),x&&q.default.createElement("div",{className:"text-sm mt-3",style:{color:"#dc2626"}},x),Uo.length>0?q.default.createElement("div",{className:"mt-3"},q.default.createElement(ba,{messages:Uo,darkMode:r,testIdPrefix:"runner-message",onUiAction:Lg,onEditMessage:Bg,onDeleteMessage:Uw})):!F&&!P&&!qt&&q.default.createElement("div",{"data-testid":"runner-context-empty",className:"text-sm text-center py-8",style:{color:n.textMuted}},"No messages yet \u2014 say something below to test the agent as a user."),F&&q.default.createElement("div",{"data-testid":"runner-pending-turn",className:"flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 mt-3"},q.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},q.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:Ar("user",r).background,color:Ar("user",r).color,textAlign:"center"}},"User")),q.default.createElement("div",{className:"min-w-0 flex-1"},q.default.createElement("div",{className:"text-sm break-words whitespace-pre-wrap",style:{color:n.textPrimary}},F.content),q.default.createElement(rw,{attachments:F.attachments,darkMode:r}))),M&&(k||JE(M).length>0)&&q.default.createElement("div",{className:"mt-3 space-y-2"},q.default.createElement(Tce,{run:M,darkMode:r,colors:n,expanded:z,onToggle:ie=>D(Le=>({...Le,[ie]:!Le[ie]}))}),k&&q.default.createElement("div",{className:"flex items-center gap-2 text-sm",style:{color:n.textSecondary}},q.default.createElement("span",{className:"animate-pulse"},"\u25CF"),q.default.createElement("span",null,JE(M).length>0?"Working\u2026":"Starting run\u2026"))),C&&q.default.createElement("div",{className:"text-xs mt-3",style:{color:"#d97706"}},C),qt&&M.error_message&&q.default.createElement("div",{className:"mt-3 rounded-lg p-3 text-sm",style:{background:r?"rgba(239,68,68,0.12)":"#fef2f2",color:r?"#fca5a5":"#b91c1c"}},q.default.createElement("div",{className:"font-semibold mb-1"},"Run failed"),q.default.createElement("pre",{className:"whitespace-pre-wrap font-mono text-xs",style:{margin:0}},M.error_message)),ar&&q.default.createElement("div",{className:"mt-3 rounded-lg p-3 text-sm",style:{background:n.innerBg,color:n.textPrimary}},q.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:n.textMuted}},"Output"),q.default.createElement($a,{text:M.output||"No output",darkMode:r,onUiAction:Lg})),P&&q.default.createElement("div",{"data-testid":"runner-inspected-run",className:"mt-3 rounded-lg p-3",style:{background:n.innerBg,border:`1px solid ${n.cardBorder}`}},q.default.createElement("div",{className:"flex items-center justify-between gap-3 flex-wrap mb-2"},q.default.createElement("div",{className:"flex items-center gap-2 text-xs font-mono",style:{color:n.textMuted}},q.default.createElement("span",{style:{color:n.textPrimary}},"Run #",P.id),q.default.createElement(zs,{tone:QE[P.status]||"neutral",darkMode:r},P.status),P.output_metadata?.model&&q.default.createElement("span",null,P.output_metadata.provider,"/",P.output_metadata.model),P.duration_ms?q.default.createElement("span",null,Cw(P.duration_ms)):null,P.trace_id&&q.default.createElement("a",{href:Re(`/traces?trace=${P.trace_id}`),className:"hover:underline",style:{color:n.textSecondary}},"trace:",P.trace_id.slice(0,8)," \u2192"),q.default.createElement("span",null,"\xB7 no conversation attached")),q.default.createElement("button",{type:"button",onClick:()=>Y(null),className:"text-xs font-mono",style:{color:n.textMuted,background:"none",border:"none",cursor:"pointer"},title:"Close"},"[x]")),(P.input_prompt||P.input_preview)&&q.default.createElement("div",{className:"text-sm mb-2 whitespace-pre-wrap",style:{color:n.textSecondary}},P.input_prompt||P.input_preview),P.error_message?q.default.createElement("pre",{className:"whitespace-pre-wrap font-mono text-xs",style:{margin:0,color:r?"#fca5a5":"#b91c1c"}},P.error_message):q.default.createElement("div",{className:"text-sm",style:{color:n.textPrimary}},q.default.createElement($a,{text:P.output||"No output",darkMode:r}))),Ee&&q.default.createElement("div",{className:"mt-3 rounded-lg p-3",style:{border:`1px dashed ${n.borderStrong}`}},q.default.createElement("div",{className:"flex items-center gap-2 mb-2"},q.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:Ar(Ee,r).background,color:Ar(Ee,r).color}},Ar(Ee,r).label),q.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},"Added to the context without running the agent")),q.default.createElement("textarea",{"data-testid":"runner-inline-composer",value:I,onChange:ie=>N(ie.target.value),onKeyDown:ie=>{ie.key==="Escape"&&V(null),ie.key==="Enter"&&(ie.metaKey||ie.ctrlKey)&&$g()},placeholder:Ee==="user"?"What the user said\u2026":"What the assistant replied\u2026",rows:3,autoFocus:!0,className:"aa-field",style:{...P5,border:`1px solid ${n.inputBorder}`}}),q.default.createElement("div",{className:"flex items-center gap-2 mt-2 flex-wrap"},q.default.createElement(qn,{testId:"runner-inline-submit",variant:"primary",size:"sm",colors:n,onClick:$g,disabled:O||!I.trim()},O?"Adding\u2026":`Add ${Ee} message`),q.default.createElement(qn,{variant:"secondary",size:"sm",colors:n,onClick:()=>V(null),disabled:O},"Cancel"),B&&q.default.createElement("span",{className:"text-xs",style:{color:"#dc2626"}},B))))),q.default.createElement("div",{style:_n,className:"p-4"},q.default.createElement("div",{onDragOver:ie=>{ie.preventDefault(),f||p(!0)},onDragLeave:()=>p(!1),onDrop:ie=>{ie.preventDefault(),p(!1),k||Us(ie.dataTransfer?.files)}},q.default.createElement("textarea",{"data-testid":"runner-prompt",value:s,onChange:ie=>u(ie.target.value),onKeyDown:vp,placeholder:"Message the agent as a user\u2026 (\u2318/Ctrl+Enter to run \xB7 drop files here to attach)",rows:3,disabled:k,className:"aa-field",style:P5})),q.default.createElement(rw,{attachments:c,darkMode:r,testId:"runner-attachment-chip",onRemove:(ie,Le)=>$w(Le),removeTestId:"runner-attachment-remove"}),q.default.createElement("div",{className:"flex items-center justify-between gap-3 flex-wrap mt-3"},q.default.createElement("div",{className:"flex items-center gap-3 flex-wrap"},q.default.createElement("input",{ref:$o,"data-testid":"runner-attach-input",type:"file",multiple:!0,style:{display:"none"},onChange:ie=>{Us(ie.target.files),ie.target.value=""}}),q.default.createElement(qn,{testId:"runner-attach",variant:"secondary",size:"sm",colors:n,onClick:()=>$o.current?.click(),disabled:k,title:"Attach images, PDFs, or text files to this message"},"\u{1F4CE} Attach files"),q.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},"Press ",q.default.createElement("kbd",{className:"px-1.5 py-0.5 rounded",style:{background:n.mutedBg,color:n.textSecondary}},"\u2318")," + ",q.default.createElement("kbd",{className:"px-1.5 py-0.5 rounded",style:{background:n.mutedBg,color:n.textSecondary}},"Enter")," to run")),q.default.createElement(qn,{testId:"runner-run",variant:"primary",colors:n,onClick:zg,disabled:!zt},k?q.default.createElement(q.default.Fragment,null,q.default.createElement("span",{className:"animate-spin inline-block",style:{fontFamily:Ve.mono}},"[~]")," Running\u2026"):q.default.createElement(q.default.Fragment,null,q.default.createElement("span",{style:{fontFamily:Ve.mono}},"[>]")," Run"))))),q.default.createElement("div",{className:"space-y-4 min-w-0"},q.default.createElement("div",{style:_n,className:"p-4"},q.default.createElement("h4",{className:"font-medium mb-3",style:{color:n.textPrimary}},"Configuration"),q.default.createElement("dl",{className:"space-y-2 text-sm"},q.default.createElement("div",{className:"flex justify-between"},q.default.createElement("dt",{style:{color:n.textSecondary}},"Temperature"),q.default.createElement("dd",{style:{color:n.textPrimary}},e.modelConfig?.temperature||e.model_config?.temperature||.7)),q.default.createElement("div",{className:"flex justify-between"},q.default.createElement("dt",{style:{color:n.textSecondary}},"Tools"),q.default.createElement("dd",{style:{color:n.textPrimary}},e.tools?.length||0)),q.default.createElement("div",{className:"flex justify-between items-center"},q.default.createElement("dt",{style:{color:n.textSecondary}},"Status"),q.default.createElement("dd",null,q.default.createElement(zs,{tone:e.status==="active"?"success":"neutral",darkMode:r},e.status)))),e.instructions&&q.default.createElement("div",{className:"mt-3 pt-3",style:{borderTop:`1px solid ${n.cardBorder}`}},q.default.createElement("div",{className:"text-xs mb-1.5",style:{color:n.textSecondary}},"System Instructions"),q.default.createElement("p",{className:"text-xs whitespace-pre-wrap max-h-44 overflow-y-auto font-mono leading-relaxed",style:{color:n.textCell}},e.instructions))),q.default.createElement("div",{style:_n,className:"overflow-hidden"},q.default.createElement("div",{className:"px-4 py-3",style:T5},q.default.createElement("h4",{className:"font-medium",style:{color:n.textPrimary}},"Recent Runs")),q.default.createElement("div",{className:"max-h-64 overflow-auto"},w.length>0?q.default.createElement("div",null,w.map(ie=>q.default.createElement("div",{key:ie.id,"data-testid":"runner-recent-run",className:"px-4 py-3 cursor-pointer hover:bg-black/5",style:{borderBottom:`1px solid ${n.cardBorder}`},onClick:()=>Hw(ie),title:Ls(ie)?"Open this run\u2019s conversation":"Show this run\u2019s output"},q.default.createElement("div",{className:"flex items-center justify-between mb-1"},q.default.createElement(zs,{tone:QE[ie.status]||"neutral",darkMode:r},ie.status),q.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},Cw(ie.duration_ms))),q.default.createElement("p",{className:"text-sm truncate",style:{color:n.textCell}},ie.input_preview||ie.input_prompt?.substring(0,50)),q.default.createElement("p",{className:"text-xs mt-1 flex items-center gap-2 flex-wrap",style:{color:n.textMuted}},ie.model&&q.default.createElement("span",{className:"px-1.5 py-0.5 rounded font-mono",style:{background:n.mutedBg,color:n.textSecondary}},ie.model),Ls(ie)&&q.default.createElement("span",{className:"font-mono"},"#",Ls(ie)),q.default.createElement("span",null,new Date(ie.created_at).toLocaleString()))))):q.default.createElement("div",{className:"px-4 py-8 text-center text-sm",style:{color:n.textMuted}},"No runs yet"))),q.default.createElement("div",{style:_n,className:"p-4"},q.default.createElement("h4",{className:"font-medium mb-3",style:{color:n.textPrimary}},"Example Prompts"),q.default.createElement("div",{className:"space-y-2"},Nce.map(ie=>q.default.createElement("button",{key:ie,type:"button","data-testid":"runner-example-prompt",onClick:()=>u(ie),className:"w-full text-left px-3 py-2 text-sm rounded-lg transition-colors hover:bg-black/5",style:{color:n.textCell,border:`1px solid ${n.cardBorder}`,background:"transparent",cursor:"pointer"}},ie))))))}var Te=te(re()),Nw=e=>new Date(`${e}T00:00:00`),Pce=[{value:7,label:"7 days"},{value:14,label:"14 days"},{value:30,label:"30 days"},{value:90,label:"90 days"}];function e5({onSelectAgent:e}){let[t,r]=(0,Te.useState)(null),[n,o]=(0,Te.useState)(!0),[a,i]=(0,Te.useState)(30);(0,Te.useEffect)(()=>{l()},[a]);let l=async()=>{o(!0);try{let p=await(await fetch(`/api/analytics?days=${a}`)).json();r(p)}catch(f){console.error("Failed to load analytics:",f)}finally{o(!1)}},s=f=>f?f>=1e6?`${(f/1e6).toFixed(1)}M`:f>=1e3?`${(f/1e3).toFixed(1)}K`:f.toString():"0",u=f=>f?f<1e3?`${f}ms`:`${(f/1e3).toFixed(2)}s`:"-";if(n&&!t)return Te.default.createElement("div",{className:"flex items-center justify-center h-64"},Te.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let c=t?.charts?.runs_by_day?.length>0?Math.max(...t.charts.runs_by_day.map(f=>f.count)):1,d=t?.charts?.tokens_by_day?.length>0?Math.max(...t.charts.tokens_by_day.map(f=>f.tokens)):1;return Te.default.createElement("div",{className:"space-y-6"},Te.default.createElement("div",{className:"flex items-center justify-between"},Te.default.createElement("div",null,Te.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Analytics Dashboard"),Te.default.createElement("p",{className:"text-sm text-gray-500"},"Overview of all your agents' performance")),Te.default.createElement("select",{value:a,onChange:f=>i(Number(f.target.value)),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Pce.map(f=>Te.default.createElement("option",{key:f.value,value:f.value},"Last ",f.label)))),Te.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-5 gap-4"},Te.default.createElement(kg,{title:"Total Agents",value:t?.summary?.total_agents||0,subtitle:`${t?.summary?.active_agents||0} active`,color:"rose"}),Te.default.createElement(kg,{title:"Total Runs",value:t?.summary?.total_runs||0,subtitle:`${t?.period_days} day period`,color:"blue"}),Te.default.createElement(kg,{title:"Success Rate",value:`${t?.summary?.success_rate||0}%`,subtitle:`${t?.summary?.completed_runs||0} completed`,color:"green"}),Te.default.createElement(kg,{title:"Avg Duration",value:u(t?.summary?.avg_duration_ms),subtitle:"per run",color:"purple"}),Te.default.createElement(kg,{title:"Total Tokens",value:s(t?.summary?.total_tokens),subtitle:`${s(t?.summary?.avg_tokens_per_run)}/run avg`,color:"amber"})),Te.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6"},Te.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},Te.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Runs Over Time"),t?.charts?.runs_by_day?.length>0?Te.default.createElement("div",{className:"h-48"},Te.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.runs_by_day.map((f,p)=>Te.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},Te.default.createElement("div",{className:"relative w-full"},Te.default.createElement("div",{className:"w-full bg-red-500 rounded-t transition-all hover:bg-red-600",style:{height:`${f.count/c*150}px`,minHeight:f.count>0?"4px":"0"}}),Te.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap z-10"},f.count," runs"))))),Te.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},Te.default.createElement("span",null,t.charts.runs_by_day[0]?.date&&Nw(t.charts.runs_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),Te.default.createElement("span",null,t.charts.runs_by_day[t.charts.runs_by_day.length-1]?.date&&Nw(t.charts.runs_by_day[t.charts.runs_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):Te.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No runs in this period")),Te.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},Te.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage Over Time"),t?.charts?.tokens_by_day?.length>0?Te.default.createElement("div",{className:"h-48"},Te.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.tokens_by_day.map((f,p)=>Te.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},Te.default.createElement("div",{className:"relative w-full"},Te.default.createElement("div",{className:"w-full bg-purple-500 rounded-t transition-all hover:bg-purple-600",style:{height:`${f.tokens/d*150}px`,minHeight:f.tokens>0?"4px":"0"}}),Te.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap z-10"},s(f.tokens)," tokens"))))),Te.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},Te.default.createElement("span",null,t.charts.tokens_by_day[0]?.date&&Nw(t.charts.tokens_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),Te.default.createElement("span",null,t.charts.tokens_by_day[t.charts.tokens_by_day.length-1]?.date&&Nw(t.charts.tokens_by_day[t.charts.tokens_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):Te.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No token usage in this period"))),Te.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6"},Te.default.createElement("div",{className:"lg:col-span-2 bg-white rounded-xl border border-gray-200 p-6"},Te.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Top Agents"),t?.top_agents?.length>0?Te.default.createElement("div",{className:"space-y-3"},t.top_agents.map((f,p)=>Te.default.createElement("div",{key:f.id,onClick:()=>e?.(f),className:"flex items-center space-x-4 p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors"},Te.default.createElement("div",{className:"w-8 h-8 rounded-full bg-red-100 flex items-center justify-center text-red-600 font-semibold"},p+1),Te.default.createElement("div",{className:"flex-1 min-w-0"},Te.default.createElement("p",{className:"font-medium text-gray-900 truncate"},f.name),Te.default.createElement("p",{className:"text-sm text-gray-500"},f.run_count," runs")),Te.default.createElement("div",{className:"text-right"},Te.default.createElement("p",{className:"font-medium text-gray-900"},s(f.total_tokens)),Te.default.createElement("p",{className:"text-xs text-gray-500"},"tokens"))))):Te.default.createElement("div",{className:"py-8 text-center text-gray-400"},"No agent activity yet")),Te.default.createElement("div",{className:"space-y-6"},Te.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},Te.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"By Provider"),Object.keys(t?.provider_breakdown||{}).length>0?Te.default.createElement("div",{className:"space-y-3"},Object.entries(t.provider_breakdown).map(([f,p])=>{let m=t?.summary?.total_runs||1,g=(p/m*100).toFixed(1);return Te.default.createElement("div",{key:f},Te.default.createElement("div",{className:"flex justify-between text-sm mb-1"},Te.default.createElement("span",{className:"capitalize text-gray-600"},f),Te.default.createElement("span",{className:"text-gray-900 font-medium"},p)),Te.default.createElement("div",{className:"h-2 bg-gray-100 rounded-full overflow-hidden"},Te.default.createElement("div",{className:"h-full bg-blue-500 rounded-full",style:{width:`${g}%`}})))})):Te.default.createElement("div",{className:"py-4 text-center text-gray-400 text-sm"},"No data")),Te.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},Te.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage"),Te.default.createElement("div",{className:"space-y-4"},Te.default.createElement("div",{className:"flex justify-between items-center"},Te.default.createElement("span",{className:"text-sm text-gray-500"},"Input Tokens"),Te.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_input_tokens))),Te.default.createElement("div",{className:"flex justify-between items-center"},Te.default.createElement("span",{className:"text-sm text-gray-500"},"Output Tokens"),Te.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_output_tokens))),Te.default.createElement("div",{className:"pt-2 border-t border-gray-100"},Te.default.createElement("div",{className:"flex justify-between items-center"},Te.default.createElement("span",{className:"text-sm font-medium text-gray-700"},"Total"),Te.default.createElement("span",{className:"font-bold text-gray-900"},s(t?.summary?.total_tokens)))))))))}function kg({title:e,value:t,subtitle:r,color:n}){return Te.default.createElement("div",{className:`bg-white rounded-xl border border-gray-200 border-l-4 ${{rose:"border-l-red-500",blue:"border-l-blue-500",green:"border-l-green-500",purple:"border-l-purple-500",amber:"border-l-amber-500"}[n]} p-4`},Te.default.createElement("p",{className:"text-sm text-gray-500"},e),Te.default.createElement("p",{className:"text-2xl font-bold text-gray-900 mt-1"},t),r&&Te.default.createElement("p",{className:"text-xs text-gray-400 mt-1"},r))}var Q=te(re());function t5({agent:e,onBack:t}){let{timeWindow:r}=si(),[n,o]=(0,Q.useState)([]),[a,i]=(0,Q.useState)([]),[l,s]=(0,Q.useState)(null),[u,c]=(0,Q.useState)(null),[d,f]=(0,Q.useState)([]),[p,m]=(0,Q.useState)("run"),[g,h]=(0,Q.useState)(!1),[v,y]=(0,Q.useState)(!1),b=(0,Q.useRef)(!1),x=(0,Q.useRef)(!1),[S,w]=(0,Q.useState)("recent"),[T,k]=(0,Q.useState)({}),[A,M]=(0,Q.useState)(!0),[H,F]=(0,Q.useState)(1),[X,P]=(0,Q.useState)(!0),[Y,C]=(0,Q.useState)(""),[_,z]=(0,Q.useState)(""),[D,E]=(0,Q.useState)("recent"),j=(0,Q.useRef)(null),R=Re(`/agents/${e.id}/interactions`);(0,Q.useEffect)(()=>{U()},[e.id,H,Y,_,D,r.minutes]),(0,Q.useEffect)(()=>{F(1)},[r.minutes]),(0,Q.useEffect)(()=>{fetch(`/api/interactions?agent_id=${e.id}`).then(B=>B.json()).then(B=>i(B.interactions||[])).catch(()=>{}).finally(()=>y(!0))},[e.id]),(0,Q.useEffect)(()=>{let B=()=>{let we=dl(),ee=we.match(/\/interactions\/runs\/(\d+)/),ue=we.match(/\/interactions\/sessions\/(\d+)/);if(ee)m("run"),c(null),K(parseInt(ee[1],10),{updateUrl:!1});else if(ue)m("all"),c({id:parseInt(ue[1],10)});else if(we.endsWith("/interactions/sessions")||we.endsWith("/interactions/all"))we.endsWith("/all")&&window.history.replaceState({},"",we.replace(/\/all$/,"/sessions")),m("all"),c(null);else{b.current=!1,s(null),c(null),f([]);return}b.current=!0};return B(),window.addEventListener("popstate",B),()=>window.removeEventListener("popstate",B)},[e.id]),(0,Q.useEffect)(()=>{b.current||x.current||!g||!v||m(n.length===0&&a.length>0?"all":"run")},[g,v,n.length,a.length]);let U=async()=>{M(!0);try{let B=new URLSearchParams({page:H.toString(),per_page:"20",minutes:String(r.minutes)});Y&&B.append("status",Y),_&&B.append("source",_),D!=="recent"&&B.append("sort",D);let ee=await(await fetch(`/api/agents/${e.id}/runs?${B}`)).json();o(H===1?ee.runs:ue=>[...ue,...ee.runs]),P(ee.runs.length===20)}catch(B){console.error("Failed to load runs:",B)}finally{M(!1),h(!0)}},L=B=>{window.location.pathname!==B&&window.history.pushState({},"",B)},K=async(B,{updateUrl:we=!0}={})=>{try{let ue=await(await fetch(`/api/runs/${B}`)).json();s(ue.run),f(ue.messages||[]),m("run"),c(null),we&&L(`${R}/runs/${B}`)}catch(ee){console.error("Failed to load run details:",ee)}},ae=B=>{if(B.source==="reported"){let we=B.trace_id||String(B.id).replace(/^trace-/,"");window.history.pushState(window.history.state,"",Re(`/traces/${we}`)),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Re(`/traces/${we}`)}}));return}K(B.record_id||B.id)},de=()=>{s(null),c(null),f([]),m("run"),L(R)},ze=B=>{m("all"),B?(c({id:B.id,name:B.display_name}),L(`${R}/sessions/${B.id}`)):(c(null),L(`${R}/sessions`))},oe=B=>{x.current=!0,m(B),L(B==="all"?u?`${R}/sessions/${u.id}`:`${R}/sessions`:l?`${R}/runs/${l.id}`:R)},Ee=u?u.name||a.find(B=>B.id===u.id)?.display_name||`Session #${u.id}`:null,V=()=>{let B=new Map;n.forEach(ue=>{let W=`${ue.model||"unknown"}|${ue.instructions_digest||"none"}`;B.has(W)||B.set(W,{key:W,model:ue.model,instructionsDigest:ue.instructions_digest,instructionsVersion:ue.instructions_version,instructionsCodename:ue.instructions_codename,instructionsPreview:ue.instructions_preview,runs:[]}),B.get(W).runs.push(ue)});let we=[...B.values()].map(ue=>({...ue,count:ue.runs.length,completed:ue.runs.filter(W=>W.status==="complete").length,failed:ue.runs.filter(W=>W.status==="failed").length,totalTokens:ue.runs.reduce((W,xe)=>W+(xe.tokens||0),0),avgTokens:ue.runs.reduce((W,xe)=>W+(xe.tokens||0),0)/ue.runs.length,avgDuration:ue.runs.reduce((W,xe)=>W+(xe.duration_ms||0),0)/ue.runs.length,latest:ue.runs[0],sortedRuns:[...ue.runs].sort((W,xe)=>(xe.duration_ms||0)-(W.duration_ms||0))}));we.sort((ue,W)=>S==="longest"?W.avgDuration-ue.avgDuration:new Date(W.latest.created_at)-new Date(ue.latest.created_at));let ee={runs:n.length,completed:n.filter(ue=>ue.status==="complete").length,tokens:n.reduce((ue,W)=>ue+(W.tokens||0),0),avgDuration:n.length?n.reduce((ue,W)=>ue+(W.duration_ms||0),0)/n.length:0,models:[...new Set(n.map(ue=>ue.model).filter(Boolean))]};return{cohorts:we,totals:ee}},I=B=>{switch(B){case"complete":return"bg-green-100 text-green-700";case"failed":return"bg-red-100 text-red-700";case"running":return"bg-blue-100 text-blue-700";case"pending":return"bg-yellow-100 text-yellow-700";case"cancelled":return"bg-gray-100 text-gray-500";default:return"bg-gray-100 text-gray-500"}},N=B=>B?B<1e3?`${B}ms`:B<6e4?`${(B/1e3).toFixed(1)}s`:`${Math.floor(B/6e4)}m ${Math.floor(B%6e4/1e3)}s`:"-",O=B=>B==null?"\u2014":B===0?"$0":B<.01?`$${B.toFixed(4)}`:`$${B.toFixed(2)}`,Z=B=>{let we=new Date(B),ue=new Date-we,W=Math.floor(ue/6e4),xe=Math.floor(ue/36e5),De=Math.floor(ue/864e5);return W<1?"Just now":W<60?`${W}m ago`:xe<24?`${xe}h ago`:De<7?`${De}d ago`:we.toLocaleDateString()};return Q.default.createElement("div",{className:"flex h-full"},Q.default.createElement("div",{className:"w-80 border-r border-gray-200 flex flex-col bg-white"},Q.default.createElement("div",{className:"p-4 border-b border-gray-200"},Q.default.createElement("div",{className:"flex items-center space-x-3 mb-4"},Q.default.createElement("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 transition-colors"},Q.default.createElement("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"}))),Q.default.createElement("div",null,Q.default.createElement("h2",{className:"font-semibold text-gray-900"},"Agent Interactions"),Q.default.createElement("p",{className:"text-sm text-gray-500"},e.name))),Q.default.createElement("div",{className:"mb-2"},Q.default.createElement(ui,{compact:!0})),Q.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1 mb-2 text-sm"},[{value:"",label:"All"},{value:"dashboard",label:"Dashboard"},{value:"reported",label:"Reported"}].map(B=>Q.default.createElement("button",{key:B.value||"all",onClick:()=>{z(B.value),F(1)},className:`flex-1 px-2 py-1 rounded-md transition-colors ${_===B.value?"bg-white shadow text-gray-900":"text-gray-600"}`,title:B.value==="dashboard"?"Executions started from this dashboard":B.value==="reported"?"Executions reported by your app via telemetry":"Every execution, however it started"},B.label))),Q.default.createElement("select",{value:Y,onChange:B=>{C(B.target.value),F(1)},className:"w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},Q.default.createElement("option",{value:""},"All statuses"),Q.default.createElement("option",{value:"complete"},"Completed"),Q.default.createElement("option",{value:"failed"},"Failed"),Q.default.createElement("option",{value:"running"},"Running"),Q.default.createElement("option",{value:"cancelled"},"Cancelled")),Q.default.createElement("select",{value:D,onChange:B=>{E(B.target.value),F(1)},className:"w-full mt-2 px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500",title:"Rank these executions"},Q.default.createElement("option",{value:"recent"},"Most recent"),Q.default.createElement("option",{value:"longest"},"Longest running"),Q.default.createElement("option",{value:"cost"},"Highest cost"),Q.default.createElement("option",{value:"tokens"},"Most tokens"))),Q.default.createElement("div",{className:"flex-1 overflow-auto"},A&&n.length===0?Q.default.createElement("div",{className:"flex items-center justify-center h-32"},Q.default.createElement("div",{className:"animate-spin rounded-full h-6 w-6 border-b-2 border-red-500"})):n.length>0?Q.default.createElement(Q.default.Fragment,null,n.map(B=>{let we=B.source==="reported";return Q.default.createElement("div",{key:B.id,onClick:()=>ae(B),title:we?"Reported by your app \u2014 opens its trace":"Started from this dashboard",className:`p-4 border-b border-gray-100 cursor-pointer transition-colors ${!we&&l?.id===B.id?"bg-red-50 border-l-4 border-l-red-500":"hover:bg-gray-50"}`},Q.default.createElement("div",{className:"flex items-center justify-between mb-2 gap-2"},Q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${I(B.status)}`},B.status),Q.default.createElement("div",{className:"flex items-center gap-2"},Q.default.createElement("span",{className:`px-1.5 py-0.5 rounded text-[10px] uppercase tracking-wide ${we?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`},we?"reported":"dashboard"),Q.default.createElement("span",{className:"text-xs text-gray-400"},Z(B.created_at||B.occurred_at)))),Q.default.createElement("p",{className:"text-sm text-gray-700 truncate"},B.input_preview||B.input_prompt?.substring(0,60)||(we?`${B.action_name||"execution"} \xB7 trace ${String(B.trace_id||"").slice(0,8)}`:"No input")),Q.default.createElement("div",{className:"flex items-center space-x-3 mt-2 text-xs text-gray-400 flex-wrap gap-y-1"},B.model&&Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},B.model),Q.default.createElement("span",{className:D==="longest"?"text-gray-700 font-medium":void 0},N(B.duration_ms)),!!B.tokens&&Q.default.createElement("span",{className:D==="tokens"?"text-gray-700 font-medium":void 0},B.tokens," tokens"),B.cost!=null&&Q.default.createElement("span",{className:D==="cost"?"text-gray-700 font-medium":void 0,title:"Estimated from token counts at this model's published rates"},O(B.cost))))}),X&&Q.default.createElement("button",{onClick:()=>F(B=>B+1),disabled:A,className:"w-full py-3 text-sm text-red-600 hover:bg-gray-50 transition-colors"},A?"Loading...":"Load More")):Q.default.createElement("div",{className:"p-8 text-center text-gray-400"},Q.default.createElement("svg",{className:"w-12 h-12 mx-auto mb-3 text-gray-300",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})),Q.default.createElement("p",null,"No conversations yet")))),Q.default.createElement("div",{className:"flex-1 flex flex-col bg-gray-50"},Q.default.createElement("div",{className:"px-4 py-2 bg-white border-b border-gray-100 flex items-center gap-1.5 text-xs text-gray-500"},Q.default.createElement("button",{onClick:t,className:"hover:text-gray-900 hover:underline transition-colors"},e.name),Q.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"||l?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("button",{onClick:de,className:"hover:text-gray-900 hover:underline transition-colors"},"Interactions"),Q.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"?u?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("button",{onClick:()=>ze(null),className:"hover:text-gray-900 hover:underline transition-colors"},"Sessions"),Q.default.createElement("span",{className:"text-gray-300"},"/"),Q.default.createElement("span",{className:"text-gray-900 font-medium"},Ee)):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Sessions"):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Run #",l.id)):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Interactions")),Q.default.createElement("div",{className:"p-3 bg-white border-b border-gray-200 flex items-center justify-between"},Q.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},Q.default.createElement("button",{onClick:()=>oe("run"),className:`px-3 py-1 text-sm rounded-md transition-colors ${p==="run"?"bg-white shadow text-gray-900":"text-gray-600"}`},"Selected run"),Q.default.createElement("button",{onClick:()=>oe("all"),className:`px-3 py-1 text-sm rounded-md transition-colors ${p==="all"?"bg-white shadow text-gray-900":"text-gray-600"}`},"Sessions")),p==="run"&&l&&Q.default.createElement("span",{className:`px-3 py-1 rounded-full text-sm font-medium ${I(l.status)}`},l.status)),p==="all"?Q.default.createElement("div",{className:"flex-1 overflow-auto p-4 space-y-4"},(()=>{let{totals:B}=V();return Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4 space-y-3"},Q.default.createElement("div",{className:"flex items-center gap-3"},Q.default.createElement(wr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-semibold text-gray-900"},e.name),Q.default.createElement("p",{className:"text-xs text-gray-500"},u?`${Ee} \u2014 one persisted interaction stream`:"Sessions group this agent\u2019s runs into persisted interaction streams"))),Q.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},B.runs)),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},B.runs?Math.round(B.completed/B.runs*100):0,"%")),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},N(Math.round(B.avgDuration)))),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},B.tokens.toLocaleString()))))})(),Q.default.createElement(pl,{agentId:e.id,embedded:!0,selectedSessionId:u?.id??null,onSelectSession:ze})):l?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("div",{className:"p-4 bg-white border-b border-gray-200"},Q.default.createElement("div",{className:"flex items-center space-x-3"},Q.default.createElement(wr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-medium text-gray-900"},e.name," \u2014 Run #",l.id),Q.default.createElement("p",{className:"text-xs text-gray-500"},new Date(l.created_at).toLocaleString())))),Q.default.createElement("div",{ref:j,className:"flex-1 overflow-auto p-6"},Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 shadow-sm p-4"},d.length>0?Q.default.createElement(ba,{messages:d,darkMode:!1}):Q.default.createElement(ba,{darkMode:!1,messages:[{id:`run-${l.id}-input`,role:"user",content:l.input_prompt||l.input_preview,created_at:l.created_at},{id:`run-${l.id}-output`,role:"assistant",content:l.error_message||l.output||l.output_preview||"No response",created_at:l.completed_at||l.created_at}]}))),Q.default.createElement("div",{className:"p-4 bg-white border-t border-gray-200"},Q.default.createElement("div",{className:"flex items-center justify-center space-x-8 text-sm text-gray-500"},Q.default.createElement("span",null,"Duration: ",N(l.duration_ms)),l.total_tokens&&Q.default.createElement("span",null,"Tokens: ",l.total_tokens),l.input_tokens&&l.output_tokens&&Q.default.createElement("span",null,"Input: ",l.input_tokens," / Output: ",l.output_tokens),l.trace_id&&Q.default.createElement("a",{href:Re(`/traces?trace=${l.trace_id}`),className:"font-mono text-xs text-blue-500 hover:underline",title:`${l.trace_id} \u2014 open in Traces`},"trace:",l.trace_id.slice(0,8)," \u2192")))):(()=>{let{cohorts:B,totals:we}=V();return B.length===0?Q.default.createElement("div",{className:"flex-1 flex items-center justify-center"},Q.default.createElement("div",{className:"text-center text-gray-400"},Q.default.createElement(wr,{size:100}),Q.default.createElement("p",{className:"mt-4"},"No runs yet \u2014 run the agent to build its report"))):Q.default.createElement("div",{className:"flex-1 overflow-auto p-6 space-y-5"},Q.default.createElement("div",{className:"flex items-center gap-3"},Q.default.createElement(wr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Agent Report"),Q.default.createElement("p",{className:"text-xs text-gray-500"},"Recent activity for ",e.name," \u2014 select a run for its full interaction"))),Q.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},we.runs)),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},we.runs?Math.round(we.completed/we.runs*100):0,"%")),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},N(Math.round(we.avgDuration)))),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},we.tokens.toLocaleString()))),we.models.length>0&&Q.default.createElement("div",{className:"flex items-center gap-2 flex-wrap text-xs"},Q.default.createElement("span",{className:"text-gray-500"},"Models used:"),we.models.map(ee=>Q.default.createElement("span",{key:ee,className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},ee))),a.length>0&&Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},Q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},Q.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Sessions \u2014 grouped interaction streams")),Q.default.createElement("div",{className:"divide-y divide-gray-100"},a.map(ee=>Q.default.createElement("div",{key:ee.id,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer flex items-center justify-between gap-3",onClick:()=>ze(ee),title:"Open this session's interaction stream"},Q.default.createElement("div",{className:"flex items-center gap-2 min-w-0",title:ee.display_name},Q.default.createElement("span",{className:"px-2 py-0.5 text-xs font-medium bg-blue-100 text-blue-700 rounded flex-shrink-0"},"SESSION"),Q.default.createElement("span",{className:"text-sm text-gray-900 truncate"},ee.agent?.name||ee.agent_name),ee.action_name&&Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-purple-50 text-purple-700 font-mono text-xs flex-shrink-0"},"#",ee.action_name)),Q.default.createElement("div",{className:"flex items-center gap-3 text-xs text-gray-400 flex-shrink-0"},Q.default.createElement("span",null,ee.message_count," messages"),Q.default.createElement("span",null,(ee.tokens?.total||0).toLocaleString()," tokens"),Q.default.createElement("span",null,Z(ee.last_activity_at))))))),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},Q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100 flex items-center justify-between"},Q.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Interactions by instructions \xD7 model"),Q.default.createElement("select",{value:S,onChange:ee=>w(ee.target.value),className:"text-xs border border-gray-200 rounded px-2 py-1 text-gray-600"},Q.default.createElement("option",{value:"recent"},"Most recent"),Q.default.createElement("option",{value:"longest"},"Longest interactions"))),Q.default.createElement("div",{className:"divide-y divide-gray-100"},B.map(ee=>Q.default.createElement("div",{key:ee.key},Q.default.createElement("div",{className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>k(ue=>({...ue,[ee.key]:!ue[ee.key]})),title:"Show this configuration's runs"},Q.default.createElement("div",{className:"flex items-center gap-2 flex-wrap"},Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono text-xs"},ee.model||"unknown model"),Q.default.createElement("span",{className:"text-xs text-gray-400 font-mono",title:ee.instructionsDigest?`sha:${ee.instructionsDigest}`:void 0},"instructions"," ",ee.instructionsDigest?[ee.instructionsVersion,ee.instructionsCodename||ee.instructionsDigest].filter(Boolean).join(" \xB7 "):"n/a")),ee.instructionsPreview&&Q.default.createElement("p",{className:"text-xs text-gray-500 mt-1 truncate"},ee.instructionsPreview),Q.default.createElement("div",{className:"flex items-center gap-3 mt-1.5 text-xs text-gray-400 flex-wrap gap-y-1"},Q.default.createElement("span",null,ee.count," run",ee.count>1?"s":""),Q.default.createElement("span",{className:ee.failed>0?"text-red-500":"text-green-600"},ee.count?Math.round(ee.completed/ee.count*100):0,"% success"),Q.default.createElement("span",null,"avg ",N(Math.round(ee.avgDuration))),Q.default.createElement("span",null,"avg ",Math.round(ee.avgTokens).toLocaleString()," tokens"),Q.default.createElement("span",null,"last ",Z(ee.latest.created_at)))),T[ee.key]&&Q.default.createElement("div",{className:"bg-gray-50 divide-y divide-gray-100 border-t border-gray-100"},ee.sortedRuns.map(ue=>Q.default.createElement("div",{key:ue.id,className:"px-6 py-2 hover:bg-gray-100 cursor-pointer",onClick:()=>K(ue.id),title:"Open this run's interaction"},Q.default.createElement("p",{className:"text-xs text-gray-700 truncate"},ue.input_preview||"No input"),Q.default.createElement("div",{className:"flex items-center gap-3 mt-0.5 text-[11px] text-gray-400"},Q.default.createElement("span",{className:ue.status==="failed"?"text-red-500":""},ue.status),Q.default.createElement("span",null,N(ue.duration_ms)),ue.tokens&&Q.default.createElement("span",null,ue.tokens.toLocaleString()," tokens"),Q.default.createElement("span",null,Z(ue.created_at)))))))))))})()))}var $e=te(re());var Dce={productivity:"[+]",development:"<>",research:"[?]",creative:"[*]",data:"[#]",automation:"[>]"};function r5({onUseTemplate:e,onClose:t}){let[r,n]=(0,$e.useState)([]),[o,a]=(0,$e.useState)([]),[i,l]=(0,$e.useState)(""),[s,u]=(0,$e.useState)(null),[c,d]=(0,$e.useState)(!0),[f,p]=(0,$e.useState)(!1),[m,g]=(0,$e.useState)(null);(0,$e.useEffect)(()=>{h()},[i]);let h=async()=>{d(!0);try{let y=new URLSearchParams;i&&y.append("category",i);let x=await(await fetch(`/api/templates?${y}`)).json();n(x.templates),a(x.categories)}catch(y){console.error("Failed to load templates:",y)}finally{d(!1)}},v=async y=>{p(!0),g(null);try{let b=await fetch(`/api/templates/${y.id}/use`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:y.name})});if(b.ok){let x=await b.json();e(x.agent)}else{let x=`Could not create the agent (HTTP ${b.status})`;try{let S=await b.json(),w=S.errors||S.error;w&&(x=Array.isArray(w)?w.join(", "):String(w))}catch{}g(x)}}catch(b){console.error("Failed to create agent from template:",b),g("Could not create the agent \u2014 check your connection and try again.")}finally{p(!1)}};return $e.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},$e.default.createElement("div",{className:"bg-white rounded-2xl w-full max-w-5xl max-h-[90vh] flex flex-col overflow-hidden"},$e.default.createElement("div",{className:"px-6 py-4 border-b border-gray-200 flex items-center justify-between"},$e.default.createElement("div",null,$e.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Template Library"),$e.default.createElement("p",{className:"text-sm text-gray-500"},"Start with a pre-configured agent template")),$e.default.createElement("button",{onClick:t,className:"p-2 text-gray-400 hover:text-gray-600 transition-colors"},$e.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},$e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))),$e.default.createElement("div",{className:"flex-1 flex overflow-hidden"},$e.default.createElement("div",{className:"w-48 border-r border-gray-200 p-4 flex-shrink-0"},$e.default.createElement("h3",{className:"text-xs font-semibold text-gray-400 uppercase mb-3"},"Categories"),$e.default.createElement("div",{className:"space-y-1"},$e.default.createElement("button",{onClick:()=>l(""),className:`w-full text-left px-3 py-2 rounded-lg text-sm transition-colors ${i?"text-gray-600 hover:bg-gray-50":"bg-red-50 text-red-600"}`},"All Templates"),o.map(y=>$e.default.createElement("button",{key:y,onClick:()=>l(y),className:`w-full text-left px-3 py-2 rounded-lg text-sm flex items-center space-x-2 transition-colors ${i===y?"bg-red-50 text-red-600":"text-gray-600 hover:bg-gray-50"}`},$e.default.createElement("span",null,Dce[y]||"\u{1F4E6}"),$e.default.createElement("span",{className:"capitalize"},y))))),$e.default.createElement("div",{className:"flex-1 p-6 overflow-auto"},c?$e.default.createElement("div",{className:"flex items-center justify-center h-full"},$e.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):r.length>0?$e.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-3 gap-4"},r.map(y=>$e.default.createElement("div",{key:y.id,onClick:()=>u(y),className:`bg-white rounded-xl border-2 p-4 cursor-pointer transition-all hover:shadow-lg ${s?.id===y.id?"border-red-500 ring-2 ring-red-100":"border-gray-200 hover:border-gray-300"}`},$e.default.createElement("div",{className:"flex items-start space-x-3"},$e.default.createElement("div",{className:"flex-shrink-0"},$e.default.createElement(wr,{size:60})),$e.default.createElement("div",{className:"flex-1 min-w-0"},$e.default.createElement("div",{className:"flex items-center space-x-2"},$e.default.createElement("span",{className:"text-lg"},y.icon),$e.default.createElement("h3",{className:"font-medium text-gray-900 truncate"},y.name)),$e.default.createElement("p",{className:"text-xs text-gray-500 mt-1 line-clamp-2"},y.description),$e.default.createElement("div",{className:"flex items-center space-x-2 mt-2"},$e.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-gray-100 rounded capitalize"},y.category),y.featured&&$e.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-yellow-100 text-yellow-700 rounded"},"Featured"))))))):$e.default.createElement("div",{className:"text-center py-12 text-gray-500"},"No templates found in this category")),s&&$e.default.createElement("div",{className:"w-80 border-l border-gray-200 p-6 flex-shrink-0 bg-gray-50 overflow-auto"},$e.default.createElement("div",{className:"flex justify-center mb-4"},$e.default.createElement(wr,{size:120})),$e.default.createElement("h3",{className:"text-lg font-semibold text-gray-900 text-center"},s.name),$e.default.createElement("p",{className:"text-sm text-gray-500 text-center mt-1"},s.description),$e.default.createElement("div",{className:"mt-6 space-y-4"},$e.default.createElement("div",null,$e.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Provider / Model"),$e.default.createElement("p",{className:"text-sm text-gray-900"},s.provider," / ",s.model)),s.tools?.length>0&&$e.default.createElement("div",null,$e.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Tools"),$e.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},s.tools.map(y=>$e.default.createElement("span",{key:y,className:"text-xs px-2 py-0.5 bg-red-100 text-red-700 rounded"},y)))),$e.default.createElement("div",null,$e.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Usage"),$e.default.createElement("p",{className:"text-sm text-gray-900"},s.usage_count," agents created"))),$e.default.createElement("button",{onClick:()=>v(s),disabled:f,className:"w-full mt-6 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors disabled:opacity-50"},f?"Creating...":"Use This Template"),m&&$e.default.createElement("p",{className:"mt-2 text-sm text-red-600",role:"alert"},m)))))}var Be=te(re());function n5({currentView:e,onNavigate:t,agentCount:r,account:n,user:o,gemVersion:a,assistantEnabled:i=!0}){let{darkMode:l}=Nt(),[s,u]=(0,Be.useState)(!1),c=(0,Be.useRef)(null);(0,Be.useEffect)(()=>{function v(y){c.current&&!c.current.contains(y.target)&&u(!1)}return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[]);let d=n?.name||"My Workspace",f=o?.name||o?.email?.split("@")[0]||"User",p=[...i?[{id:"assistant",label:"Ask ActiveAgents",icon:">"}]:[],{id:"list",label:"Agents",icon:Yt.nav.agents,badge:r},{id:"builder",label:"New Agent",icon:Yt.nav.newAgent},{id:"sandbox",label:"Run Agents",icon:Yt.nav.demo,highlight:!0}],m=[{id:"traces",label:"Traces",icon:Yt.nav.traces},{id:"interactions",label:"Interactions",icon:Yt.nav.interactions},{id:"tools",label:"Tools",icon:Yt.nav.tools},{id:"mcp",label:"MCP Services",icon:Yt.nav.mcp},{id:"metrics",label:"Metrics",icon:Yt.nav.metrics},{id:"evaluations",label:"Evaluations",icon:Yt.nav.evaluations},{id:"replay",label:"Session Replay",icon:Yt.nav.replay}],g=[{id:"organization",label:"Organization",icon:"\u{1F3E2}"},{id:"settings",label:"Settings",icon:"\u2699\uFE0F"}],h=({item:v})=>Be.default.createElement("button",{onClick:()=>t(v.id),className:`w-full flex items-center justify-between py-3 rounded-lg text-left transition-colors ${v.indent?"pl-10 pr-4":"px-4"}`,style:{backgroundColor:e===v.id?l?"rgba(239, 68, 68, 0.15)":"#fef2f2":"transparent",color:e===v.id?"#ef4444":l?"#d1d5db":"#374151"},onMouseEnter:y=>{e!==v.id&&(y.currentTarget.style.backgroundColor=l?"#252525":"#f3f4f6")},onMouseLeave:y=>{e!==v.id&&(y.currentTarget.style.backgroundColor="transparent")}},Be.default.createElement("div",{className:"flex items-center space-x-3"},Be.default.createElement("span",{style:{fontFamily:Ve.mono,fontSize:"12px",width:"20px",textAlign:"center"}},v.icon),Be.default.createElement("span",{className:"font-medium"},v.label)),v.badge!==void 0&&Be.default.createElement("span",{className:"px-2 py-0.5 text-xs rounded-full",style:{backgroundColor:e===v.id?"#fee2e2":l?"#2a2a2a":"#f3f4f6",color:e===v.id?"#ef4444":l?"#d1d5db":"#4b5563"}},v.badge));return Be.default.createElement("aside",{className:"w-64 border-r flex flex-col",style:{backgroundColor:l?"#1a1a1a":"#ffffff",borderColor:l?"#2a2a2a":"#e5e7eb"}},Be.default.createElement("div",{className:"h-16 flex items-center px-4 border-b relative",style:{borderColor:l?"#2a2a2a":"#e5e7eb"},ref:c},Be.default.createElement("button",{onClick:()=>u(!s),className:"w-full flex items-center justify-between px-2 py-2 rounded-lg transition-colors",style:{backgroundColor:s?l?"#252525":"#f3f4f6":"transparent"}},Be.default.createElement("div",{className:"flex items-center space-x-3 min-w-0"},Be.default.createElement(wr,{size:28}),Be.default.createElement("span",{className:`font-semibold truncate ${l?"text-white":"text-gray-900"}`},d)),Be.default.createElement("svg",{className:`w-4 h-4 flex-shrink-0 transition-transform ${s?"rotate-180":""}`,style:{color:l?"#9ca3af":"#6b7280"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),s&&Be.default.createElement("div",{className:"absolute left-4 right-4 top-14 rounded-lg shadow-lg border overflow-hidden z-50",style:{backgroundColor:l?"#1a1a1a":"#ffffff",borderColor:l?"#2a2a2a":"#e5e7eb"}},Be.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},Be.default.createElement("div",{className:"flex items-center space-x-3"},Be.default.createElement(wr,{size:32}),Be.default.createElement("div",{className:"min-w-0"},Be.default.createElement("div",{className:`font-medium truncate ${l?"text-white":"text-gray-900"}`},d)))),Be.default.createElement("div",{className:"py-1"},Be.default.createElement("button",{onClick:()=>{t("settings"),u(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${l?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},Be.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})),Be.default.createElement("span",null,"Settings")),Be.default.createElement("button",{onClick:()=>{t("organization"),u(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${l?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},Be.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"})),Be.default.createElement("span",null,"Organization"))),Be.default.createElement("div",{className:"border-t py-1",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},Be.default.createElement("div",{className:`px-4 py-2 flex items-center space-x-3 ${l?"text-gray-300":"text-gray-700"}`},Be.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"})),Be.default.createElement("span",{className:"text-sm"},f))))),Be.default.createElement("nav",{className:"flex-1 px-4 py-4 space-y-1 overflow-y-auto"},Be.default.createElement("div",{className:"space-y-1"},p.map(v=>Be.default.createElement(h,{key:v.id,item:v}))),Be.default.createElement("div",{className:"pt-4"},Be.default.createElement("div",{className:"px-4 pb-2"},Be.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${l?"text-gray-500":"text-gray-400"}`},"Observability")),Be.default.createElement("div",{className:"space-y-1"},m.map(v=>Be.default.createElement(h,{key:v.id,item:v})))),Be.default.createElement("div",{className:"pt-4"},Be.default.createElement("div",{className:"px-4 pb-2"},Be.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${l?"text-gray-500":"text-gray-400"}`},"Workspace")),Be.default.createElement("div",{className:"space-y-1"},g.map(v=>Be.default.createElement(h,{key:v.id,item:v}))))),Be.default.createElement("div",{className:"px-4 py-4 border-t",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},Be.default.createElement("div",{className:`text-xs font-semibold uppercase mb-3 ${l?"text-gray-500":"text-gray-400"}`},"Resources"),Be.default.createElement("div",{className:"space-y-2"},Be.default.createElement("a",{href:"https://docs.activeagents.ai",target:"_blank",rel:"noopener noreferrer",className:`flex items-center space-x-2 text-sm transition-colors ${l?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},Be.default.createElement("span",{style:{fontFamily:Ve.mono,fontSize:"12px",width:"20px",textAlign:"center"}},Yt.nav.docs),Be.default.createElement("span",null,"Documentation")),Be.default.createElement("a",{href:"https://github.com/activeagents/activeagent",target:"_blank",rel:"noopener noreferrer",className:`flex items-center space-x-2 text-sm transition-colors ${l?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},Be.default.createElement("span",{style:{fontFamily:Ve.mono,fontSize:"12px",width:"20px",textAlign:"center"}},Yt.nav.github),Be.default.createElement("span",null,"GitHub")))),Be.default.createElement("div",{className:"px-6 py-4 border-t",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},Be.default.createElement("div",{className:`text-xs ${l?"text-gray-500":"text-gray-400"}`},"Active Agent ",a?`v${a}`:"")))}var Ct=te(re());function o5({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=Nt(),[o,a]=(0,Ct.useState)(!1),i=(0,Ct.useRef)(null);(0,Ct.useEffect)(()=>{function d(f){i.current&&!i.current.contains(f.target)&&a(!1)}return document.addEventListener("mousedown",d),()=>document.removeEventListener("mousedown",d)},[]);let l=window.ACTIVE_AGENT_DASHBOARD?.meta?.signOutPath,s=()=>{if(!l)return;let d=document.querySelector('meta[name="csrf-token"]')?.content,f=document.createElement("form");f.method="POST",f.action=l;let p=document.createElement("input");p.type="hidden",p.name="_method",p.value="delete",f.appendChild(p);let m=document.createElement("input");m.type="hidden",m.name="authenticity_token",m.value=d,f.appendChild(m),document.body.appendChild(f),f.submit()},u=e?.name||e?.email?.split("@")[0]||"User",c=u.charAt(0).toUpperCase();return Ct.default.createElement("header",{className:"h-16 border-b flex items-center justify-between px-6",style:{backgroundColor:r?"#1a1a1a":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"}},Ct.default.createElement("div",{className:"flex items-center space-x-4"}),Ct.default.createElement("div",{className:"flex items-center space-x-4"},Ct.default.createElement("button",{onClick:n,className:"p-2 rounded-lg transition-colors",style:{backgroundColor:r?"#252525":"#f3f4f6",color:r?"#fbbf24":"#4b5563"},title:r?"Switch to light mode":"Switch to dark mode"},r?Ct.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},Ct.default.createElement("path",{fillRule:"evenodd",d:"M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z",clipRule:"evenodd"})):Ct.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},Ct.default.createElement("path",{d:"M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"}))),Ct.default.createElement("div",{className:`flex items-center space-x-2 text-sm ${r?"text-gray-400":"text-gray-500"}`},Ct.default.createElement("span",{className:"w-2 h-2 bg-green-400 rounded-full"}),Ct.default.createElement("span",null,"Connected")),Ct.default.createElement("div",{className:"relative",ref:i},Ct.default.createElement("button",{onClick:()=>a(!o),className:"flex items-center space-x-2 p-1 rounded-lg transition-colors",style:{backgroundColor:o?r?"#252525":"#f3f4f6":"transparent"}},Ct.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},Ct.default.createElement("span",{className:"text-red-600 font-medium text-sm"},c))),o&&Ct.default.createElement("div",{className:"absolute right-0 mt-2 w-64 rounded-lg shadow-lg border overflow-hidden z-50",style:{backgroundColor:r?"#1a1a1a":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"}},Ct.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},Ct.default.createElement("div",{className:"flex items-center space-x-3"},Ct.default.createElement("div",{className:"w-10 h-10 bg-red-100 rounded-full flex items-center justify-center"},Ct.default.createElement("span",{className:"text-red-600 font-medium"},c)),Ct.default.createElement("div",null,Ct.default.createElement("div",{className:`font-medium ${r?"text-white":"text-gray-900"}`},u),Ct.default.createElement("div",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},e?.email)))),l&&Ct.default.createElement("div",{className:"py-1"},Ct.default.createElement("button",{onClick:s,className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${r?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},Ct.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ct.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})),Ct.default.createElement("span",null,"Sign out")))))))}var Ce=te(re());var We=te(re());var a5=150,Ice=e=>e.reduce((t,r)=>t+(Number(r)||0),0),jce=e=>e.length?Ice(e)/e.length:0,Ua=e=>e.reduce((t,r)=>r!=null&&Number(r)>t?Number(r):t,0),i5=e=>{if(!(e>0))return 1;let t=Math.pow(10,Math.floor(Math.log10(e))),r=e/t;return(r<=1?1:r<=2?2:r<=2.5?2.5:r<=5?5:10)*t},hc=(e,t)=>[0,25,50,75,100].map(r=>({top:r,label:t(e*(1-r/100))})),zce=4,up=e=>Math.max(zce,i5(e)),IF=(e,t=2,r=6)=>{let n=e/4;for(let o=t;oMath.abs(n*i-Number((n*i).toFixed(o)))<=n*.1))return o;return r},Lce=5.5,Bce=12,$ce=(e,t)=>{let r=!!e.flip;if(!(t>0))return r;let n=String(e.label||"").length*Lce+Bce,o=Number(e.left)/100*t,a=t-o;return r?!(oo):aa},Fce=typeof window>"u"?We.useEffect:We.useLayoutEffect,Uce=e=>{let[t,r]=(0,We.useState)(0);return Fce(()=>{let n=e.current;if(!n)return;let o=()=>r(n.clientWidth);if(o(),typeof ResizeObserver>"u")return window.addEventListener("resize",o),()=>window.removeEventListener("resize",o);let a=new ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},xc=(e,t)=>{let r=e.length,n=[];return e.forEach((o,a)=>{if(o==null||Number.isNaN(Number(o)))return;let i=r>1?a/(r-1)*100:50,l=100-Math.min(100,Math.max(0,Number(o)/t*100));n.push(`${i.toFixed(2)},${l.toFixed(2)}`)}),n.join(" ")},_w=(e,t)=>{let r=xc(e,t);return r?`0,100 ${r} 100,100`:""},jF=(e,t=24)=>{let r=e.length;if(!r)return"";let n=r/t,o=Array.from({length:t},(l,s)=>{let u=Math.floor(s*n),c=Math.max(u+1,Math.floor((s+1)*n));return jce(e.slice(u,c).filter(d=>d!=null))}),a=Math.max(...o),i=Math.min(...o);return o.map((l,s)=>`${(s/(t-1)*100).toFixed(1)},${(26-(a===i?.5:(l-i)/(a-i))*24).toFixed(1)}`).join(" ")},Cg=(e,t,r)=>{let n=e.length?e[0].data.length:0;return Array.from({length:n},(o,a)=>({title:r(a),segs:e.map(i=>({h:(Number(i.data[a])||0)/t*100,color:i.color}))}))};function zF({label:e,value:t,unit:r,sub:n,delta:o,deltaColor:a,deltaSub:i,spark:l,sparkColor:s}){return We.default.createElement(ht,{padding:"14px 16px 12px",style:{display:"flex",flexDirection:"column",gap:6,minWidth:0}},We.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8}},We.default.createElement(et,{size:11,spacing:"0.05em"},e),We.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ce,fontSize:11,fontWeight:600,color:a,whiteSpace:"nowrap"}},o)),We.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6}},We.default.createElement("span",{style:{fontFamily:ce,fontSize:26,fontWeight:700,lineHeight:1.1,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},t),r?We.default.createElement("span",{style:{fontFamily:ce,fontSize:12,color:"var(--color-text-muted)"}},r):null),We.default.createElement("div",{title:n,style:{fontFamily:ce,fontSize:11,color:"var(--color-text-secondary)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},n),We.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:8,marginTop:2}},We.default.createElement("svg",{viewBox:"0 0 100 28",preserveAspectRatio:"none","aria-hidden":"true",style:{flex:1,height:28,minWidth:0,display:"block",overflow:"visible"}},We.default.createElement("polyline",{points:l,fill:"none",stroke:s,strokeWidth:"1.5",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"})),We.default.createElement("span",{style:{fontSize:10,color:"var(--color-text-muted)",whiteSpace:"nowrap"}},i)))}function LF({title:e,sub:t,value:r,valueColor:n="var(--color-text-primary)",legend:o=[],ticks:a=[],buckets:i=[],lines:l=[],areas:s=[],markers:u=[],xLabels:c=[],height:d=a5}){let f=(0,We.useRef)(null),p=Uce(f),m="1px dashed var(--color-text-secondary)";return We.default.createElement(ht,{padding:"14px 16px 12px",style:{minWidth:0,display:"flex",flexDirection:"column",gap:8}},We.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,flexWrap:"wrap"}},We.default.createElement("span",{style:{fontSize:13,fontWeight:600,color:"var(--color-text-primary)"}},e),We.default.createElement("span",{style:{fontFamily:ce,fontSize:10,color:"var(--color-text-muted)"}},t),We.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ce,fontSize:12,fontWeight:600,color:n,whiteSpace:"nowrap"}},r)),We.default.createElement("div",{style:{display:"flex",gap:12,flexWrap:"wrap"}},o.map(g=>We.default.createElement("span",{key:g.label,style:{display:"inline-flex",alignItems:"center",gap:5,fontFamily:ce,fontSize:10,color:"var(--color-text-secondary)"}},We.default.createElement("span",{style:{width:8,height:8,borderRadius:2,background:g.color,flexShrink:0}}),g.label))),We.default.createElement("div",{ref:f,style:{position:"relative",height:d,margin:"6px 0 0 40px"}},a.map(g=>We.default.createElement("div",{key:g.top,style:{position:"absolute",left:0,right:0,top:`${g.top}%`,borderTop:"1px solid var(--color-border-light)"}},We.default.createElement("span",{style:{position:"absolute",right:"calc(100% + 6px)",top:-6,whiteSpace:"nowrap",fontFamily:ce,fontSize:10,lineHeight:"12px",color:"var(--color-text-muted)"}},g.label))),i.length>0&&We.default.createElement("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"stretch",gap:1}},i.map((g,h)=>We.default.createElement("div",{key:h,title:g.title,style:{flex:1,minWidth:0,display:"flex",flexDirection:"column-reverse"}},g.segs.map((v,y)=>We.default.createElement("div",{key:y,style:{height:`${v.h.toFixed(2)}%`,background:v.color,flexShrink:0}}))))),(l.length>0||s.length>0)&&We.default.createElement("svg",{viewBox:"0 0 100 100",preserveAspectRatio:"none","aria-hidden":"true",style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"}},s.map((g,h)=>We.default.createElement("polygon",{key:h,points:g.points,fill:g.color,opacity:"0.16"})),l.map((g,h)=>We.default.createElement("polyline",{key:h,points:g.points,fill:"none",stroke:g.color,strokeWidth:g.width||1.5,strokeLinejoin:"round",strokeLinecap:"round",vectorEffect:"non-scaling-stroke"}))),u.map((g,h)=>{let v=$ce(g,p),y=`${Number(g.left).toFixed(2)}%`;return We.default.createElement("div",{key:h,style:{position:"absolute",top:0,bottom:0,pointerEvents:"none",...v?{left:0,width:y,borderRight:m}:{left:y,right:0,borderLeft:m}}},We.default.createElement("span",{style:{position:"absolute",top:-4,[v?"right":"left"]:4,maxWidth:"calc(100% - 8px)",boxSizing:"border-box",overflow:"hidden",textOverflow:"ellipsis",fontFamily:ce,fontSize:9,lineHeight:"12px",color:"var(--color-text-secondary)",whiteSpace:"nowrap",background:"var(--color-card)",padding:"0 4px",borderRadius:3}},g.label))})),We.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginLeft:40,fontFamily:ce,fontSize:10,color:"var(--color-text-muted)"}},c.map((g,h)=>We.default.createElement("span",{key:h},g))))}function cp({label:e,qualifier:t,meta:r,children:n}){return We.default.createElement(ht,{padding:0,style:{overflow:"hidden"}},We.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,padding:"10px 14px",borderBottom:"1px solid var(--color-border-light)"}},We.default.createElement(et,null,e),t?We.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},t):null,r?We.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},r):null),n)}function l5({template:e,columns:t}){return We.default.createElement("div",{style:{display:"grid",gridTemplateColumns:e,gap:8,padding:"6px 14px 4px",fontFamily:ce,fontSize:10,textTransform:"uppercase",letterSpacing:"0.05em",color:"var(--color-text-muted)"}},We.default.createElement("span",null),t.map(r=>We.default.createElement("span",{key:r,style:{textAlign:"right"}},r)))}function Ew({template:e,active:t=!1,onClick:r,title:n,padding:o="8px 14px",children:a}){let i=typeof r=="function";return We.default.createElement("div",{role:i?"button":void 0,tabIndex:i?0:void 0,"aria-pressed":i?t:void 0,onClick:r,onKeyDown:i?s=>{(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),r(s))}:void 0,title:n,className:i?"hover:bg-[var(--color-hover)]":void 0,style:{display:"grid",gridTemplateColumns:e,gap:8,alignItems:"center",padding:o,borderTop:"1px solid var(--color-border-light)",cursor:i?"pointer":"default",background:t?"var(--color-muted)":void 0}},a)}function s5({children:e,padding:t="8px 14px"}){return We.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:t,borderTop:"1px solid var(--color-border-light)"}},e)}function Ng({children:e}){return We.default.createElement("div",{style:{padding:"12px 14px",fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},e)}function u5({color:e}){return We.default.createElement("span",{style:{width:8,height:8,borderRadius:2,background:e,flexShrink:0}})}function c5({pct:e,color:t}){return We.default.createElement("div",{style:{marginTop:5,height:3,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},We.default.createElement("div",{style:{width:`${Math.max(0,Math.min(100,Number(e)||0))}%`,height:"100%",background:t}}))}function d5({pct:e,color:t,width:r=70}){return We.default.createElement("span",{style:{width:r,height:4,borderRadius:999,background:"var(--color-muted)",overflow:"hidden",flexShrink:0,display:"inline-block"}},We.default.createElement("span",{style:{display:"block",width:`${Math.max(0,Math.min(100,Number(e)||0))}%`,height:"100%",background:t}}))}function Sa({children:e,color:t="var(--color-text-primary)",weight:r=400,width:n,style:o}){return We.default.createElement("span",{style:{fontFamily:ce,fontSize:11,fontWeight:r,textAlign:"right",color:t,width:n,...o}},e)}var UF=6e4,Wce=1180,fp={"1h":{n:60,seconds:60,bucket:"1 min",prev:"vs previous hour",title:"last hour"},"24h":{n:96,seconds:900,bucket:"15 min",prev:"vs previous 24h",title:"last 24 hours"},"7d":{n:84,seconds:7200,bucket:"2 h",prev:"vs previous 7 days",title:"last 7 days"}},Hce=Object.keys(fp).map(e=>({value:e,label:e})),p5="24h",dp=["var(--chart-1)","var(--chart-2)","var(--chart-3)","var(--chart-5)","var(--chart-4)"],_g=[{type:"429 rate limit",short:"429",color:"var(--color-error)"},{type:"timeout",short:"timeout",color:"var(--color-warning)"},{type:"tool error",short:"tool error",color:"var(--span-tool)"},{type:"provider 5xx",short:"5xx",color:"var(--color-token-out)"},{type:"other",short:"error",color:"var(--color-text-muted)"}],BF=e=>_g.find(t=>t.type===e)?.color||"var(--color-text-muted)",Vce=3,Tw="var(--color-text-primary)",Kce={success:"var(--color-success)",error:"var(--color-error)",muted:"var(--color-text-muted)"},qce=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],f5=e=>String(e).padStart(2,"0"),tt=e=>e==null||Number.isNaN(Number(e))?0:Number(e),Gce=e=>e.reduce((t,r)=>t+tt(r),0),$F=e=>`${tt(e).toFixed(1)}%`,Ow=(e,t)=>`${e} ${t}${e===1?"":"s"}`,Yce=e=>e>=1e3?`${(e/1e3).toFixed(1)}s`:`${Math.round(e)}ms`,Xce=(e,t)=>{let r=Array.isArray(e)?[...e]:[];return t.forEach(n=>{n.name&&!r.some(o=>o.name===n.name)&&r.push(n)}),r},Zce=e=>{let t=String(e.label||"incident"),r=_g.find(n=>t.startsWith(n.type));return r&&(t=`${r.short}${t.slice(r.type.length)}`),e.agent&&!t.includes(e.agent)?`${t} \xB7 ${e.agent}`:t},Qce=e=>{let t=tt(e);return t<60?`${t}s`:t<3600?`${+(t/60).toFixed(1)} min`:`${+(t/3600).toFixed(1)} h`},FF=async e=>{let t=await fetch(`/api/metrics?${e.toString()}`);if(!t.ok)throw new Error(`Request failed (${t.status})`);return t.json()},Jce=(e,t,r=Date.now())=>{let n=Math.max(1,tt(t))*1e3,o=Math.max(1,Math.round(tt(e)*6e4/n)),a=Math.floor(r/n)*n;return Array.from({length:o},(i,l)=>({ts:new Date(a-(o-1-l)*n).toISOString()}))},Rce=(e,t)=>{let r=e.summary||{},n=fp[e.range]||fp[t]||fp[p5],o=tt(e.bucket_seconds)||n.seconds,a=tt(e.window_minutes)||(e.window_hours?tt(e.window_hours)*60:n.n*n.seconds/60),i=Array.isArray(e.series)?e.series:Jce(a,o),l=tt(e.totals?.requests??r.total_requests),s=tt(e.totals?.cost??r.total_cost),u={requests:l,requests_per_minute:a?l/a:0,p50_ms:null,p95_ms:null,p99_ms:null,errors:tt(r.errors),error_rate:tt(r.error_rate),tokens_in:tt(r.tokens_input),tokens_out:tt(r.tokens_output),tokens:tt(r.tokens_used),cost:s,cost_per_request:l?s/l:0,tool_calls:0,tool_errors:0,tool_error_rate:0,...e.totals||{}},c={requests_pct:r.requests_change??null,p50_pct:r.latency_change??null,error_rate_pt:null,tokens_pct:null,cost_pct:null,...e.deltas||{}},d=Array.isArray(e.agents)?e.agents:(e.by_agent||[]).map(p=>({name:p.name,requests:tt(p.requests),share_pct:l?tt(p.requests)/l*100:0,p95_ms:null,error_rate:p.requests?tt(p.errors)/tt(p.requests)*100:0,cost:tt(p.cost),tokens:tt(p.tokens)})),f=Array.isArray(e.errors_by_type)&&e.errors_by_type.length?e.errors_by_type:_g.map(p=>({type:p.type,count:0}));return{range:e.range||t,bucketSeconds:o,windowMinutes:a,agent:e.agent||null,environment:e.environment||null,totals:u,deltas:c,series:i,agents:d,models:Array.isArray(e.models)?e.models:[],actions:Array.isArray(e.actions)?e.actions:[],tools:Array.isArray(e.tools)?e.tools:[],errorsByType:f,markers:Array.isArray(e.markers)?e.markers:[]}},WF=e=>{let t=fp[e.range];if(t)return t;let r=Math.max(1,Math.round(e.windowMinutes/60));return{bucket:Qce(e.bucketSeconds),prev:`vs previous ${r}h`,title:`last ${r} hours`}},ede=e=>{let[t,r]=(0,Ce.useState)(()=>typeof window<"u"&&window.innerWidth{let n=window.matchMedia(`(max-width: ${e-1}px)`),o=()=>r(n.matches);return o(),n.addEventListener("change",o),()=>n.removeEventListener("change",o)},[e]),t};function m5(){let[e,t]=(0,Ce.useState)(p5),[r,n]=(0,Ce.useState)(""),[o,a]=(0,Ce.useState)(null),[i,l]=(0,Ce.useState)(!0),[s,u]=(0,Ce.useState)(null),[c,d]=(0,Ce.useState)(!1),f=(0,Ce.useRef)(0),p=ede(Wce),m=(0,Ce.useRef)(null),g=(0,Ce.useCallback)(async()=>{let S=++f.current;try{let w=new URLSearchParams({range:e});r&&w.set("agent",r);let[T,k]=await Promise.all([FF(w),r?FF(new URLSearchParams({range:e})).catch(()=>null):null]);if(S!==f.current)return;let A=r?k?.agents:T.agents;Array.isArray(A)&&(m.current=A),a({data:T,ranking:Array.isArray(A)?A:m.current}),u(null)}catch(w){if(S!==f.current)return;u(w.message)}finally{S===f.current&&l(!1)}},[e,r]);(0,Ce.useEffect)(()=>{let S=!1;d(!0),g().finally(()=>{S||d(!1)});let w=setInterval(g,UF);return()=>{S=!0,clearInterval(w)}},[g]);let h=(0,Ce.useMemo)(()=>o?Rce(o.data,e):null,[o,e]),v=(0,Ce.useMemo)(()=>h?h.agent?Xce(o.ranking,h.agents):h.agents:[],[h,o]),y=(0,Ce.useMemo)(()=>v.map(S=>S.name).filter(Boolean),[v]),b=(0,Ce.useMemo)(()=>{let S=Object.fromEntries(y.map((T,k)=>[T,dp[k%dp.length]])),w=y.length;return(h?h.agents:[]).forEach(T=>{T.name&&!S[T.name]&&(S[T.name]=dp[w++%dp.length])}),T=>S[T]||dp[0]},[y,h]),x=(0,Ce.useMemo)(()=>h?rde(h,b):null,[h,b]);return i?Ce.default.createElement("div",{className:"flex items-center justify-center h-64"},Ce.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2",style:{borderBottomColor:"var(--color-accent-ui)"}})):s||!h?Ce.default.createElement("div",null,Ce.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:Tw}},"Metrics"),Ce.default.createElement("div",{style:{marginTop:16,padding:"12px 16px",background:"var(--color-error-soft)",borderRadius:8,color:"var(--color-error-text)",fontSize:14}},"Failed to load metrics",s?`: ${s}`:"")):Ce.default.createElement(tde,{m:h,view:x,railAgents:v,range:fp[e]?e:p5,agent:r,agentOptions:r&&!y.includes(r)?[...y,r]:y,colorFor:b,narrow:p,pending:c,onRange:t,onAgent:n})}function tde({m:e,view:t,railAgents:r=e.agents,range:n,agent:o,agentOptions:a,colorFor:i,narrow:l,pending:s=!1,onRange:u,onAgent:c}){let d=WF(e),f=e.totals.requests===0,p=m=>c(o===m?"":m);return Ce.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16,width:"100%",maxWidth:1600,boxSizing:"border-box",color:Tw,fontSize:13}},Ce.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:16,flexWrap:"wrap"}},Ce.default.createElement("div",{style:{flex:1,minWidth:240}},Ce.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em"}},"Metrics"),Ce.default.createElement("p",{style:{margin:"4px 0 0",fontSize:14,color:"var(--color-text-secondary)"}},"Requests, latency, errors, tokens and cost across every agent \u2014 ",d.title,o?` \xB7 ${o}`:"")),Ce.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},Ce.default.createElement("select",{value:o,onChange:m=>c(m.target.value),"aria-label":"Filter by agent",style:{padding:"6px 10px",borderRadius:8,fontSize:13,fontFamily:"inherit",border:"1px solid var(--color-border-strong)",background:"var(--color-card)",color:Tw,cursor:"pointer"}},Ce.default.createElement("option",{value:""},"All agents"),a.map(m=>Ce.default.createElement("option",{key:m,value:m},m))),e.environment&&Ce.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 10px",borderRadius:8,border:"1px solid var(--color-border)",fontFamily:ce,fontSize:11,color:"var(--color-text-cell)",background:"var(--color-card)"}},Ce.default.createElement("span",{style:{color:"var(--color-text-muted)"}},"env"),e.environment),Ce.default.createElement(lw,{options:Hce,value:n,onChange:u}),Ce.default.createElement("span",{title:s?"loading\u2026":`refreshes every ${UF/1e3}s`,style:{display:"inline-flex",alignItems:"center",gap:6,fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},Ce.default.createElement("span",{style:{width:7,height:7,borderRadius:"50%",background:s?"var(--color-text-muted)":"var(--color-success)"}}),"live \xB7 ",d.bucket," buckets"))),f?Ce.default.createElement(ht,{style:{padding:"40px 24px",textAlign:"center",fontSize:14,color:"var(--color-text-secondary)"}},"No traffic yet \u2014 run an agent, or point your app's ActiveAgent telemetry at this workspace",Ce.default.createElement("div",{style:{marginTop:8,fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},o||"all agents"," \xB7 ",d.title)):Ce.default.createElement(Ce.default.Fragment,null,Ce.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:12,opacity:s?.6:1}},t.signals.map(m=>Ce.default.createElement(zF,{key:m.label,...m,deltaSub:d.prev}))),Ce.default.createElement("div",{style:{display:"grid",gridTemplateColumns:l?"minmax(0, 1fr)":"minmax(0, 2.3fr) minmax(300px, 1fr)",gap:16,alignItems:"start",opacity:s?.6:1}},Ce.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:16,minWidth:0}},t.panels.map(m=>Ce.default.createElement(LF,{key:m.title,...m,xLabels:t.xLabels,height:a5}))),Ce.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16,minWidth:0}},Ce.default.createElement(cp,{label:"Agents",qualifier:"by requests \xB7 click to filter"},Ce.default.createElement(l5,{template:"minmax(0, 1fr) 44px 44px 40px 52px",columns:["req","p95","err","cost"]}),r.length===0&&Ce.default.createElement(Ng,null,"no agents in this window"),r.map(m=>Ce.default.createElement(Ew,{key:m.name,template:"minmax(0, 1fr) 44px 44px 40px 52px",active:o===m.name,onClick:()=>p(m.name),title:o===m.name?"Show all agents":`Filter to ${m.name}`},Ce.default.createElement("div",{style:{minWidth:0}},Ce.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6,minWidth:0}},Ce.default.createElement(u5,{color:i(m.name)}),Ce.default.createElement("span",{style:{fontSize:12,fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.name)),Ce.default.createElement(c5,{pct:m.share_pct,color:i(m.name)})),Ce.default.createElement(Sa,null,Ir(m.requests)),Ce.default.createElement(Sa,{color:"var(--color-text-secondary)"},kn(m.p95_ms)),Ce.default.createElement(Sa,{color:tt(m.error_rate)>=1.5?"var(--color-error-text)":"var(--color-text-secondary)"},$F(m.error_rate)),Ce.default.createElement(Sa,null,fg(m.cost))))),Ce.default.createElement(cp,{label:"Models",qualifier:"by tokens"},e.models.length===0&&Ce.default.createElement(Ng,null,"no model usage in this window"),e.models.map((m,g)=>Ce.default.createElement(Ew,{key:`${m.model}-${m.provider}-${g}`,template:"minmax(0, 1fr) 52px 56px"},Ce.default.createElement("div",{style:{minWidth:0}},Ce.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6,minWidth:0}},Ce.default.createElement("span",{style:{fontFamily:ce,fontSize:11,fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.model||"unknown"),m.provider&&Ce.default.createElement("span",{style:{fontFamily:ce,fontSize:10,color:"var(--color-text-muted)"}},m.provider)),Ce.default.createElement(c5,{pct:m.share_pct,color:"var(--color-token-in)"})),Ce.default.createElement(Sa,null,Ir(m.tokens)),Ce.default.createElement(Sa,{color:"var(--color-text-secondary)"},fg(m.cost))))),Ce.default.createElement(cp,{label:"Slowest actions",qualifier:"p95"},e.actions.length===0&&Ce.default.createElement(Ng,null,"no actions in this window"),e.actions.map(m=>Ce.default.createElement(s5,{key:m.name},Ce.default.createElement("span",{title:m.name,style:{flex:1,minWidth:0,fontFamily:ce,fontSize:11,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.name),Ce.default.createElement(d5,{pct:t.slowestP95?tt(m.p95_ms)/t.slowestP95*100:0,color:i(m.agent)}),Ce.default.createElement(Sa,{weight:600,width:40},kn(m.p95_ms))))),Ce.default.createElement(cp,{label:"Tools",qualifier:"by calls"},Ce.default.createElement(l5,{template:"minmax(0, 1fr) 44px 48px 40px",columns:["calls","avg","err"]}),e.tools.length===0&&Ce.default.createElement(Ng,null,"no tool calls in this window"),e.tools.map(m=>Ce.default.createElement(Ew,{key:m.name,template:"minmax(0, 1fr) 44px 48px 40px",padding:"7px 14px"},Ce.default.createElement("span",{title:m.name,style:{fontFamily:ce,fontSize:11,fontWeight:600,color:"var(--span-tool)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.name),Ce.default.createElement(Sa,null,Ir(m.calls)),Ce.default.createElement(Sa,{color:"var(--color-text-secondary)"},kn(m.avg_ms)),Ce.default.createElement(Sa,{color:tt(m.error_rate)>=2?"var(--color-error-text)":"var(--color-text-secondary)"},$F(m.error_rate))))),Ce.default.createElement(cp,{label:"Errors by type",meta:`${Math.round(e.totals.errors)} total`},e.errorsByType.map(m=>Ce.default.createElement(s5,{key:m.type},Ce.default.createElement(u5,{color:BF(m.type)}),Ce.default.createElement("span",{style:{flex:1,minWidth:0,fontSize:12,color:"var(--color-text-cell)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.type),Ce.default.createElement(d5,{pct:t.errorTotal?tt(m.count)/t.errorTotal*100:0,color:BF(m.type)}),Ce.default.createElement(Sa,{weight:600,width:32},Math.round(tt(m.count))))))))))}function rde(e,t){let{series:r,totals:n,deltas:o}=e,a=r.length,i=WF(e),l=r.map(ee=>new Date(ee.ts)),s=e.windowMinutes>=2880,u=ee=>Number.isNaN(ee.getTime())?"":s?`${qce[ee.getDay()]} ${f5(ee.getHours())}h`:`${f5(ee.getHours())}:${f5(ee.getMinutes())}`,c=a?[0,1,2,3,4,5,6].map(ee=>ee===6?"now":u(l[Math.round(ee*(a-1)/6)])):[],d=ee=>r.map(ue=>tt(ue[ee])),f=d("requests"),p=d("errors"),m=d("tokens_in"),g=d("tokens_out"),h=d("cost"),v=d("tool_calls"),y=d("tool_errors"),b=ee=>r.map(ue=>ue[ee]==null?null:tt(ue[ee])),x=b("p50_ms"),S=b("p95_ms"),w=b("p99_ms"),T=r.map(ee=>ee.requests_by_agent||{}),k=e.agents.map(ee=>ee.name).filter(Boolean);T.forEach(ee=>Object.keys(ee).forEach(ue=>{k.includes(ue)||k.push(ue)}));let A=k.length?k.map(ee=>({label:ee,color:t(ee),data:T.map(ue=>tt(ue[ee]))})):[{label:"requests",color:dp[0],data:f}],M=_g.map(ee=>({label:ee.type,color:ee.color,data:r.map(ue=>tt((ue.errors_by_type||{})[ee.type]))})),H=(tt(e.bucketSeconds)||(a>1?(l[1]-l[0])/1e3:0))*1e3,F=(ee,ue)=>{if(!ee||a<2||!H)return null;let W=new Date(ee.ts).getTime();if(Number.isNaN(W))return null;let De=Math.min(a-1,Math.max(0,Math.floor((W-l[0].getTime())/H)))/(a-1);return{left:De*100,label:ue,flip:De>.55}},X=e.markers.filter(ee=>ee.kind==="deploy").sort((ee,ue)=>new Date(ee.ts)-new Date(ue.ts)).slice(-Vce).map(ee=>F(ee,ee.label)).filter(Boolean),P=e.markers.find(ee=>ee.kind==="incident"),Y=P?F(P,Zce(P)):null,C=Y?[Y]:[],_=up(Ua(f)*1.1),z=up(Ua(p)*1.15),D=up(Math.max(Ua(w),Ua(S),Ua(x))*1.05),E=up(Math.max(Ua(m),Ua(g))*1.1),j=i5(Ua(h)*1.1),R=IF(j),U=up(Ua(v)*1.1),L=tt(n.requests),K=tt(n.requests_per_minute),ae=tt(n.errors),de=tt(n.error_rate),ze=tt(n.tokens)||tt(n.tokens_in)+tt(n.tokens_out),oe=tt(n.cost),Ee=n.cost_per_request!=null?tt(n.cost_per_request):L?oe/L:0,V=tt(n.tool_calls),I=n.tool_error_rate!=null?tt(n.tool_error_rate):V?tt(n.tool_errors)/V*100:0,N=tt(e.errorsByType.find(ee=>ee.type===_g[0].type)?.count),O=[{title:"Requests",sub:`per ${i.bucket} \xB7 stacked by agent`,value:`${Ir(L)} \xB7 ${K.toFixed(1)}/min`,legend:A.map(ee=>({label:ee.label,color:ee.color})),ticks:hc(_,Ir),buckets:Cg(A,_,ee=>`${u(l[ee])} \xB7 ${Math.round(f[ee])} req`),markers:X},{title:"Latency",sub:"generation percentiles",value:`p50 ${kn(n.p50_ms)}`,legend:[{label:`p50 ${kn(n.p50_ms)}`,color:"var(--color-token-in)"},{label:`p95 ${kn(n.p95_ms)}`,color:"var(--color-warning)"},{label:`p99 ${kn(n.p99_ms)}`,color:"var(--color-error)"}],ticks:hc(D,Yce),lines:[{points:xc(w,D),color:"var(--color-error)",width:1.5},{points:xc(S,D),color:"var(--color-warning)",width:1.5},{points:xc(x,D),color:"var(--color-token-in)",width:2}],areas:[{points:_w(x,D),color:"var(--color-token-in)"}],markers:C},{title:"Errors",sub:`per ${i.bucket} \xB7 by type`,value:`${de.toFixed(2)}% \xB7 ${Ow(Math.round(ae),"error")}`,valueColor:de>1?"var(--color-error)":Tw,legend:M.map(ee=>({label:ee.label,color:ee.color})),ticks:hc(z,ee=>String(Math.round(ee))),buckets:Cg(M,z,ee=>`${u(l[ee])} \xB7 ${Ow(Math.round(p[ee]),"error")}`),markers:C},{title:"Tokens",sub:`per ${i.bucket} \xB7 input / output`,value:`${Ir(ze)} \xB7 in ${Ir(n.tokens_in)} / out ${Ir(n.tokens_out)}`,legend:[{label:"input",color:"var(--color-token-in)"},{label:"output",color:"var(--color-token-out)"}],ticks:hc(E,Ir),lines:[{points:xc(m,E),color:"var(--color-token-in)",width:1.5},{points:xc(g,E),color:"var(--color-token-out)",width:1.5}],areas:[{points:_w(m,E),color:"var(--color-token-in)"},{points:_w(g,E),color:"var(--color-token-out)"}]},{title:"Cost",sub:`estimated \xB7 per ${i.bucket}`,value:`${fg(oe)} \xB7 ${jr(Ee)}/req`,legend:[{label:"spend",color:"var(--color-text-secondary)"}],ticks:hc(j,ee=>jr(ee,R)),buckets:Cg([{color:"var(--color-text-secondary)",data:h}],j,ee=>`${u(l[ee])} \xB7 ${jr(h[ee],R)}`)},{title:"Tool calls",sub:`per ${i.bucket} \xB7 MCP + agent-defined`,value:`${Ir(V)} \xB7 ${I.toFixed(1)}% errors`,legend:[{label:"calls",color:"var(--span-tool)"},{label:"errors",color:"var(--color-error)"}],ticks:hc(U,Ir),buckets:Cg([{color:"var(--span-tool)",data:v.map((ee,ue)=>Math.max(0,ee-y[ue]))},{color:"var(--color-error)",data:y}],U,ee=>`${u(l[ee])} \xB7 ${Ow(Math.round(v[ee]),"call")}`)}],Z=(ee,ue,W)=>{let xe=ee==null?null:tt(ee);return xe==null||xe===0?"muted":ue&&ue(xe)?"success":W&&W(xe)?"error":"muted"},B=(ee,ue,W,xe,De,Ge,it,zn)=>({label:ee,value:ue,unit:W,sub:xe,delta:De,deltaColor:Kce[Ge],spark:jF(it),sparkColor:zn});return{signals:[B("Requests",Ir(L),"",`${K.toFixed(1)} req/min`,np(o.requests_pct),Z(o.requests_pct,ee=>ee>0,null),f,"var(--color-token-in)"),B("Latency",kn(n.p50_ms),"p50",`p95 ${kn(n.p95_ms)} \xB7 p99 ${kn(n.p99_ms)}`,np(o.p50_pct),Z(o.p50_pct,ee=>ee<0,ee=>ee>0),x,"var(--color-token-in)"),B("Error rate",de.toFixed(2),"%",`${Ow(Math.round(ae),"error")} \xB7 ${Math.round(N)} rate-limited`,np(o.error_rate_pt," pt",1),Z(o.error_rate_pt,ee=>ee<0,ee=>ee>0),p,"var(--color-error)"),B("Tokens",Ir(ze),"",`in ${Ir(n.tokens_in)} \xB7 out ${Ir(n.tokens_out)}`,np(o.tokens_pct),"muted",m.map((ee,ue)=>ee+g[ue]),"var(--color-token-in)"),B("Cost",fg(oe),"",`${jr(Ee)} per request`,np(o.cost_pct),"muted",h,"var(--color-text-secondary)")],panels:O,xLabels:c,slowestP95:Ua(e.actions.map(ee=>ee.p95_ms)),errorTotal:Gce(e.errorsByType.map(ee=>ee.count))}}var Ne=te(re());var nde=6e4,ode=[{value:24,label:"24h"},{value:168,label:"7d"},{value:720,label:"30d"}],HF={mcp:{light:"#7c3aed",dark:"#c4b5fd",bgLight:"#f5f3ff",bgDark:"rgba(124,58,237,0.15)"},builtin:{light:"#2563eb",dark:"#93c5fd",bgLight:"#eff6ff",bgDark:"rgba(37,99,235,0.15)"},agent:{light:"#15803d",dark:"#86efac",bgLight:"#f0fdf4",bgDark:"rgba(34,197,94,0.12)"}},Eg=e=>e==null?"0":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e),VF=e=>e==null?"\u2014":e>=1e3?`${(e/1e3).toFixed(2)}s`:`${Math.round(e)}ms`,ade=e=>{if(!e)return"\u2014";let t=new Date(e),r=Math.round((Date.now()-t.getTime())/6e4);if(r<1)return"just now";if(r<60)return`${r}m ago`;let n=Math.round(r/60);return n<24?`${n}h ago`:`${Math.round(n/24)}d ago`};function v5({onOpenServer:e}){let{darkMode:t}=Nt(),[r,n]=(0,Ne.useState)(null),[o,a]=(0,Ne.useState)(!0),[i,l]=(0,Ne.useState)(null),[s,u]=(0,Ne.useState)("all"),[c,d]=(0,Ne.useState)(""),[f,p]=(0,Ne.useState)(168),[m,g]=(0,Ne.useState)(null),h=(0,Ne.useCallback)(async()=>{try{let A=new URLSearchParams({hours:String(f)});s!=="all"&&A.set("origin",s),c.trim()&&A.set("q",c.trim());let M=await fetch(`/api/tools?${A}`);if(!M.ok)throw new Error(`Request failed (${M.status})`);n(await M.json()),l(null)}catch(A){l(A.message)}finally{a(!1)}},[s,c,f]);(0,Ne.useEffect)(()=>{let A=setTimeout(h,c?250:0);return()=>clearTimeout(A)},[h,c]),(0,Ne.useEffect)(()=>{let A=setInterval(h,nde);return()=>clearInterval(A)},[h]);let v={bg:t?"transparent":"#f9fafb",cardBg:t?"rgba(255,255,255,0.05)":"#ffffff",border:t?"rgba(255,255,255,0.1)":"#e5e7eb",borderLight:t?"rgba(255,255,255,0.05)":"#f3f4f6",textPrimary:t?"#ffffff":"#111827",textSecondary:t?"rgba(255,255,255,0.6)":"#6b7280",textMuted:t?"rgba(255,255,255,0.4)":"#9ca3af",textCell:t?"rgba(255,255,255,0.7)":"#4b5563",error:"#ef4444",errorBg:t?"rgba(239,68,68,0.2)":"#fef2f2",inputBg:t?"rgba(255,255,255,0.06)":"#ffffff"},y=A=>{let M=HF[A]||HF.agent;return{fg:t?M.dark:M.light,bg:t?M.bgDark:M.bgLight}};if(o&&!r)return Ne.default.createElement("div",{className:"flex items-center justify-center h-64"},Ne.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));if(i&&!r)return Ne.default.createElement("div",{style:{padding:"24px"}},Ne.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:v.textPrimary,margin:0}},"Tools"),Ne.default.createElement("div",{style:{marginTop:"16px",padding:"12px 16px",background:v.errorBg,borderRadius:"8px",color:v.error,fontSize:"14px"}},"Failed to load tools: ",i));let{tools:b=[],summary:x={},origins:S={},sources:w={}}=r||{},T=!w.telemetry&&!w.generations&&!w.messages&&!w.declared,k=({label:A,value:M,hint:H,tone:F})=>Ne.default.createElement("div",{style:{background:v.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${v.border}`}},Ne.default.createElement("div",{style:{fontSize:"11px",color:v.textSecondary,textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"}},A),Ne.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",fontFamily:"monospace",color:F||v.textPrimary}},M),H&&Ne.default.createElement("div",{style:{fontSize:"13px",color:v.textSecondary,marginTop:"8px"}},H));return Ne.default.createElement("div",{style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)",backgroundColor:v.bg}},Ne.default.createElement("div",{style:{padding:"24px 24px 16px 24px",borderBottom:`1px solid ${v.border}`,marginBottom:"16px"}},Ne.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"16px",flexWrap:"wrap"}},Ne.default.createElement("div",null,Ne.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:v.textPrimary,margin:0}},"Tools"),Ne.default.createElement("p",{style:{fontSize:"14px",color:v.textSecondary,marginTop:"4px"}},"Detected from telemetry spans, generation request bodies, and agent records \u2014 nothing to register by hand")),Ne.default.createElement("div",{style:{display:"flex",gap:"4px"}},ode.map(A=>Ne.default.createElement("button",{key:A.value,onClick:()=>p(A.value),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${f===A.value?"#ef4444":v.border}`,background:f===A.value?t?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:f===A.value?"#ef4444":v.textSecondary}},A.label))))),Ne.default.createElement("div",{style:{padding:"0 24px 24px 24px"}},Ne.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px",marginBottom:"16px"}},Ne.default.createElement(k,{label:"Tools Detected",value:Eg(x.total_tools),hint:`${x.active_tools||0} called in this window`}),Ne.default.createElement(k,{label:"Tool Calls",value:Eg(x.total_calls),hint:`${VF(x.avg_duration_ms)} average`}),Ne.default.createElement(k,{label:"Error Rate",value:`${x.error_rate||0}%`,tone:x.error_rate>5?v.error:v.textPrimary,hint:`${x.total_errors||0} failed call${x.total_errors===1?"":"s"}`}),Ne.default.createElement(k,{label:"From MCP",value:Eg(x.mcp_tools),hint:`across ${x.mcp_servers_active||0} active server${x.mcp_servers_active===1?"":"s"}`}),Ne.default.createElement(k,{label:"Never Called",value:Eg(x.unused_tools),hint:"offered or configured, unused"})),Ne.default.createElement("div",{style:{display:"flex",gap:"8px",marginBottom:"16px",flexWrap:"wrap",alignItems:"center"}},Object.entries(S).map(([A,M])=>Ne.default.createElement("button",{key:A,onClick:()=>u(A),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${s===A?"#ef4444":v.border}`,background:s===A?t?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:s===A?"#ef4444":v.textSecondary}},M)),Ne.default.createElement("input",{value:c,onChange:A=>d(A.target.value),placeholder:"Filter by name\u2026",style:{marginLeft:"auto",padding:"6px 12px",fontSize:"13px",borderRadius:"6px",minWidth:"200px",border:`1px solid ${v.border}`,background:v.inputBg,color:v.textPrimary}})),Ne.default.createElement("div",{style:{background:v.cardBg,borderRadius:"12px",border:`1px solid ${v.border}`,overflow:"hidden"}},b.length===0?Ne.default.createElement("div",{style:{textAlign:"center",padding:"48px 24px",color:v.textSecondary,fontSize:"14px"}},T?"No tool activity yet \u2014 run an agent, or point your app's ActiveAgent telemetry at this workspace":"No tools match these filters"):Ne.default.createElement("div",{style:{overflowX:"auto"}},Ne.default.createElement("table",{style:{width:"100%",borderCollapse:"collapse",minWidth:"760px"}},Ne.default.createElement("thead",null,Ne.default.createElement("tr",{style:{textAlign:"left",fontSize:"13px",color:v.textSecondary,borderBottom:`1px solid ${v.border}`}},Ne.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500"}},"Tool"),Ne.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500"}},"Source"),Ne.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Calls"),Ne.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Errors"),Ne.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Avg"),Ne.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Last seen"))),Ne.default.createElement("tbody",null,b.map((A,M)=>{let H=y(A.origin),F=m===A.name;return Ne.default.createElement(Ne.default.Fragment,{key:A.name},Ne.default.createElement("tr",{onClick:()=>g(F?null:A.name),style:{borderBottom:M{X.stopPropagation(),A.mcp_server&&e&&e(A.mcp_server)},style:{fontSize:"11px",padding:"3px 8px",borderRadius:"6px",border:"none",background:H.bg,color:H.fg,fontFamily:"monospace",cursor:A.mcp_server&&e?"pointer":"default"},title:A.mcp_server?`Open ${A.mcp_server} in MCP Services`:A.source_label},A.source_label)),Ne.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:v.textCell,fontFamily:"monospace"}},Eg(A.calls)),Ne.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",fontFamily:"monospace",color:A.errors>0?v.error:v.textCell}},A.errors),Ne.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:v.textCell,fontFamily:"monospace"}},VF(A.avg_duration_ms)),Ne.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:v.textMuted,fontSize:"13px"}},ade(A.last_seen))),F&&Ne.default.createElement("tr",{style:{borderBottom:MNe.default.createElement("span",{key:A,style:{color:w[A]?v.textSecondary:v.textMuted,opacity:w[A]?1:.5}},w[A]?"\u25CF":"\u25CB"," ",M)))))}function ide({tool:e,colors:t,tone:r,darkMode:n}){let o=({label:a,children:i})=>Ne.default.createElement("div",{style:{display:"flex",gap:"12px",fontSize:"13px",alignItems:"baseline"}},Ne.default.createElement("span",{style:{color:t.textMuted,minWidth:"108px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em"}},a),Ne.default.createElement("span",{style:{color:t.textCell,flex:1,wordBreak:"break-word"}},i));return Ne.default.createElement("div",{style:{display:"grid",gap:"8px",padding:"12px 16px",borderRadius:"8px",background:n?"rgba(0,0,0,0.25)":"#ffffff",border:`1px solid ${t.border}`}},Ne.default.createElement(o,{label:"Full name"},Ne.default.createElement("code",{style:{fontFamily:"monospace"}},e.name)),e.description&&Ne.default.createElement(o,{label:"Description"},e.description),Ne.default.createElement(o,{label:"Parameters"},e.parameters?.length>0?Ne.default.createElement("code",{style:{fontFamily:"monospace",color:r.fg}},e.parameters.join(", ")):Ne.default.createElement("span",{style:{color:t.textMuted}},"none recorded")),Ne.default.createElement(o,{label:"Agents"},e.agents?.length>0?e.agents.join(", "):Ne.default.createElement("span",{style:{color:t.textMuted}},"\u2014")),e.configured_by?.length>0&&Ne.default.createElement(o,{label:"Configured by"},e.configured_by.join(", ")),Ne.default.createElement(o,{label:"Call breakdown"},Ne.default.createElement("span",{style:{fontFamily:"monospace"}},e.traced_calls," traced \xB7 ",e.requested," requested \xB7 ",e.results," results")),e.sample_arguments&&Ne.default.createElement(o,{label:"Last arguments"},Ne.default.createElement("code",{style:{fontFamily:"monospace",fontSize:"12px",color:t.textMuted}},e.sample_arguments)),e.last_error&&Ne.default.createElement(o,{label:"Last error"},Ne.default.createElement("span",{style:{color:t.error}},e.last_error)),Ne.default.createElement(o,{label:"Detected from"},e.detected_from?.join(", ")||"\u2014"))}var Me=te(re());var lde=6e4,sde=[{value:24,label:"24h"},{value:168,label:"7d"},{value:720,label:"30d"}],ude=[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"configured",label:"Configured"},{value:"available",label:"Available"}],KF={active:{light:"#15803d",dark:"#86efac",bgLight:"#f0fdf4",bgDark:"rgba(34,197,94,0.15)"},configured:{light:"#b45309",dark:"#fcd34d",bgLight:"#fffbeb",bgDark:"rgba(245,158,11,0.15)"},available:{light:"#4b5563",dark:"rgba(255,255,255,0.6)",bgLight:"#f3f4f6",bgDark:"rgba(255,255,255,0.08)"},idle:{light:"#4b5563",dark:"rgba(255,255,255,0.6)",bgLight:"#f3f4f6",bgDark:"rgba(255,255,255,0.08)"}},Og=e=>e==null?"0":e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e);function g5({focusServer:e,onOpenTools:t}){let{darkMode:r}=Nt(),[n,o]=(0,Me.useState)(null),[a,i]=(0,Me.useState)(!0),[l,s]=(0,Me.useState)(null),[u,c]=(0,Me.useState)("all"),[d,f]=(0,Me.useState)(168),[p,m]=(0,Me.useState)(e||null),[g,h]=(0,Me.useState)(null),[v,y]=(0,Me.useState)(null),b=(0,Me.useCallback)(async()=>{try{let P=await fetch(`/api/mcp_servers?hours=${d}`);if(!P.ok)throw new Error(`Request failed (${P.status})`);o(await P.json()),s(null)}catch(P){s(P.message)}finally{i(!1)}},[d]);(0,Me.useEffect)(()=>{b();let P=setInterval(b,lde);return()=>clearInterval(P)},[b]),(0,Me.useEffect)(()=>{e&&m(e)},[e]);let x={bg:r?"transparent":"#f9fafb",cardBg:r?"rgba(255,255,255,0.05)":"#ffffff",border:r?"rgba(255,255,255,0.1)":"#e5e7eb",borderLight:r?"rgba(255,255,255,0.05)":"#f3f4f6",textPrimary:r?"#ffffff":"#111827",textSecondary:r?"rgba(255,255,255,0.6)":"#6b7280",textMuted:r?"rgba(255,255,255,0.4)":"#9ca3af",textCell:r?"rgba(255,255,255,0.7)":"#4b5563",error:"#ef4444",errorBg:r?"rgba(239,68,68,0.2)":"#fef2f2",codeBg:r?"rgba(0,0,0,0.35)":"#f9fafb"},S=P=>{let Y=KF[P]||KF.available;return{fg:r?Y.dark:Y.light,bg:r?Y.bgDark:Y.bgLight}},w=async P=>{h(P.key),y(null);try{let Y=await fetch(`/api/mcp_servers/${encodeURIComponent(P.key)}/launch`,{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":document.querySelector('meta[name="csrf-token"]')?.content||""}}),C=await Y.json();if(!Y.ok)throw new Error(C.reason||C.error||`Launch failed (${Y.status})`);y({kind:"ok",text:`${P.name} is starting in a sandbox (${C.sandbox.session_id.slice(0,8)}\u2026)`}),b()}catch(Y){y({kind:"error",text:Y.message})}finally{h(null)}};if(a&&!n)return Me.default.createElement("div",{className:"flex items-center justify-center h-64"},Me.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));if(l&&!n)return Me.default.createElement("div",{style:{padding:"24px"}},Me.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:x.textPrimary,margin:0}},"MCP Services"),Me.default.createElement("div",{style:{marginTop:"16px",padding:"12px 16px",background:x.errorBg,borderRadius:"8px",color:x.error,fontSize:"14px"}},"Failed to load MCP services: ",l));let{servers:T=[],summary:k={},sandboxes:A=[],statuses:M={}}=n||{},H=u==="all"?T:T.filter(P=>P.status===u),F=new Set(A.flatMap(P=>P.mcp_servers||[])),X=({label:P,value:Y,hint:C})=>Me.default.createElement("div",{style:{background:x.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${x.border}`}},Me.default.createElement("div",{style:{fontSize:"11px",color:x.textSecondary,textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"}},P),Me.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",fontFamily:"monospace",color:x.textPrimary}},Y),C&&Me.default.createElement("div",{style:{fontSize:"13px",color:x.textSecondary,marginTop:"8px"}},C));return Me.default.createElement("div",{style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)",backgroundColor:x.bg}},Me.default.createElement("div",{style:{padding:"24px 24px 16px 24px",borderBottom:`1px solid ${x.border}`,marginBottom:"16px"}},Me.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"16px",flexWrap:"wrap"}},Me.default.createElement("div",null,Me.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:x.textPrimary,margin:0}},"MCP Services"),Me.default.createElement("p",{style:{fontSize:"14px",color:x.textSecondary,marginTop:"4px"}},"Servers detected from your agents' traffic, plus the defaults you can connect or run in a sandbox")),Me.default.createElement("div",{style:{display:"flex",gap:"4px"}},sde.map(P=>Me.default.createElement("button",{key:P.value,onClick:()=>f(P.value),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${d===P.value?"#ef4444":x.border}`,background:d===P.value?r?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:d===P.value?"#ef4444":x.textSecondary}},P.label))))),Me.default.createElement("div",{style:{padding:"0 24px 24px 24px"}},Me.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px",marginBottom:"16px"}},Me.default.createElement(X,{label:"Active",value:Og(k.active),hint:"called in this window"}),Me.default.createElement(X,{label:"Configured",value:Og(k.configured),hint:"declared, no traffic yet"}),Me.default.createElement(X,{label:"Available",value:Og(k.available),hint:"defaults you can connect"}),Me.default.createElement(X,{label:"Tool Calls",value:Og(k.total_calls),hint:"through MCP servers"})),v&&Me.default.createElement("div",{style:{marginBottom:"16px",padding:"12px 16px",borderRadius:"8px",fontSize:"14px",background:v.kind==="error"?x.errorBg:r?"rgba(34,197,94,0.15)":"#f0fdf4",color:v.kind==="error"?x.error:r?"#86efac":"#15803d"}},v.text),Me.default.createElement("div",{style:{display:"flex",gap:"8px",marginBottom:"16px",flexWrap:"wrap"}},ude.map(P=>Me.default.createElement("button",{key:P.value,onClick:()=>c(P.value),title:M[P.value]||"Every MCP service known to this workspace",style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${u===P.value?"#ef4444":x.border}`,background:u===P.value?r?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:u===P.value?"#ef4444":x.textSecondary}},P.label))),Me.default.createElement("div",{style:{display:"grid",gap:"12px"}},H.length===0?Me.default.createElement("div",{style:{background:x.cardBg,borderRadius:"12px",border:`1px solid ${x.border}`,textAlign:"center",padding:"48px 24px",color:x.textSecondary,fontSize:"14px"}},"No MCP services in this state"):H.map(P=>{let Y=S(P.status),C=p===P.key,_=F.has(P.key);return Me.default.createElement("div",{key:P.key,style:{background:x.cardBg,borderRadius:"12px",border:`1px solid ${C?Y.fg:x.border}`,overflow:"hidden"}},Me.default.createElement("div",{onClick:()=>m(C?null:P.key),style:{padding:"16px 20px",cursor:"pointer",display:"flex",alignItems:"center",gap:"16px",flexWrap:"wrap"}},Me.default.createElement("div",{style:{flex:1,minWidth:"220px"}},Me.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexWrap:"wrap"}},Me.default.createElement("span",{style:{fontSize:"15px",fontWeight:"600",color:x.textPrimary}},P.name),Me.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:Y.bg,color:Y.fg,textTransform:"uppercase",letterSpacing:"0.04em"}},P.status),P.first_party&&Me.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r?"rgba(239,68,68,0.15)":"#fef2f2",color:"#ef4444"}},"first-party"),!P.known&&Me.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:x.borderLight,color:x.textMuted},title:"Seen in your traffic but not in the platform catalog"},"undocumented"),_&&Me.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r?"rgba(34,197,94,0.15)":"#f0fdf4",color:r?"#86efac":"#15803d"}},"\u25CF sandbox running")),P.description&&Me.default.createElement("div",{style:{fontSize:"13px",color:x.textSecondary,marginTop:"4px"}},P.description)),Me.default.createElement("div",{style:{display:"flex",gap:"24px",alignItems:"center"}},Me.default.createElement("div",{style:{textAlign:"right"}},Me.default.createElement("div",{style:{fontSize:"18px",fontFamily:"monospace",fontWeight:"600",color:x.textPrimary}},Og(P.calls)),Me.default.createElement("div",{style:{fontSize:"11px",color:x.textMuted}},"calls")),Me.default.createElement("div",{style:{textAlign:"right"}},Me.default.createElement("div",{style:{fontSize:"18px",fontFamily:"monospace",fontWeight:"600",color:P.errors>0?x.error:x.textPrimary}},P.errors||0),Me.default.createElement("div",{style:{fontSize:"11px",color:x.textMuted}},"errors")),P.launchable&&Me.default.createElement("button",{onClick:z=>{z.stopPropagation(),w(P)},disabled:g===P.key,style:{padding:"8px 14px",fontSize:"13px",borderRadius:"6px",border:"none",background:g===P.key?x.borderLight:"#ef4444",color:g===P.key?x.textMuted:"#ffffff",cursor:g===P.key?"wait":"pointer",fontWeight:"500",whiteSpace:"nowrap"},title:`Start ${P.name} in a sandbox session`},g===P.key?"Starting\u2026":_?"Start another":"Start in sandbox"))),C&&Me.default.createElement(cde,{server:P,colors:x,tone:Y,onOpenTools:t}))})),A.length>0&&Me.default.createElement("div",{style:{marginTop:"24px",background:x.cardBg,borderRadius:"12px",border:`1px solid ${x.border}`,padding:"20px"}},Me.default.createElement("h3",{style:{fontSize:"16px",fontWeight:"600",color:x.textPrimary,margin:"0 0 12px 0"}},"Running sandboxes"),Me.default.createElement("div",{style:{display:"grid",gap:"8px"}},A.map(P=>Me.default.createElement("div",{key:P.session_id,style:{display:"flex",justifyContent:"space-between",gap:"12px",fontSize:"13px",color:x.textCell,flexWrap:"wrap"}},Me.default.createElement("span",{style:{fontFamily:"monospace"}},(P.mcp_servers||[]).join(", ")||P.sandbox_type),Me.default.createElement("span",{style:{color:x.textMuted}},P.status," \xB7 ",P.runs_count,"/",P.max_runs," runs \xB7 expires ",new Date(P.expires_at).toLocaleTimeString())))))))}function cde({server:e,colors:t,tone:r,onOpenTools:n}){let o=({label:i,children:l})=>Me.default.createElement("div",{style:{display:"flex",gap:"12px",fontSize:"13px",alignItems:"baseline"}},Me.default.createElement("span",{style:{color:t.textMuted,minWidth:"120px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em"}},i),Me.default.createElement("span",{style:{color:t.textCell,flex:1,wordBreak:"break-word"}},l)),a=e.command||e.url;return Me.default.createElement("div",{style:{padding:"0 20px 20px 20px",display:"grid",gap:"10px"}},Me.default.createElement("div",{style:{height:"1px",background:t.borderLight,marginBottom:"4px"}}),a&&Me.default.createElement(o,{label:e.transport==="http"?"Endpoint":"Command"},Me.default.createElement("code",{style:{fontFamily:"monospace",fontSize:"12px",padding:"4px 8px",borderRadius:"4px",background:t.codeBg,display:"inline-block"}},a)),e.transport&&Me.default.createElement(o,{label:"Transport"},e.transport),e.categories?.length>0&&Me.default.createElement(o,{label:"Categories"},e.categories.join(", ")),e.requires_credentials?.length>0&&Me.default.createElement(o,{label:"Requires"},e.requires_credentials.join(", ")),Me.default.createElement(o,{label:e.tool_count>0?"Tools used":"Tools offered"},e.tools?.length>0?Me.default.createElement("span",{style:{display:"flex",gap:"6px",flexWrap:"wrap"}},e.tools.map(i=>Me.default.createElement("code",{key:i,style:{fontFamily:"monospace",fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r.bg,color:r.fg}},i))):Me.default.createElement("span",{style:{color:t.textMuted}},"none recorded")),e.agents?.length>0&&Me.default.createElement(o,{label:"Used by"},e.agents.join(", ")),e.configured_by?.length>0&&Me.default.createElement(o,{label:"Configured by"},e.configured_by.join(", ")),e.last_seen&&Me.default.createElement(o,{label:"Last call"},new Date(e.last_seen).toLocaleString()),Me.default.createElement("div",{style:{display:"flex",gap:"12px",marginTop:"4px",flexWrap:"wrap"}},e.docs_url&&Me.default.createElement("a",{href:e.docs_url,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"13px",color:"#ef4444",textDecoration:"none"}},"Documentation \u2192"),e.calls>0&&n&&Me.default.createElement("button",{onClick:()=>n(e.key),style:{fontSize:"13px",color:"#ef4444",background:"none",border:"none",padding:0,cursor:"pointer"}},"View its tools \u2192")))}var G=te(re());var Bs=te(re());var Pw={logger:typeof console<"u"?console:void 0,WebSocket:typeof WebSocket<"u"?WebSocket:void 0},Cr={log(...e){this.enabled&&(e.push(Date.now()),Pw.logger.log("[ActionCable]",...e))}},Mg=()=>new Date().getTime(),Mw=e=>(Mg()-e)/1e3,Pg=class{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=Mg(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),Cr.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=Mg(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),Cr.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordMessage(){this.pingedAt=Mg()}recordConnect(){this.reconnectAttempts=0,delete this.disconnectedAt,Cr.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=Mg(),Cr.log("ConnectionMonitor recorded disconnect")}startPolling(){this.stopPolling(),this.poll()}stopPolling(){clearTimeout(this.pollTimeout)}poll(){this.pollTimeout=setTimeout((()=>{this.reconnectIfStale(),this.poll()}),this.getPollInterval())}getPollInterval(){let{staleThreshold:t,reconnectionBackoffRate:r}=this.constructor,n=Math.pow(1+r,Math.min(this.reconnectAttempts,10)),a=(this.reconnectAttempts===0?1:r)*Math.random();return t*1e3*n*(1+a)}reconnectIfStale(){this.connectionIsStale()&&(Cr.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${Mw(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?Cr.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${Mw(this.disconnectedAt)} s`):(Cr.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return Mw(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&Mw(this.disconnectedAt){(this.connectionIsStale()||!this.connection.isOpen())&&(Cr.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())}),200)}};Pg.staleThreshold=6;Pg.reconnectionBackoffRate=.15;var GF={message_types:{welcome:"welcome",disconnect:"disconnect",ping:"ping",confirmation:"confirm_subscription",rejection:"reject_subscription"},disconnect_reasons:{unauthorized:"unauthorized",invalid_request:"invalid_request",server_restart:"server_restart",remote:"remote"},default_mount_path:"/cable",protocols:["actioncable-v1-json","actioncable-unsupported"]},{message_types:Tg,protocols:y5}=GF,dde=y5.slice(0,y5.length-1),qF=[].indexOf,Dg=class{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new Pg(this),this.disconnected=!0}send(t){return this.isOpen()?(this.webSocket.send(JSON.stringify(t)),!0):!1}open(){if(this.isActive())return Cr.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1;{let t=[...y5,...this.consumer.subprotocols||[]];return Cr.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${t}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new Pw.WebSocket(this.consumer.url,t),this.installEventHandlers(),this.monitor.start(),!0}}close({allowReconnect:t}={allowReconnect:!0}){if(t||this.monitor.stop(),this.isOpen())return this.webSocket.close()}reopen(){if(Cr.log(`Reopening WebSocket, current state is ${this.getState()}`),this.isActive())try{return this.close()}catch(t){Cr.log("Failed to reopen WebSocket",t)}finally{Cr.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`),setTimeout(this.open,this.constructor.reopenDelay)}else return this.open()}getProtocol(){if(this.webSocket)return this.webSocket.protocol}isOpen(){return this.isState("open")}isActive(){return this.isState("open","connecting")}triedToReconnect(){return this.monitor.reconnectAttempts>0}isProtocolSupported(){return qF.call(dde,this.getProtocol())>=0}isState(...t){return qF.call(t,this.getState())>=0}getState(){if(this.webSocket){for(let t in Pw.WebSocket)if(Pw.WebSocket[t]===this.webSocket.readyState)return t.toLowerCase()}return null}installEventHandlers(){for(let t in this.events){let r=this.events[t].bind(this);this.webSocket[`on${t}`]=r}}uninstallEventHandlers(){for(let t in this.events)this.webSocket[`on${t}`]=function(){}}};Dg.reopenDelay=500;Dg.prototype.events={message(e){if(!this.isProtocolSupported())return;let{identifier:t,message:r,reason:n,reconnect:o,type:a}=JSON.parse(e.data);switch(this.monitor.recordMessage(),a){case Tg.welcome:return this.triedToReconnect()&&(this.reconnectAttempted=!0),this.monitor.recordConnect(),this.subscriptions.reload();case Tg.disconnect:return Cr.log(`Disconnecting. Reason: ${n}`),this.close({allowReconnect:o});case Tg.ping:return null;case Tg.confirmation:return this.subscriptions.confirmSubscription(t),this.reconnectAttempted?(this.reconnectAttempted=!1,this.subscriptions.notify(t,"connected",{reconnected:!0})):this.subscriptions.notify(t,"connected",{reconnected:!1});case Tg.rejection:return this.subscriptions.reject(t);default:return this.subscriptions.notify(t,"received",r)}},open(){if(Cr.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return Cr.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(e){if(Cr.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){Cr.log("WebSocket onerror event")}};var fde=function(e,t){if(t!=null)for(let r in t){let n=t[r];e[r]=n}return e},h5=class{constructor(t,r={},n){this.consumer=t,this.identifier=JSON.stringify(r),fde(this,n)}perform(t,r={}){return r.action=t,this.send(r)}send(t){return this.consumer.send({command:"message",identifier:this.identifier,data:JSON.stringify(t)})}unsubscribe(){return this.consumer.subscriptions.remove(this)}},x5=class{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){this.pendingSubscriptions.indexOf(t)==-1?(Cr.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):Cr.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){Cr.log(`SubscriptionGuarantor forgetting ${t.identifier}`),this.pendingSubscriptions=this.pendingSubscriptions.filter((r=>r!==t))}startGuaranteeing(){this.stopGuaranteeing(),this.retrySubscribing()}stopGuaranteeing(){clearTimeout(this.retryTimeout)}retrySubscribing(){this.retryTimeout=setTimeout((()=>{this.subscriptions&&typeof this.subscriptions.subscribe=="function"&&this.pendingSubscriptions.map((t=>{Cr.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)}))}),500)}},b5=class{constructor(t){this.consumer=t,this.guarantor=new x5(this),this.subscriptions=[]}create(t,r){let n=t,o=typeof n=="object"?n:{channel:n},a=new h5(this.consumer,o,r);return this.add(a)}add(t){return this.subscriptions.push(t),this.consumer.ensureActiveConnection(),this.notify(t,"initialized"),this.subscribe(t),t}remove(t){return this.forget(t),this.findAll(t.identifier).length||this.sendCommand(t,"unsubscribe"),t}reject(t){return this.findAll(t).map((r=>(this.forget(r),this.notify(r,"rejected"),r)))}forget(t){return this.guarantor.forget(t),this.subscriptions=this.subscriptions.filter((r=>r!==t)),t}findAll(t){return this.subscriptions.filter((r=>r.identifier===t))}reload(){return this.subscriptions.map((t=>this.subscribe(t)))}notifyAll(t,...r){return this.subscriptions.map((n=>this.notify(n,t,...r)))}notify(t,r,...n){let o;return typeof t=="string"?o=this.findAll(t):o=[t],o.map((a=>typeof a[r]=="function"?a[r](...n):void 0))}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){Cr.log(`Subscription confirmed ${t}`),this.findAll(t).map((r=>this.guarantor.forget(r)))}sendCommand(t,r){let{identifier:n}=t;return this.consumer.send({command:r,identifier:n})}},w5=class{constructor(t){this._url=t,this.subscriptions=new b5(this),this.connection=new Dg(this),this.subprotocols=[]}get url(){return pde(this._url)}send(t){return this.connection.send(t)}connect(){return this.connection.open()}disconnect(){return this.connection.close({allowReconnect:!1})}ensureActiveConnection(){if(!this.connection.isActive())return this.connection.open()}addSubProtocol(t){this.subprotocols=[...this.subprotocols,t]}};function pde(e){if(typeof e=="function"&&(e=e()),e&&!/^wss?:/i.test(e)){let t=document.createElement("a");return t.href=e,t.href=t.href,t.protocol=t.protocol.replace("http","ws"),t.href}else return e}function YF(e=mde("url")||GF.default_mount_path){return new w5(e)}function mde(e){let t=document.head.querySelector(`meta[name='action-cable-${e}']`);if(t)return t.getAttribute("content")}var Dw=null;function vde(){if(Dw===null)try{Dw=YF()}catch{Dw=!1}return Dw||null}function XF(e,t,r,n=!0){let o=(0,Bs.useRef)(null),a=(0,Bs.useRef)(r);return(0,Bs.useEffect)(()=>{a.current=r},[r]),(0,Bs.useEffect)(()=>{if(!n||!e)return;let l=vde();return o.current=l.subscriptions.create({channel:e,...t},{connected(){console.log(`[ActionCable] Connected to ${e}`,t)},disconnected(){console.log(`[ActionCable] Disconnected from ${e}`)},received(s){console.log(`[ActionCable] Received on ${e}:`,s),a.current&&a.current(s)},rejected(){console.warn(`[ActionCable] Subscription rejected for ${e}`)}}),()=>{o.current&&(console.log(`[ActionCable] Unsubscribing from ${e}`),o.current.unsubscribe(),o.current=null)}},[e,JSON.stringify(t),n]),{send:(0,Bs.useCallback)((l,s)=>{o.current&&o.current.perform(l,s)},[])}}var Iw=[{id:"anthropic",name:"Anthropic",model:"claude-haiku-4-5",color:"bg-orange-500"},{id:"openai",name:"OpenAI",model:"gpt-4o",color:"bg-green-500"},{id:"ollama",name:"Ollama",model:"llama3.1:8b",color:"bg-purple-500"}],gde={playwright_mcp:[{name:"Screenshot Example.com",task:"Take a screenshot of https://example.com",description:"Navigate to example.com and capture a screenshot"},{name:"Extract Hacker News Headlines",task:"Go to https://news.ycombinator.com and list the top 5 story titles with their scores",description:"Scrape the front page of Hacker News"},{name:"Check Wikipedia",task:"Navigate to https://en.wikipedia.org/wiki/Artificial_intelligence and extract the first paragraph",description:"Extract content from Wikipedia"},{name:"GitHub Trending",task:"Visit https://github.com/trending and list the top 3 trending repositories",description:"Check GitHub's trending repositories"}],comparison:[{name:"Explain Ruby Blocks",task:"Explain how Ruby blocks work with a simple example",description:"Compare how each model explains Ruby concepts"},{name:"Write a Haiku",task:"Write a haiku about programming",description:"Compare creative output across models"},{name:"Debug This Code",task:"What's wrong with this code? def add(a, b); a - b; end; puts add(2, 3)",description:"Compare debugging abilities"},{name:"Summarize AI",task:"Summarize the current state of AI in 3 sentences",description:"Compare factual knowledge and conciseness"}]},ZF={max_runs:10,timeout_seconds:300,session_duration_minutes:15};function S5({initialType:e="playwright_mcp",onClose:t}){let[r,n]=(0,G.useState)(e),[o,a]=(0,G.useState)(null),[i,l]=(0,G.useState)(""),[s,u]=(0,G.useState)([]),[c,d]=(0,G.useState)(null),[f,p]=(0,G.useState)(!1),[m,g]=(0,G.useState)(!1),[h,v]=(0,G.useState)(null),[y,b]=(0,G.useState)(null),[x,S]=(0,G.useState)(!1),[w,T]=(0,G.useState)(null),[k,A]=(0,G.useState)(!1),M=(0,G.useRef)(null),[H,F]=(0,G.useState)(["anthropic"]),[X,P]=(0,G.useState)(!1),[Y,C]=(0,G.useState)({}),[_,z]=(0,G.useState)([]),D=(0,G.useCallback)(O=>{switch(console.log("[SandboxRunner] Received ActionCable message:",O),O.type){case"run_started":X?C(Z=>({...Z,[O.provider]:{status:"running",started_at:O.started_at,provider:O.provider}})):d(Z=>({...Z,status:"running",provider:O.provider}));break;case"run_complete":X?(C(Z=>({...Z,[O.provider]:{...O.run,provider:O.provider}})),z(Z=>Z.filter(B=>B!==O.provider)),O.sandbox&&(a(O.sandbox),u(O.sandbox.runs||[]))):(d(O.run),p(!1),O.sandbox&&(a(O.sandbox),u(O.sandbox.runs||[]))),z(Z=>{let B=Z.filter(we=>we!==O.provider);return B.length===0&&p(!1),B});break;case"run_error":X?(C(Z=>({...Z,[O.provider]:{status:"failed",error:O.error,provider:O.provider}})),z(Z=>Z.filter(B=>B!==O.provider))):(d(Z=>({...Z,status:"failed",error:O.error})),p(!1)),O.sandbox&&a(O.sandbox);break}},[X]);XF("SandboxChannel",{session_id:o?.session_id},D,!!o?.session_id),(0,G.useEffect)(()=>{j(),E()},[r]);let E=async()=>{try{let O=await fetch("/api/usage");if(O.ok){let Z=await O.json();T(Z.usage)}}catch{console.log("Could not fetch usage (user may not be authenticated)")}};(0,G.useEffect)(()=>{if(!o?.expires_at)return;let O=setInterval(()=>{let Z=new Date,B=new Date(o.expires_at),we=Math.max(0,Math.floor((B-Z)/1e3));b(we),we===0&&(a(ee=>({...ee,status:"expired"})),clearInterval(O))},1e3);return()=>clearInterval(O)},[o?.expires_at]),(0,G.useEffect)(()=>{M.current&&(M.current.scrollTop=M.current.scrollHeight)},[c?.result]);let j=async()=>{g(!0),v(null);try{let O=await fetch("/api/sandboxes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sandbox_type:r})});if(!O.ok)throw new Error("Failed to create sandbox session");let Z=await O.json();a(Z.sandbox),u([]),d(null)}catch(O){v(O.message)}finally{g(!1)}},R=async()=>{!i.trim()||f||!o||(X&&H.length>1?await L():await U(H[0]||"anthropic"))},U=async O=>{p(!0),d({status:"running",task:i,provider:O,result:"",started_at:new Date().toISOString()});try{let Z=await fetch(`/api/sandboxes/${o.session_id}/run`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:i,provider:O})}),B=await Z.json();if(Z.status===402&&B.upgrade_required){T(B.usage),S(!0),d(we=>({...we,status:"failed",error:B.message||"Plan limit reached"})),p(!1);return}if(!Z.ok)throw new Error(B.error||"Task execution failed");B.usage&&T(B.usage),ze(B.run_id)}catch(Z){d(B=>({...B,status:"failed",error:Z.message})),p(!1)}},L=async()=>{p(!0),z([...H]),C({});let O={};H.forEach(Z=>{O[Z]={status:"running",result:"",started_at:new Date().toISOString()}}),C(O);try{let Z=await fetch("/api/sandboxes/compare",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:i,providers:H,sandbox_id:o?.session_id,sandbox_type:r})});if(!Z.ok){let we=await Z.json();throw new Error(we.error||"Comparison failed")}let B=await Z.json();B.sandbox&&a(B.sandbox),K(H,B.sandbox?.session_id||o?.session_id,B.sandbox?.runs_count??o?.runs_count??0)}catch(Z){H.forEach(B=>{C(we=>({...we,[B]:{status:"failed",error:Z.message}}))}),p(!1),z([])}},K=(O,Z,B)=>{if(!Z)return;let we=async()=>{try{let ee=await fetch(`/api/sandboxes/${Z}`);if(!ee.ok)throw new Error(`HTTP ${ee.status}`);let ue=await ee.json();a(ue.sandbox);let W=ue.sandbox.runs||[];u(W);let xe=new Set;if(W.slice(B).forEach(De=>{De.provider&&(C(Ge=>({...Ge,[De.provider]:{...De,provider:De.provider}})),(De.status==="completed"||De.status==="failed")&&xe.add(De.provider))}),O.every(De=>xe.has(De))){p(!1),z([]);return}setTimeout(we,1e3)}catch(ee){console.error("Comparison polling failed:",ee),p(!1),z([])}};setTimeout(we,1e3)},ae=async()=>{if(o?.session_id)try{let Z=await(await fetch(`/api/sandboxes/${o.session_id}`)).json();a(Z.sandbox),u(Z.sandbox.runs||[]),(Z.sandbox.runs||[]).forEach(ee=>{ee.provider&&C(ue=>({...ue,[ee.provider]:{...ee,provider:ee.provider}}))}),H.every(ee=>{let ue=Y[ee];return ue?.status==="completed"||ue?.status==="failed"})&&(p(!1),z([]))}catch(O){console.error("Polling error:",O)}},de=O=>{F(Z=>Z.includes(O)?Z.length===1?Z:Z.filter(B=>B!==O):[...Z,O])},ze=async O=>{let Z=async()=>{try{let we=await(await fetch(`/api/sandboxes/${o.session_id}`)).json();a(we.sandbox);let ee=we.sandbox.runs||[],ue=ee[ee.length-1];if(ue&&(d(ue),u(ee),ue.status==="completed"||ue.status==="failed")){p(!1);return}setTimeout(Z,1e3)}catch{p(!1)}};Z()},oe=O=>{O.key==="Enter"&&(O.metaKey||O.ctrlKey)&&R()},Ee=O=>{if(!O)return"--:--";let Z=Math.floor(O/60),B=O%60;return`${Z}:${B.toString().padStart(2,"0")}`},V=O=>{switch(O){case"completed":return"text-green-600 bg-green-100";case"failed":return"text-red-600 bg-red-100";case"running":return"text-blue-600 bg-blue-100";case"ready":return"text-emerald-600 bg-emerald-100";case"expired":return"text-orange-600 bg-orange-100";default:return"text-gray-600 bg-gray-100"}},I=o?.status==="ready"&&o?.runs_count{A(!0);try{await sp({planSlug:"pro",billingInterval:O})}catch(Z){console.error("Checkout error:",Z),v(Z.message||"Failed to initiate checkout. Please try again."),A(!1)}};return G.default.createElement("div",{className:"h-full flex flex-col bg-gray-50"},G.default.createElement("div",{className:"bg-white border-b border-gray-200 px-6 py-4"},G.default.createElement("div",{className:"flex items-center justify-between"},G.default.createElement("div",{className:"flex items-center space-x-4"},G.default.createElement(wr,{size:48,appearance:{hat:"fedora",hatAccessory:"theaterMasks",heldItem:"browser"}}),G.default.createElement("div",null,G.default.createElement("h1",{className:"text-xl font-semibold text-gray-900"},"PlaywrightMCP Demo"),G.default.createElement("p",{className:"text-sm text-gray-500"},"Try browser automation for free - no account required"))),G.default.createElement("div",{className:"flex items-center space-x-4"},o&&G.default.createElement("div",{className:"flex items-center space-x-3 text-sm"},G.default.createElement("span",{className:`px-2 py-1 rounded-full text-xs font-medium ${V(o.status)}`},o.status),G.default.createElement("span",{className:"text-gray-500"},o.runs_count,"/",o.max_runs," runs"),G.default.createElement("span",{className:`font-mono ${y<60?"text-red-500":"text-gray-500"}`},Ee(y))),t&&G.default.createElement("button",{onClick:t,className:"text-gray-400 hover:text-gray-600"},G.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},G.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))))),G.default.createElement("div",{className:"flex-1 p-6 overflow-hidden"},G.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},G.default.createElement("div",{className:"col-span-2 flex flex-col space-y-4"},G.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},G.default.createElement("textarea",{value:i,onChange:O=>l(O.target.value),onKeyDown:oe,placeholder:"Describe what you want the browser agent to do...",rows:3,disabled:!I,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-rose-500 focus:border-transparent resize-none disabled:bg-gray-100"}),G.default.createElement("div",{className:"flex items-center justify-between mt-3"},G.default.createElement("span",{className:"text-xs text-gray-400"},"Press ",G.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Cmd")," + ",G.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Enter")," to run"),G.default.createElement("button",{onClick:R,disabled:!i.trim()||!I,className:`flex items-center space-x-2 px-6 py-2 rounded-lg transition-colors ${i.trim()&&I?"bg-rose-500 text-white hover:bg-rose-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},f?G.default.createElement(G.default.Fragment,null,G.default.createElement("span",{className:"animate-spin"},"\u25E0"),G.default.createElement("span",null,"Running...")):G.default.createElement(G.default.Fragment,null,G.default.createElement("span",null,"\u25B6"),G.default.createElement("span",null,"Run"))))),G.default.createElement("div",{className:"flex-1 bg-white rounded-xl border border-gray-200 flex flex-col overflow-hidden"},G.default.createElement("div",{className:"px-4 py-3 border-b border-gray-200 flex items-center justify-between"},G.default.createElement("h3",{className:"font-medium text-gray-900"},X&&Object.keys(Y).length>0?"Comparison Results":"Output"),c&&!X&&G.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${V(c.status)}`},c.status),X&&_.length>0&&G.default.createElement("span",{className:"text-xs text-blue-600"},"Running ",_.length," provider(s)...")),G.default.createElement("div",{ref:M,className:"flex-1 overflow-auto bg-gray-50"},m?G.default.createElement("div",{className:"flex items-center justify-center h-full text-gray-500 p-4"},G.default.createElement("span",{className:"animate-pulse"},"Starting sandbox...")):h?G.default.createElement("div",{className:"text-red-600 p-4"},h):X&&Object.keys(Y).length>0?G.default.createElement("div",{className:"grid grid-cols-1 divide-y divide-gray-200"},H.map(O=>{let Z=Iw.find(we=>we.id===O),B=Y[O];return G.default.createElement("div",{key:O,className:"p-4"},G.default.createElement("div",{className:"flex items-center justify-between mb-2"},G.default.createElement("div",{className:"flex items-center space-x-2"},G.default.createElement("div",{className:`w-3 h-3 rounded-full ${Z?.color||"bg-gray-400"}`}),G.default.createElement("span",{className:"font-medium text-gray-900"},Z?.name||O),G.default.createElement("span",{className:"text-xs text-gray-500"},Z?.model)),B&&G.default.createElement("div",{className:"flex items-center space-x-2"},G.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${V(B.status)}`},B.status),B.tokens&&G.default.createElement("span",{className:"text-xs text-gray-500"},B.tokens," tokens"),B.duration_ms&&G.default.createElement("span",{className:"text-xs text-gray-500"},(B.duration_ms/1e3).toFixed(1),"s"))),G.default.createElement("div",{className:"bg-white rounded-lg border border-gray-200 p-3 font-mono text-sm max-h-48 overflow-auto"},B?.status==="running"?G.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},G.default.createElement("span",{className:"animate-pulse"},"\u25CF"),G.default.createElement("span",null,"Processing...")):B?.error?G.default.createElement("div",{className:"text-red-600"},B.error):B?.result?G.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},B.result):G.default.createElement("span",{className:"text-gray-400"},"Waiting...")))})):c?G.default.createElement("div",{className:"p-4 font-mono text-sm"},c.provider&&G.default.createElement("div",{className:"flex items-center space-x-2 mb-3 pb-2 border-b border-gray-200"},G.default.createElement("div",{className:`w-2 h-2 rounded-full ${Iw.find(O=>O.id===c.provider)?.color||"bg-gray-400"}`}),G.default.createElement("span",{className:"text-sm text-gray-600"},Iw.find(O=>O.id===c.provider)?.name||c.provider)),c.status==="running"?G.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},G.default.createElement("span",{className:"animate-pulse"},"\u25CF"),G.default.createElement("span",null,"Executing task...")):c.error?G.default.createElement("div",{className:"text-red-600"},G.default.createElement("div",{className:"font-semibold mb-2"},"Error:"),G.default.createElement("pre",{className:"whitespace-pre-wrap"},c.error)):G.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},c.result||"Processing...")):G.default.createElement("div",{className:"text-gray-400 text-center py-12"},G.default.createElement("p",{className:"mb-2"},"Select a sample task or enter your own"),G.default.createElement("p",{className:"text-xs"},X?`Compare results across ${H.length} providers`:"Task will execute using the selected provider"))))),G.default.createElement("div",{className:"space-y-4 overflow-auto"},G.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},G.default.createElement("div",{className:"flex items-center justify-between mb-3"},G.default.createElement("h4",{className:"font-medium text-gray-900"},"Providers"),G.default.createElement("label",{className:"flex items-center space-x-2 cursor-pointer"},G.default.createElement("input",{type:"checkbox",checked:X,onChange:O=>P(O.target.checked),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),G.default.createElement("span",{className:"text-xs text-gray-600"},"Compare"))),G.default.createElement("div",{className:"space-y-2"},Iw.map(O=>G.default.createElement("label",{key:O.id,className:`flex items-center justify-between p-2 rounded-lg border cursor-pointer transition-colors ${H.includes(O.id)?"border-rose-300 bg-rose-50":"border-gray-200 hover:bg-gray-50"}`},G.default.createElement("div",{className:"flex items-center space-x-3"},G.default.createElement("input",{type:"checkbox",checked:H.includes(O.id),onChange:()=>de(O.id),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),G.default.createElement("div",{className:`w-2 h-2 rounded-full ${O.color}`}),G.default.createElement("span",{className:"text-sm font-medium text-gray-900"},O.name)),G.default.createElement("span",{className:"text-xs text-gray-500"},O.model)))),X&&H.length>1&&G.default.createElement("div",{className:"mt-3 p-2 bg-purple-50 rounded-lg"},G.default.createElement("p",{className:"text-xs text-purple-700"},"Comparison mode: Run task on ",H.length," providers simultaneously"))),G.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},G.default.createElement("div",{className:"flex items-center justify-between mb-3"},G.default.createElement("h4",{className:"font-medium text-gray-900"},"Sample Tasks"),X&&G.default.createElement("button",{onClick:()=>n(r==="playwright_mcp"?"comparison":"playwright_mcp"),className:"text-xs text-rose-600 hover:text-rose-700"},r==="comparison"?"Browser Tasks":"Comparison Tasks")),G.default.createElement("div",{className:"space-y-2"},gde[r]?.map((O,Z)=>G.default.createElement("button",{key:Z,onClick:()=>l(O.task),disabled:!I,className:"w-full text-left px-3 py-2 rounded-lg transition-colors border border-gray-200 hover:bg-gray-50 disabled:opacity-50"},G.default.createElement("div",{className:"font-medium text-sm text-gray-900"},O.name),G.default.createElement("div",{className:"text-xs text-gray-500 mt-0.5"},O.description))))),G.default.createElement("div",{className:"bg-gradient-to-br from-rose-50 to-purple-50 rounded-xl border border-rose-200 p-4"},G.default.createElement("h4",{className:"font-medium text-gray-900 mb-3"},w?.unlimited?"Unlimited":w?.plan==="free"?"Free Tier":`${w?.plan?.toUpperCase()||"FREE"} Plan`),w&&!w.unlimited&&w.runs_limit!=null&&G.default.createElement("div",{className:"mb-4"},G.default.createElement("div",{className:"flex justify-between text-sm mb-1"},G.default.createElement("span",{className:"text-gray-600"},"Agent Runs"),G.default.createElement("span",{className:`font-medium ${w.runs_remaining<=1?"text-rose-600":"text-gray-900"}`},w.runs_used," / ",w.runs_limit)),G.default.createElement("div",{className:"w-full bg-white rounded-full h-2 border border-rose-200"},G.default.createElement("div",{className:`h-2 rounded-full transition-all ${w.runs_remaining<=1?"bg-rose-500":"bg-emerald-500"}`,style:{width:`${Math.min(w.runs_used/w.runs_limit*100,100)}%`}})),w.runs_remaining<=1&&G.default.createElement("p",{className:"text-xs text-rose-600 mt-1"},w.runs_remaining===0?"Limit reached!":"Almost at limit!")),G.default.createElement("dl",{className:"space-y-2 text-sm"},G.default.createElement("div",{className:"flex justify-between"},G.default.createElement("dt",{className:"text-gray-500"},"Session Runs"),G.default.createElement("dd",{className:"text-gray-900"},o?.runs_count||0,"/",o?.max_runs||ZF.max_runs)),G.default.createElement("div",{className:"flex justify-between"},G.default.createElement("dt",{className:"text-gray-500"},"Timeout"),G.default.createElement("dd",{className:"text-gray-900"},ZF.timeout_seconds,"s per task"))),w?.plan==="free"&&G.default.createElement("div",{className:"mt-4 pt-4 border-t border-rose-200"},G.default.createElement("button",{onClick:()=>S(!0),className:"w-full text-center text-sm text-rose-600 hover:text-rose-700 font-medium"},"Upgrade to PRO \u2192"))),s.length>0&&G.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},G.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},G.default.createElement("h4",{className:"font-medium text-gray-900"},"Run History")),G.default.createElement("div",{className:"max-h-48 overflow-auto divide-y divide-gray-100"},s.slice().reverse().map((O,Z)=>G.default.createElement("div",{key:O.id||Z,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>d(O)},G.default.createElement("div",{className:"flex items-center justify-between mb-1"},G.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${V(O.status||"completed")}`},O.status||"completed"),G.default.createElement("span",{className:"text-xs text-gray-400"},O.tokens||0," tokens")),G.default.createElement("p",{className:"text-sm text-gray-600 truncate"},O.task))))),o?.status==="expired"&&G.default.createElement("button",{onClick:j,className:"w-full px-4 py-3 bg-rose-500 text-white rounded-lg hover:bg-rose-600 transition-colors"},"Start New Session")))),x&&G.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},G.default.createElement("div",{className:"bg-white rounded-2xl max-w-4xl w-full overflow-hidden shadow-2xl max-h-[90vh] overflow-y-auto"},G.default.createElement("div",{className:"bg-gradient-to-r from-rose-500 to-purple-600 px-6 py-6 text-white text-center"},G.default.createElement("h2",{className:"text-2xl font-bold mb-1"},"Upgrade Your Plan"),G.default.createElement("p",{className:"text-rose-100 text-sm"},"You've used ",w?.runs_used||0," of ",w?.runs_limit||25," trial runs. Choose a plan to continue.")),G.default.createElement("div",{className:"p-6"},G.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},G.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},G.default.createElement("div",{className:"text-center mb-4"},G.default.createElement("h3",{className:"font-semibold text-gray-900"},"Free"),G.default.createElement("div",{className:"mt-2"},G.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$0"),G.default.createElement("span",{className:"text-gray-500"},"/mo"))),G.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"25 trial runs/month"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Community support"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Basic features")),G.default.createElement("button",{disabled:!0,className:"w-full py-2 px-4 border border-gray-300 text-gray-400 rounded-lg text-sm cursor-not-allowed"},"Current Plan")),G.default.createElement("div",{className:"border-2 border-rose-500 rounded-xl p-5 relative bg-rose-50"},G.default.createElement("div",{className:"absolute -top-3 left-1/2 transform -translate-x-1/2"},G.default.createElement("span",{className:"bg-rose-500 text-white text-xs font-semibold px-3 py-1 rounded-full"},"RECOMMENDED")),G.default.createElement("div",{className:"text-center mb-4 mt-2"},G.default.createElement("h3",{className:"font-semibold text-gray-900"},"Pro"),G.default.createElement("div",{className:"mt-2"},G.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$99"),G.default.createElement("span",{className:"text-gray-500"},"/mo")),G.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $995/year (save 16%)")),G.default.createElement("ul",{className:"space-y-2 text-sm text-gray-700 mb-4"},G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"10,000 agent runs/month"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Advanced cost tracking"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"25K traces/month"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Priority email support")),G.default.createElement("button",{onClick:()=>N("monthly"),disabled:k,className:"w-full py-2 px-4 bg-rose-500 text-white rounded-lg text-sm font-semibold hover:bg-rose-600 transition-colors disabled:opacity-50"},k?"Loading...":"Upgrade to Pro")),G.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},G.default.createElement("div",{className:"text-center mb-4"},G.default.createElement("h3",{className:"font-semibold text-gray-900"},"Enterprise"),G.default.createElement("div",{className:"mt-2"},G.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$269"),G.default.createElement("span",{className:"text-gray-500"},"/mo")),G.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $2,690/year (save 16%)")),G.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Unlimited runs"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"500K traces/month"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"SSO & SOC2/HIPAA"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Dedicated support")),G.default.createElement("a",{href:"mailto:sales@activeagents.ai",className:"block w-full py-2 px-4 border border-gray-300 text-gray-700 rounded-lg text-sm font-semibold text-center hover:bg-gray-50 transition-colors"},"Contact Sales")))),G.default.createElement("div",{className:"px-6 py-4 bg-gray-50 border-t border-gray-100 flex justify-center"},G.default.createElement("button",{onClick:()=>S(!1),className:"text-gray-500 hover:text-gray-700 text-sm"},"Maybe later")))))}var Oe=te(re());var jw={SCREENSHOT:"screenshot",IFRAME:"iframe"},QF={navigate:"[->]",click:"[*]",type:"[T]",form_fill:"[F]",key_press:"[K]",snapshot:"[S]",hover:"[~]",select:"[v]",file_upload:"[^]",dialog:"[!]",evaluate:"[js]",wait:"[..]",scroll:"[|]",drag:"[<>]"},A5={navigate:"#3b82f6",click:"#ef4444",type:"#10b981",form_fill:"#8b5cf6",key_press:"#f59e0b",snapshot:"#06b6d4",hover:"#ec4899",select:"#6366f1",file_upload:"#14b8a6",dialog:"#f97316",evaluate:"#a855f7",wait:"#94a3b8",scroll:"#64748b",drag:"#ea580c"},yde=` +`)||y?.instructions||"",Ye=m.slice();h&&!Ye.some(ie=>ie.id===h)&&Ye.unshift({id:h,message_count:Uo.length});let zt=(s.trim().length>0||c.length>0)&&!k,qt=M&&!k&&M.status==="failed",ar=M&&!k&&M.status==="complete"&&!Bs(M)&&!h,_n={background:n.cardBg,border:`1px solid ${n.cardBorder}`,borderRadius:"12px"},P5={borderBottom:`1px solid ${n.cardBorder}`},D5={padding:"6px 10px",borderRadius:"8px",border:`1px solid ${n.inputBorder}`,background:n.inputBg,color:n.textPrimary,fontSize:"13px",fontFamily:Ve.mono,maxWidth:"260px"},I5={width:"100%",padding:"10px 12px",borderRadius:"8px",border:`1px solid ${f?bn:n.inputBorder}`,background:n.inputBg,color:n.textPrimary,fontFamily:"inherit",fontSize:"13px",resize:"vertical"},Xw=Ar("system",r),aU=ow(r);return K.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},K.default.createElement("div",{className:"col-span-2 flex flex-col gap-4 min-w-0"},E&&K.default.createElement("div",{className:"bg-amber-50 border border-amber-200 rounded-xl p-4 flex items-center justify-between gap-4"},K.default.createElement("div",null,K.default.createElement("p",{className:"font-medium text-amber-900"},"Monthly run limit reached"),K.default.createElement("p",{className:"text-sm text-amber-700 mt-0.5"},"You've used ",E.runs_used," of ",E.runs_limit," runs on the"," ",E.plan||"free"," plan. Upgrade to keep running agents."),L&&K.default.createElement("p",{className:"text-sm text-red-600 mt-1"},L)),K.default.createElement("div",{className:"flex items-center gap-2 flex-shrink-0"},Ac&&K.default.createElement("a",{href:Ac,className:"px-4 py-2 text-sm text-amber-800 hover:text-amber-900"},"See plans"),K.default.createElement("button",{onClick:Gw,disabled:R,className:"px-4 py-2 text-sm bg-amber-500 text-white rounded-lg hover:bg-amber-600 transition-colors disabled:opacity-50"},R?"Redirecting\u2026":"Upgrade to Pro"))),K.default.createElement("div",{"data-testid":"runner-toolbar",style:_n,className:"p-4 flex items-center gap-3 flex-wrap"},K.default.createElement(wr,{size:40}),K.default.createElement("div",{className:"min-w-0"},K.default.createElement("div",{className:"font-semibold truncate",style:{color:n.textPrimary}},e.name),K.default.createElement("div",{className:"text-xs font-mono",style:{color:n.textSecondary}},e.provider," / ",e.model)),K.default.createElement("div",{className:"flex items-center gap-2 flex-wrap ml-auto"},K.default.createElement("select",{"data-testid":"runner-action-select",value:i,onChange:ie=>Lg(ie.target.value),disabled:k,className:"aa-field",style:D5,title:"Agent action to invoke"},a.map(ie=>K.default.createElement("option",{key:ie,value:ie},"#",ie))),K.default.createElement("select",{"data-testid":"runner-conversation-select",value:h??"",onChange:ie=>Fw(ie.target.value),disabled:k,className:"aa-field",style:D5,title:"Conversation to continue"},K.default.createElement("option",{value:""},"New conversation on first run"),Ye.map(ie=>K.default.createElement("option",{key:ie.id,value:ie.id},"Conversation #",ie.id," \xB7 ",ie.message_count??0," message",ie.message_count===1?"":"s"))),K.default.createElement(qn,{testId:"runner-new-conversation",variant:"secondary",size:"sm",colors:n,onClick:Uw,disabled:k,title:"Start an empty conversation for this action"},"+ New conversation"),K.default.createElement(qn,{testId:"runner-back",variant:"secondary",size:"sm",colors:n,onClick:t},"\u2190 Back to editor"))),K.default.createElement("div",{"data-testid":"runner-context",ref:it,style:_n,className:"flex flex-col overflow-hidden"},K.default.createElement("div",{className:"px-4 py-3 flex items-center justify-between gap-3 flex-wrap",style:P5},K.default.createElement("div",{className:"flex items-center gap-2 min-w-0"},K.default.createElement("h3",{className:"font-medium",style:{color:n.textPrimary}},"Context"),y&&K.default.createElement("span",{className:"text-xs font-mono",style:{color:n.textMuted}},"#",y.id," \xB7 ",Uo.length," message",Uo.length===1?"":"s")),K.default.createElement("div",{className:"flex items-center gap-3 flex-wrap"},K.default.createElement(Dce,{run:M,darkMode:r,colors:n}),K.default.createElement("div",{className:"relative",ref:Fo},K.default.createElement(qn,{testId:"runner-add-message",variant:"secondary",size:"sm",colors:n,onClick:()=>oe(ie=>!ie),disabled:k,title:"Insert a message into the context without running"},"+ Add message"),ze&&K.default.createElement("div",{className:"absolute right-0 mt-1 z-10 py-1 rounded-lg shadow-lg",style:{background:n.cardBg,border:`1px solid ${n.borderStrong}`,minWidth:"180px"}},[["user","runner-add-user-message","User message"],["assistant","runner-add-assistant-message","Assistant message"]].map(([ie,Le,Je])=>K.default.createElement("button",{key:ie,type:"button","data-testid":Le,onClick:()=>Kw(ie),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-black/5",style:{color:n.textCell,background:"none",border:"none",cursor:"pointer"}},Je)))))),K.default.createElement("div",{ref:zn,className:"p-4 overflow-auto",style:{maxHeight:"60vh"}},K.default.createElement("div",{"data-testid":"runner-system-row",className:"flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 cursor-pointer",onClick:()=>ce(ie=>!ie),title:ae?"Collapse system instructions":"Show system instructions"},K.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},K.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:Xw.background,color:Xw.color,textAlign:"center"}},Xw.label)),K.default.createElement("div",{className:"min-w-0 flex-1"},ge?ae?K.default.createElement("pre",{style:{...aU,whiteSpace:"pre-wrap",maxHeight:"260px",overflowY:"auto"}},ge):K.default.createElement("div",{className:"text-sm truncate",style:{color:n.textSecondary}},ge.split(` +`).find(ie=>ie.trim())||""):K.default.createElement("div",{className:"text-sm",style:{color:n.textMuted}},"No system instructions"),K.default.createElement("div",{className:"text-xs mt-0.5 font-mono",style:{color:n.textMuted}},"read-only \xB7 Edit in the Instructions tab")),K.default.createElement(IF,{open:ae,color:n.textMuted})),x&&K.default.createElement("div",{className:"text-sm mt-3",style:{color:"#dc2626"}},x),Uo.length>0?K.default.createElement("div",{className:"mt-3"},K.default.createElement(ba,{messages:Uo,darkMode:r,testIdPrefix:"runner-message",onUiAction:$g,onEditMessage:Fg,onDeleteMessage:Vw})):!F&&!P&&!qt&&K.default.createElement("div",{"data-testid":"runner-context-empty",className:"text-sm text-center py-8",style:{color:n.textMuted}},"No messages yet \u2014 say something below to test the agent as a user."),F&&K.default.createElement("div",{"data-testid":"runner-pending-turn",className:"flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 mt-3"},K.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},K.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:Ar("user",r).background,color:Ar("user",r).color,textAlign:"center"}},"User")),K.default.createElement("div",{className:"min-w-0 flex-1"},K.default.createElement("div",{className:"text-sm break-words whitespace-pre-wrap",style:{color:n.textPrimary}},F.content),K.default.createElement(aw,{attachments:F.attachments,darkMode:r}))),M&&(k||e5(M).length>0)&&K.default.createElement("div",{className:"mt-3 space-y-2"},K.default.createElement(Pce,{run:M,darkMode:r,colors:n,expanded:z,onToggle:ie=>D(Le=>({...Le,[ie]:!Le[ie]}))}),k&&K.default.createElement("div",{className:"flex items-center gap-2 text-sm",style:{color:n.textSecondary}},K.default.createElement("span",{className:"animate-pulse"},"\u25CF"),K.default.createElement("span",null,e5(M).length>0?"Working\u2026":"Starting run\u2026"))),C&&K.default.createElement("div",{className:"text-xs mt-3",style:{color:"#d97706"}},C),qt&&M.error_message&&K.default.createElement("div",{className:"mt-3 rounded-lg p-3 text-sm",style:{background:r?"rgba(239,68,68,0.12)":"#fef2f2",color:r?"#fca5a5":"#b91c1c"}},K.default.createElement("div",{className:"font-semibold mb-1"},"Run failed"),K.default.createElement("pre",{className:"whitespace-pre-wrap font-mono text-xs",style:{margin:0}},M.error_message)),ar&&K.default.createElement("div",{className:"mt-3 rounded-lg p-3 text-sm",style:{background:n.innerBg,color:n.textPrimary}},K.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:n.textMuted}},"Output"),K.default.createElement($a,{text:M.output||"No output",darkMode:r,onUiAction:$g})),P&&K.default.createElement("div",{"data-testid":"runner-inspected-run",className:"mt-3 rounded-lg p-3",style:{background:n.innerBg,border:`1px solid ${n.cardBorder}`}},K.default.createElement("div",{className:"flex items-center justify-between gap-3 flex-wrap mb-2"},K.default.createElement("div",{className:"flex items-center gap-2 text-xs font-mono",style:{color:n.textMuted}},K.default.createElement("span",{style:{color:n.textPrimary}},"Run #",P.id),K.default.createElement(Ls,{tone:RE[P.status]||"neutral",darkMode:r},P.status),P.output_metadata?.model&&K.default.createElement("span",null,P.output_metadata.provider,"/",P.output_metadata.model),P.duration_ms?K.default.createElement("span",null,Ew(P.duration_ms)):null,P.trace_id&&K.default.createElement("a",{href:Re(`/traces?trace=${P.trace_id}`),className:"hover:underline",style:{color:n.textSecondary}},"trace:",P.trace_id.slice(0,8)," \u2192"),K.default.createElement("span",null,"\xB7 no conversation attached")),K.default.createElement("button",{type:"button",onClick:()=>Y(null),className:"text-xs font-mono",style:{color:n.textMuted,background:"none",border:"none",cursor:"pointer"},title:"Close"},"[x]")),(P.input_prompt||P.input_preview)&&K.default.createElement("div",{className:"text-sm mb-2 whitespace-pre-wrap",style:{color:n.textSecondary}},P.input_prompt||P.input_preview),P.error_message?K.default.createElement("pre",{className:"whitespace-pre-wrap font-mono text-xs",style:{margin:0,color:r?"#fca5a5":"#b91c1c"}},P.error_message):K.default.createElement("div",{className:"text-sm",style:{color:n.textPrimary}},K.default.createElement($a,{text:P.output||"No output",darkMode:r}))),Ee&&K.default.createElement("div",{className:"mt-3 rounded-lg p-3",style:{border:`1px dashed ${n.borderStrong}`}},K.default.createElement("div",{className:"flex items-center gap-2 mb-2"},K.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:Ar(Ee,r).background,color:Ar(Ee,r).color}},Ar(Ee,r).label),K.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},"Added to the context without running the agent")),K.default.createElement("textarea",{"data-testid":"runner-inline-composer",value:I,onChange:ie=>N(ie.target.value),onKeyDown:ie=>{ie.key==="Escape"&&V(null),ie.key==="Enter"&&(ie.metaKey||ie.ctrlKey)&&Ug()},placeholder:Ee==="user"?"What the user said\u2026":"What the assistant replied\u2026",rows:3,autoFocus:!0,className:"aa-field",style:{...I5,border:`1px solid ${n.inputBorder}`}}),K.default.createElement("div",{className:"flex items-center gap-2 mt-2 flex-wrap"},K.default.createElement(qn,{testId:"runner-inline-submit",variant:"primary",size:"sm",colors:n,onClick:Ug,disabled:O||!I.trim()},O?"Adding\u2026":`Add ${Ee} message`),K.default.createElement(qn,{variant:"secondary",size:"sm",colors:n,onClick:()=>V(null),disabled:O},"Cancel"),B&&K.default.createElement("span",{className:"text-xs",style:{color:"#dc2626"}},B))))),K.default.createElement("div",{style:_n,className:"p-4"},K.default.createElement("div",{onDragOver:ie=>{ie.preventDefault(),f||p(!0)},onDragLeave:()=>p(!1),onDrop:ie=>{ie.preventDefault(),p(!1),k||Ws(ie.dataTransfer?.files)}},K.default.createElement("textarea",{"data-testid":"runner-prompt",value:s,onChange:ie=>u(ie.target.value),onKeyDown:gp,placeholder:"Message the agent as a user\u2026 (\u2318/Ctrl+Enter to run \xB7 drop files here to attach)",rows:3,disabled:k,className:"aa-field",style:I5})),K.default.createElement(aw,{attachments:c,darkMode:r,testId:"runner-attachment-chip",onRemove:(ie,Le)=>Ww(Le),removeTestId:"runner-attachment-remove"}),K.default.createElement("div",{className:"flex items-center justify-between gap-3 flex-wrap mt-3"},K.default.createElement("div",{className:"flex items-center gap-3 flex-wrap"},K.default.createElement("input",{ref:$o,"data-testid":"runner-attach-input",type:"file",multiple:!0,style:{display:"none"},onChange:ie=>{Ws(ie.target.files),ie.target.value=""}}),K.default.createElement(qn,{testId:"runner-attach",variant:"secondary",size:"sm",colors:n,onClick:()=>$o.current?.click(),disabled:k,title:"Attach images, PDFs, or text files to this message"},"\u{1F4CE} Attach files"),K.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},"Press ",K.default.createElement("kbd",{className:"px-1.5 py-0.5 rounded",style:{background:n.mutedBg,color:n.textSecondary}},"\u2318")," + ",K.default.createElement("kbd",{className:"px-1.5 py-0.5 rounded",style:{background:n.mutedBg,color:n.textSecondary}},"Enter")," to run")),K.default.createElement(qn,{testId:"runner-run",variant:"primary",colors:n,onClick:Bg,disabled:!zt},k?K.default.createElement(K.default.Fragment,null,K.default.createElement("span",{className:"animate-spin inline-block",style:{fontFamily:Ve.mono}},"[~]")," Running\u2026"):K.default.createElement(K.default.Fragment,null,K.default.createElement("span",{style:{fontFamily:Ve.mono}},"[>]")," Run"))))),K.default.createElement("div",{className:"space-y-4 min-w-0"},K.default.createElement("div",{style:_n,className:"p-4"},K.default.createElement("h4",{className:"font-medium mb-3",style:{color:n.textPrimary}},"Configuration"),K.default.createElement("dl",{className:"space-y-2 text-sm"},K.default.createElement("div",{className:"flex justify-between"},K.default.createElement("dt",{style:{color:n.textSecondary}},"Temperature"),K.default.createElement("dd",{style:{color:n.textPrimary}},e.modelConfig?.temperature||e.model_config?.temperature||.7)),K.default.createElement("div",{className:"flex justify-between"},K.default.createElement("dt",{style:{color:n.textSecondary}},"Tools"),K.default.createElement("dd",{style:{color:n.textPrimary}},e.tools?.length||0)),K.default.createElement("div",{className:"flex justify-between items-center"},K.default.createElement("dt",{style:{color:n.textSecondary}},"Status"),K.default.createElement("dd",null,K.default.createElement(Ls,{tone:e.status==="active"?"success":"neutral",darkMode:r},e.status)))),e.instructions&&K.default.createElement("div",{className:"mt-3 pt-3",style:{borderTop:`1px solid ${n.cardBorder}`}},K.default.createElement("div",{className:"text-xs mb-1.5",style:{color:n.textSecondary}},"System Instructions"),K.default.createElement("p",{className:"text-xs whitespace-pre-wrap max-h-44 overflow-y-auto font-mono leading-relaxed",style:{color:n.textCell}},e.instructions))),K.default.createElement("div",{style:_n,className:"overflow-hidden"},K.default.createElement("div",{className:"px-4 py-3",style:P5},K.default.createElement("h4",{className:"font-medium",style:{color:n.textPrimary}},"Recent Runs")),K.default.createElement("div",{className:"max-h-64 overflow-auto"},w.length>0?K.default.createElement("div",null,w.map(ie=>K.default.createElement("div",{key:ie.id,"data-testid":"runner-recent-run",className:"px-4 py-3 cursor-pointer hover:bg-black/5",style:{borderBottom:`1px solid ${n.cardBorder}`},onClick:()=>qw(ie),title:Bs(ie)?"Open this run\u2019s conversation":"Show this run\u2019s output"},K.default.createElement("div",{className:"flex items-center justify-between mb-1"},K.default.createElement(Ls,{tone:RE[ie.status]||"neutral",darkMode:r},ie.status),K.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},Ew(ie.duration_ms))),K.default.createElement("p",{className:"text-sm truncate",style:{color:n.textCell}},ie.input_preview||ie.input_prompt?.substring(0,50)),K.default.createElement("p",{className:"text-xs mt-1 flex items-center gap-2 flex-wrap",style:{color:n.textMuted}},ie.model&&K.default.createElement("span",{className:"px-1.5 py-0.5 rounded font-mono",style:{background:n.mutedBg,color:n.textSecondary}},ie.model),Bs(ie)&&K.default.createElement("span",{className:"font-mono"},"#",Bs(ie)),K.default.createElement("span",null,new Date(ie.created_at).toLocaleString()))))):K.default.createElement("div",{className:"px-4 py-8 text-center text-sm",style:{color:n.textMuted}},"No runs yet"))),K.default.createElement("div",{style:_n,className:"p-4"},K.default.createElement("h4",{className:"font-medium mb-3",style:{color:n.textPrimary}},"Example Prompts"),K.default.createElement("div",{className:"space-y-2"},Ece.map(ie=>K.default.createElement("button",{key:ie,type:"button","data-testid":"runner-example-prompt",onClick:()=>u(ie),className:"w-full text-left px-3 py-2 text-sm rounded-lg transition-colors hover:bg-black/5",style:{color:n.textCell,border:`1px solid ${n.cardBorder}`,background:"transparent",cursor:"pointer"}},ie))))))}var Te=te(re()),Ow=e=>new Date(`${e}T00:00:00`),Ice=[{value:7,label:"7 days"},{value:14,label:"14 days"},{value:30,label:"30 days"},{value:90,label:"90 days"}];function r5({onSelectAgent:e}){let[t,r]=(0,Te.useState)(null),[n,o]=(0,Te.useState)(!0),[a,i]=(0,Te.useState)(30);(0,Te.useEffect)(()=>{l()},[a]);let l=async()=>{o(!0);try{let p=await(await fetch(`/api/analytics?days=${a}`)).json();r(p)}catch(f){console.error("Failed to load analytics:",f)}finally{o(!1)}},s=f=>f?f>=1e6?`${(f/1e6).toFixed(1)}M`:f>=1e3?`${(f/1e3).toFixed(1)}K`:f.toString():"0",u=f=>f?f<1e3?`${f}ms`:`${(f/1e3).toFixed(2)}s`:"-";if(n&&!t)return Te.default.createElement("div",{className:"flex items-center justify-center h-64"},Te.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let c=t?.charts?.runs_by_day?.length>0?Math.max(...t.charts.runs_by_day.map(f=>f.count)):1,d=t?.charts?.tokens_by_day?.length>0?Math.max(...t.charts.tokens_by_day.map(f=>f.tokens)):1;return Te.default.createElement("div",{className:"space-y-6"},Te.default.createElement("div",{className:"flex items-center justify-between"},Te.default.createElement("div",null,Te.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Analytics Dashboard"),Te.default.createElement("p",{className:"text-sm text-gray-500"},"Overview of all your agents' performance")),Te.default.createElement("select",{value:a,onChange:f=>i(Number(f.target.value)),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Ice.map(f=>Te.default.createElement("option",{key:f.value,value:f.value},"Last ",f.label)))),Te.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-5 gap-4"},Te.default.createElement(Ng,{title:"Total Agents",value:t?.summary?.total_agents||0,subtitle:`${t?.summary?.active_agents||0} active`,color:"rose"}),Te.default.createElement(Ng,{title:"Total Runs",value:t?.summary?.total_runs||0,subtitle:`${t?.period_days} day period`,color:"blue"}),Te.default.createElement(Ng,{title:"Success Rate",value:`${t?.summary?.success_rate||0}%`,subtitle:`${t?.summary?.completed_runs||0} completed`,color:"green"}),Te.default.createElement(Ng,{title:"Avg Duration",value:u(t?.summary?.avg_duration_ms),subtitle:"per run",color:"purple"}),Te.default.createElement(Ng,{title:"Total Tokens",value:s(t?.summary?.total_tokens),subtitle:`${s(t?.summary?.avg_tokens_per_run)}/run avg`,color:"amber"})),Te.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6"},Te.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},Te.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Runs Over Time"),t?.charts?.runs_by_day?.length>0?Te.default.createElement("div",{className:"h-48"},Te.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.runs_by_day.map((f,p)=>Te.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},Te.default.createElement("div",{className:"relative w-full"},Te.default.createElement("div",{className:"w-full bg-red-500 rounded-t transition-all hover:bg-red-600",style:{height:`${f.count/c*150}px`,minHeight:f.count>0?"4px":"0"}}),Te.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap z-10"},f.count," runs"))))),Te.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},Te.default.createElement("span",null,t.charts.runs_by_day[0]?.date&&Ow(t.charts.runs_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),Te.default.createElement("span",null,t.charts.runs_by_day[t.charts.runs_by_day.length-1]?.date&&Ow(t.charts.runs_by_day[t.charts.runs_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):Te.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No runs in this period")),Te.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},Te.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage Over Time"),t?.charts?.tokens_by_day?.length>0?Te.default.createElement("div",{className:"h-48"},Te.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.tokens_by_day.map((f,p)=>Te.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},Te.default.createElement("div",{className:"relative w-full"},Te.default.createElement("div",{className:"w-full bg-purple-500 rounded-t transition-all hover:bg-purple-600",style:{height:`${f.tokens/d*150}px`,minHeight:f.tokens>0?"4px":"0"}}),Te.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap z-10"},s(f.tokens)," tokens"))))),Te.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},Te.default.createElement("span",null,t.charts.tokens_by_day[0]?.date&&Ow(t.charts.tokens_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),Te.default.createElement("span",null,t.charts.tokens_by_day[t.charts.tokens_by_day.length-1]?.date&&Ow(t.charts.tokens_by_day[t.charts.tokens_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):Te.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No token usage in this period"))),Te.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6"},Te.default.createElement("div",{className:"lg:col-span-2 bg-white rounded-xl border border-gray-200 p-6"},Te.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Top Agents"),t?.top_agents?.length>0?Te.default.createElement("div",{className:"space-y-3"},t.top_agents.map((f,p)=>Te.default.createElement("div",{key:f.id,onClick:()=>e?.(f),className:"flex items-center space-x-4 p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors"},Te.default.createElement("div",{className:"w-8 h-8 rounded-full bg-red-100 flex items-center justify-center text-red-600 font-semibold"},p+1),Te.default.createElement("div",{className:"flex-1 min-w-0"},Te.default.createElement("p",{className:"font-medium text-gray-900 truncate"},f.name),Te.default.createElement("p",{className:"text-sm text-gray-500"},f.run_count," runs")),Te.default.createElement("div",{className:"text-right"},Te.default.createElement("p",{className:"font-medium text-gray-900"},s(f.total_tokens)),Te.default.createElement("p",{className:"text-xs text-gray-500"},"tokens"))))):Te.default.createElement("div",{className:"py-8 text-center text-gray-400"},"No agent activity yet")),Te.default.createElement("div",{className:"space-y-6"},Te.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},Te.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"By Provider"),Object.keys(t?.provider_breakdown||{}).length>0?Te.default.createElement("div",{className:"space-y-3"},Object.entries(t.provider_breakdown).map(([f,p])=>{let m=t?.summary?.total_runs||1,g=(p/m*100).toFixed(1);return Te.default.createElement("div",{key:f},Te.default.createElement("div",{className:"flex justify-between text-sm mb-1"},Te.default.createElement("span",{className:"capitalize text-gray-600"},f),Te.default.createElement("span",{className:"text-gray-900 font-medium"},p)),Te.default.createElement("div",{className:"h-2 bg-gray-100 rounded-full overflow-hidden"},Te.default.createElement("div",{className:"h-full bg-blue-500 rounded-full",style:{width:`${g}%`}})))})):Te.default.createElement("div",{className:"py-4 text-center text-gray-400 text-sm"},"No data")),Te.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},Te.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage"),Te.default.createElement("div",{className:"space-y-4"},Te.default.createElement("div",{className:"flex justify-between items-center"},Te.default.createElement("span",{className:"text-sm text-gray-500"},"Input Tokens"),Te.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_input_tokens))),Te.default.createElement("div",{className:"flex justify-between items-center"},Te.default.createElement("span",{className:"text-sm text-gray-500"},"Output Tokens"),Te.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_output_tokens))),Te.default.createElement("div",{className:"pt-2 border-t border-gray-100"},Te.default.createElement("div",{className:"flex justify-between items-center"},Te.default.createElement("span",{className:"text-sm font-medium text-gray-700"},"Total"),Te.default.createElement("span",{className:"font-bold text-gray-900"},s(t?.summary?.total_tokens)))))))))}function Ng({title:e,value:t,subtitle:r,color:n}){return Te.default.createElement("div",{className:`bg-white rounded-xl border border-gray-200 border-l-4 ${{rose:"border-l-red-500",blue:"border-l-blue-500",green:"border-l-green-500",purple:"border-l-purple-500",amber:"border-l-amber-500"}[n]} p-4`},Te.default.createElement("p",{className:"text-sm text-gray-500"},e),Te.default.createElement("p",{className:"text-2xl font-bold text-gray-900 mt-1"},t),r&&Te.default.createElement("p",{className:"text-xs text-gray-400 mt-1"},r))}var Q=te(re());function n5({agent:e,onBack:t}){let{timeWindow:r}=si(),[n,o]=(0,Q.useState)([]),[a,i]=(0,Q.useState)([]),[l,s]=(0,Q.useState)(null),[u,c]=(0,Q.useState)(null),[d,f]=(0,Q.useState)([]),[p,m]=(0,Q.useState)("run"),[g,h]=(0,Q.useState)(!1),[v,y]=(0,Q.useState)(!1),b=(0,Q.useRef)(!1),x=(0,Q.useRef)(!1),[S,w]=(0,Q.useState)("recent"),[T,k]=(0,Q.useState)({}),[A,M]=(0,Q.useState)(!0),[H,F]=(0,Q.useState)(1),[X,P]=(0,Q.useState)(!0),[Y,C]=(0,Q.useState)(""),[_,z]=(0,Q.useState)(""),[D,E]=(0,Q.useState)("recent"),j=(0,Q.useRef)(null),R=Re(`/agents/${e.id}/interactions`);(0,Q.useEffect)(()=>{U()},[e.id,H,Y,_,D,r.minutes]),(0,Q.useEffect)(()=>{F(1)},[r.minutes]),(0,Q.useEffect)(()=>{fetch(`/api/interactions?agent_id=${e.id}`).then(B=>B.json()).then(B=>i(B.interactions||[])).catch(()=>{}).finally(()=>y(!0))},[e.id]),(0,Q.useEffect)(()=>{let B=()=>{let we=dl(),ee=we.match(/\/interactions\/runs\/(\d+)/),ue=we.match(/\/interactions\/sessions\/(\d+)/);if(ee)m("run"),c(null),q(parseInt(ee[1],10),{updateUrl:!1});else if(ue)m("all"),c({id:parseInt(ue[1],10)});else if(we.endsWith("/interactions/sessions")||we.endsWith("/interactions/all"))we.endsWith("/all")&&window.history.replaceState({},"",we.replace(/\/all$/,"/sessions")),m("all"),c(null);else{b.current=!1,s(null),c(null),f([]);return}b.current=!0};return B(),window.addEventListener("popstate",B),()=>window.removeEventListener("popstate",B)},[e.id]),(0,Q.useEffect)(()=>{b.current||x.current||!g||!v||m(n.length===0&&a.length>0?"all":"run")},[g,v,n.length,a.length]);let U=async()=>{M(!0);try{let B=new URLSearchParams({page:H.toString(),per_page:"20",minutes:String(r.minutes)});Y&&B.append("status",Y),_&&B.append("source",_),D!=="recent"&&B.append("sort",D);let ee=await(await fetch(`/api/agents/${e.id}/runs?${B}`)).json();o(H===1?ee.runs:ue=>[...ue,...ee.runs]),P(ee.runs.length===20)}catch(B){console.error("Failed to load runs:",B)}finally{M(!1),h(!0)}},L=B=>{window.location.pathname!==B&&window.history.pushState({},"",B)},q=async(B,{updateUrl:we=!0}={})=>{try{let ue=await(await fetch(`/api/runs/${B}`)).json();s(ue.run),f(ue.messages||[]),m("run"),c(null),we&&L(`${R}/runs/${B}`)}catch(ee){console.error("Failed to load run details:",ee)}},ae=B=>{if(B.source==="reported"){let we=B.trace_id||String(B.id).replace(/^trace-/,"");window.history.pushState(window.history.state,"",Re(`/traces/${we}`)),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Re(`/traces/${we}`)}}));return}q(B.record_id||B.id)},ce=()=>{s(null),c(null),f([]),m("run"),L(R)},ze=B=>{m("all"),B?(c({id:B.id,name:B.display_name}),L(`${R}/sessions/${B.id}`)):(c(null),L(`${R}/sessions`))},oe=B=>{x.current=!0,m(B),L(B==="all"?u?`${R}/sessions/${u.id}`:`${R}/sessions`:l?`${R}/runs/${l.id}`:R)},Ee=u?u.name||a.find(B=>B.id===u.id)?.display_name||`Session #${u.id}`:null,V=()=>{let B=new Map;n.forEach(ue=>{let W=`${ue.model||"unknown"}|${ue.instructions_digest||"none"}`;B.has(W)||B.set(W,{key:W,model:ue.model,instructionsDigest:ue.instructions_digest,instructionsVersion:ue.instructions_version,instructionsCodename:ue.instructions_codename,instructionsPreview:ue.instructions_preview,runs:[]}),B.get(W).runs.push(ue)});let we=[...B.values()].map(ue=>({...ue,count:ue.runs.length,completed:ue.runs.filter(W=>W.status==="complete").length,failed:ue.runs.filter(W=>W.status==="failed").length,totalTokens:ue.runs.reduce((W,xe)=>W+(xe.tokens||0),0),avgTokens:ue.runs.reduce((W,xe)=>W+(xe.tokens||0),0)/ue.runs.length,avgDuration:ue.runs.reduce((W,xe)=>W+(xe.duration_ms||0),0)/ue.runs.length,latest:ue.runs[0],sortedRuns:[...ue.runs].sort((W,xe)=>(xe.duration_ms||0)-(W.duration_ms||0))}));we.sort((ue,W)=>S==="longest"?W.avgDuration-ue.avgDuration:new Date(W.latest.created_at)-new Date(ue.latest.created_at));let ee={runs:n.length,completed:n.filter(ue=>ue.status==="complete").length,tokens:n.reduce((ue,W)=>ue+(W.tokens||0),0),avgDuration:n.length?n.reduce((ue,W)=>ue+(W.duration_ms||0),0)/n.length:0,models:[...new Set(n.map(ue=>ue.model).filter(Boolean))]};return{cohorts:we,totals:ee}},I=B=>{switch(B){case"complete":return"bg-green-100 text-green-700";case"failed":return"bg-red-100 text-red-700";case"running":return"bg-blue-100 text-blue-700";case"pending":return"bg-yellow-100 text-yellow-700";case"cancelled":return"bg-gray-100 text-gray-500";default:return"bg-gray-100 text-gray-500"}},N=B=>B?B<1e3?`${B}ms`:B<6e4?`${(B/1e3).toFixed(1)}s`:`${Math.floor(B/6e4)}m ${Math.floor(B%6e4/1e3)}s`:"-",O=B=>B==null?"\u2014":B===0?"$0":B<.01?`$${B.toFixed(4)}`:`$${B.toFixed(2)}`,Z=B=>{let we=new Date(B),ue=new Date-we,W=Math.floor(ue/6e4),xe=Math.floor(ue/36e5),De=Math.floor(ue/864e5);return W<1?"Just now":W<60?`${W}m ago`:xe<24?`${xe}h ago`:De<7?`${De}d ago`:we.toLocaleDateString()};return Q.default.createElement("div",{className:"flex h-full"},Q.default.createElement("div",{className:"w-80 border-r border-gray-200 flex flex-col bg-white"},Q.default.createElement("div",{className:"p-4 border-b border-gray-200"},Q.default.createElement("div",{className:"flex items-center space-x-3 mb-4"},Q.default.createElement("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 transition-colors"},Q.default.createElement("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"}))),Q.default.createElement("div",null,Q.default.createElement("h2",{className:"font-semibold text-gray-900"},"Agent Interactions"),Q.default.createElement("p",{className:"text-sm text-gray-500"},e.name))),Q.default.createElement("div",{className:"mb-2"},Q.default.createElement(ui,{compact:!0})),Q.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1 mb-2 text-sm"},[{value:"",label:"All"},{value:"dashboard",label:"Dashboard"},{value:"reported",label:"Reported"}].map(B=>Q.default.createElement("button",{key:B.value||"all",onClick:()=>{z(B.value),F(1)},className:`flex-1 px-2 py-1 rounded-md transition-colors ${_===B.value?"bg-white shadow text-gray-900":"text-gray-600"}`,title:B.value==="dashboard"?"Executions started from this dashboard":B.value==="reported"?"Executions reported by your app via telemetry":"Every execution, however it started"},B.label))),Q.default.createElement("select",{value:Y,onChange:B=>{C(B.target.value),F(1)},className:"w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},Q.default.createElement("option",{value:""},"All statuses"),Q.default.createElement("option",{value:"complete"},"Completed"),Q.default.createElement("option",{value:"failed"},"Failed"),Q.default.createElement("option",{value:"running"},"Running"),Q.default.createElement("option",{value:"cancelled"},"Cancelled")),Q.default.createElement("select",{value:D,onChange:B=>{E(B.target.value),F(1)},className:"w-full mt-2 px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500",title:"Rank these executions"},Q.default.createElement("option",{value:"recent"},"Most recent"),Q.default.createElement("option",{value:"longest"},"Longest running"),Q.default.createElement("option",{value:"cost"},"Highest cost"),Q.default.createElement("option",{value:"tokens"},"Most tokens"))),Q.default.createElement("div",{className:"flex-1 overflow-auto"},A&&n.length===0?Q.default.createElement("div",{className:"flex items-center justify-center h-32"},Q.default.createElement("div",{className:"animate-spin rounded-full h-6 w-6 border-b-2 border-red-500"})):n.length>0?Q.default.createElement(Q.default.Fragment,null,n.map(B=>{let we=B.source==="reported";return Q.default.createElement("div",{key:B.id,onClick:()=>ae(B),title:we?"Reported by your app \u2014 opens its trace":"Started from this dashboard",className:`p-4 border-b border-gray-100 cursor-pointer transition-colors ${!we&&l?.id===B.id?"bg-red-50 border-l-4 border-l-red-500":"hover:bg-gray-50"}`},Q.default.createElement("div",{className:"flex items-center justify-between mb-2 gap-2"},Q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${I(B.status)}`},B.status),Q.default.createElement("div",{className:"flex items-center gap-2"},Q.default.createElement("span",{className:`px-1.5 py-0.5 rounded text-[10px] uppercase tracking-wide ${we?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`},we?"reported":"dashboard"),Q.default.createElement("span",{className:"text-xs text-gray-400"},Z(B.created_at||B.occurred_at)))),Q.default.createElement("p",{className:"text-sm text-gray-700 truncate"},B.input_preview||B.input_prompt?.substring(0,60)||(we?`${B.action_name||"execution"} \xB7 trace ${String(B.trace_id||"").slice(0,8)}`:"No input")),Q.default.createElement("div",{className:"flex items-center space-x-3 mt-2 text-xs text-gray-400 flex-wrap gap-y-1"},B.model&&Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},B.model),Q.default.createElement("span",{className:D==="longest"?"text-gray-700 font-medium":void 0},N(B.duration_ms)),!!B.tokens&&Q.default.createElement("span",{className:D==="tokens"?"text-gray-700 font-medium":void 0},B.tokens," tokens"),B.cost!=null&&Q.default.createElement("span",{className:D==="cost"?"text-gray-700 font-medium":void 0,title:"Estimated from token counts at this model's published rates"},O(B.cost))))}),X&&Q.default.createElement("button",{onClick:()=>F(B=>B+1),disabled:A,className:"w-full py-3 text-sm text-red-600 hover:bg-gray-50 transition-colors"},A?"Loading...":"Load More")):Q.default.createElement("div",{className:"p-8 text-center text-gray-400"},Q.default.createElement("svg",{className:"w-12 h-12 mx-auto mb-3 text-gray-300",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})),Q.default.createElement("p",null,"No conversations yet")))),Q.default.createElement("div",{className:"flex-1 flex flex-col bg-gray-50"},Q.default.createElement("div",{className:"px-4 py-2 bg-white border-b border-gray-100 flex items-center gap-1.5 text-xs text-gray-500"},Q.default.createElement("button",{onClick:t,className:"hover:text-gray-900 hover:underline transition-colors"},e.name),Q.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"||l?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("button",{onClick:ce,className:"hover:text-gray-900 hover:underline transition-colors"},"Interactions"),Q.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"?u?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("button",{onClick:()=>ze(null),className:"hover:text-gray-900 hover:underline transition-colors"},"Sessions"),Q.default.createElement("span",{className:"text-gray-300"},"/"),Q.default.createElement("span",{className:"text-gray-900 font-medium"},Ee)):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Sessions"):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Run #",l.id)):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Interactions")),Q.default.createElement("div",{className:"p-3 bg-white border-b border-gray-200 flex items-center justify-between"},Q.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},Q.default.createElement("button",{onClick:()=>oe("run"),className:`px-3 py-1 text-sm rounded-md transition-colors ${p==="run"?"bg-white shadow text-gray-900":"text-gray-600"}`},"Selected run"),Q.default.createElement("button",{onClick:()=>oe("all"),className:`px-3 py-1 text-sm rounded-md transition-colors ${p==="all"?"bg-white shadow text-gray-900":"text-gray-600"}`},"Sessions")),p==="run"&&l&&Q.default.createElement("span",{className:`px-3 py-1 rounded-full text-sm font-medium ${I(l.status)}`},l.status)),p==="all"?Q.default.createElement("div",{className:"flex-1 overflow-auto p-4 space-y-4"},(()=>{let{totals:B}=V();return Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4 space-y-3"},Q.default.createElement("div",{className:"flex items-center gap-3"},Q.default.createElement(wr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-semibold text-gray-900"},e.name),Q.default.createElement("p",{className:"text-xs text-gray-500"},u?`${Ee} \u2014 one persisted interaction stream`:"Sessions group this agent\u2019s runs into persisted interaction streams"))),Q.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},B.runs)),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},B.runs?Math.round(B.completed/B.runs*100):0,"%")),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},N(Math.round(B.avgDuration)))),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},B.tokens.toLocaleString()))))})(),Q.default.createElement(pl,{agentId:e.id,embedded:!0,selectedSessionId:u?.id??null,onSelectSession:ze})):l?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("div",{className:"p-4 bg-white border-b border-gray-200"},Q.default.createElement("div",{className:"flex items-center space-x-3"},Q.default.createElement(wr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-medium text-gray-900"},e.name," \u2014 Run #",l.id),Q.default.createElement("p",{className:"text-xs text-gray-500"},new Date(l.created_at).toLocaleString())))),Q.default.createElement("div",{ref:j,className:"flex-1 overflow-auto p-6"},Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 shadow-sm p-4"},d.length>0?Q.default.createElement(ba,{messages:d,darkMode:!1}):Q.default.createElement(ba,{darkMode:!1,messages:[{id:`run-${l.id}-input`,role:"user",content:l.input_prompt||l.input_preview,created_at:l.created_at},{id:`run-${l.id}-output`,role:"assistant",content:l.error_message||l.output||l.output_preview||"No response",created_at:l.completed_at||l.created_at}]}))),Q.default.createElement("div",{className:"p-4 bg-white border-t border-gray-200"},Q.default.createElement("div",{className:"flex items-center justify-center space-x-8 text-sm text-gray-500"},Q.default.createElement("span",null,"Duration: ",N(l.duration_ms)),l.total_tokens&&Q.default.createElement("span",null,"Tokens: ",l.total_tokens),l.input_tokens&&l.output_tokens&&Q.default.createElement("span",null,"Input: ",l.input_tokens," / Output: ",l.output_tokens),l.trace_id&&Q.default.createElement("a",{href:Re(`/traces?trace=${l.trace_id}`),className:"font-mono text-xs text-blue-500 hover:underline",title:`${l.trace_id} \u2014 open in Traces`},"trace:",l.trace_id.slice(0,8)," \u2192")))):(()=>{let{cohorts:B,totals:we}=V();return B.length===0?Q.default.createElement("div",{className:"flex-1 flex items-center justify-center"},Q.default.createElement("div",{className:"text-center text-gray-400"},Q.default.createElement(wr,{size:100}),Q.default.createElement("p",{className:"mt-4"},"No runs yet \u2014 run the agent to build its report"))):Q.default.createElement("div",{className:"flex-1 overflow-auto p-6 space-y-5"},Q.default.createElement("div",{className:"flex items-center gap-3"},Q.default.createElement(wr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Agent Report"),Q.default.createElement("p",{className:"text-xs text-gray-500"},"Recent activity for ",e.name," \u2014 select a run for its full interaction"))),Q.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},we.runs)),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},we.runs?Math.round(we.completed/we.runs*100):0,"%")),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},N(Math.round(we.avgDuration)))),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},we.tokens.toLocaleString()))),we.models.length>0&&Q.default.createElement("div",{className:"flex items-center gap-2 flex-wrap text-xs"},Q.default.createElement("span",{className:"text-gray-500"},"Models used:"),we.models.map(ee=>Q.default.createElement("span",{key:ee,className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},ee))),a.length>0&&Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},Q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},Q.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Sessions \u2014 grouped interaction streams")),Q.default.createElement("div",{className:"divide-y divide-gray-100"},a.map(ee=>Q.default.createElement("div",{key:ee.id,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer flex items-center justify-between gap-3",onClick:()=>ze(ee),title:"Open this session's interaction stream"},Q.default.createElement("div",{className:"flex items-center gap-2 min-w-0",title:ee.display_name},Q.default.createElement("span",{className:"px-2 py-0.5 text-xs font-medium bg-blue-100 text-blue-700 rounded flex-shrink-0"},"SESSION"),Q.default.createElement("span",{className:"text-sm text-gray-900 truncate"},ee.agent?.name||ee.agent_name),ee.action_name&&Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-purple-50 text-purple-700 font-mono text-xs flex-shrink-0"},"#",ee.action_name)),Q.default.createElement("div",{className:"flex items-center gap-3 text-xs text-gray-400 flex-shrink-0"},Q.default.createElement("span",null,ee.message_count," messages"),Q.default.createElement("span",null,(ee.tokens?.total||0).toLocaleString()," tokens"),Q.default.createElement("span",null,Z(ee.last_activity_at))))))),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},Q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100 flex items-center justify-between"},Q.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Interactions by instructions \xD7 model"),Q.default.createElement("select",{value:S,onChange:ee=>w(ee.target.value),className:"text-xs border border-gray-200 rounded px-2 py-1 text-gray-600"},Q.default.createElement("option",{value:"recent"},"Most recent"),Q.default.createElement("option",{value:"longest"},"Longest interactions"))),Q.default.createElement("div",{className:"divide-y divide-gray-100"},B.map(ee=>Q.default.createElement("div",{key:ee.key},Q.default.createElement("div",{className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>k(ue=>({...ue,[ee.key]:!ue[ee.key]})),title:"Show this configuration's runs"},Q.default.createElement("div",{className:"flex items-center gap-2 flex-wrap"},Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono text-xs"},ee.model||"unknown model"),Q.default.createElement("span",{className:"text-xs text-gray-400 font-mono",title:ee.instructionsDigest?`sha:${ee.instructionsDigest}`:void 0},"instructions"," ",ee.instructionsDigest?[ee.instructionsVersion,ee.instructionsCodename||ee.instructionsDigest].filter(Boolean).join(" \xB7 "):"n/a")),ee.instructionsPreview&&Q.default.createElement("p",{className:"text-xs text-gray-500 mt-1 truncate"},ee.instructionsPreview),Q.default.createElement("div",{className:"flex items-center gap-3 mt-1.5 text-xs text-gray-400 flex-wrap gap-y-1"},Q.default.createElement("span",null,ee.count," run",ee.count>1?"s":""),Q.default.createElement("span",{className:ee.failed>0?"text-red-500":"text-green-600"},ee.count?Math.round(ee.completed/ee.count*100):0,"% success"),Q.default.createElement("span",null,"avg ",N(Math.round(ee.avgDuration))),Q.default.createElement("span",null,"avg ",Math.round(ee.avgTokens).toLocaleString()," tokens"),Q.default.createElement("span",null,"last ",Z(ee.latest.created_at)))),T[ee.key]&&Q.default.createElement("div",{className:"bg-gray-50 divide-y divide-gray-100 border-t border-gray-100"},ee.sortedRuns.map(ue=>Q.default.createElement("div",{key:ue.id,className:"px-6 py-2 hover:bg-gray-100 cursor-pointer",onClick:()=>q(ue.id),title:"Open this run's interaction"},Q.default.createElement("p",{className:"text-xs text-gray-700 truncate"},ue.input_preview||"No input"),Q.default.createElement("div",{className:"flex items-center gap-3 mt-0.5 text-[11px] text-gray-400"},Q.default.createElement("span",{className:ue.status==="failed"?"text-red-500":""},ue.status),Q.default.createElement("span",null,N(ue.duration_ms)),ue.tokens&&Q.default.createElement("span",null,ue.tokens.toLocaleString()," tokens"),Q.default.createElement("span",null,Z(ue.created_at)))))))))))})()))}var $e=te(re());var jce={productivity:"[+]",development:"<>",research:"[?]",creative:"[*]",data:"[#]",automation:"[>]"};function o5({onUseTemplate:e,onClose:t}){let[r,n]=(0,$e.useState)([]),[o,a]=(0,$e.useState)([]),[i,l]=(0,$e.useState)(""),[s,u]=(0,$e.useState)(null),[c,d]=(0,$e.useState)(!0),[f,p]=(0,$e.useState)(!1),[m,g]=(0,$e.useState)(null);(0,$e.useEffect)(()=>{h()},[i]);let h=async()=>{d(!0);try{let y=new URLSearchParams;i&&y.append("category",i);let x=await(await fetch(`/api/templates?${y}`)).json();n(x.templates),a(x.categories)}catch(y){console.error("Failed to load templates:",y)}finally{d(!1)}},v=async y=>{p(!0),g(null);try{let b=await fetch(`/api/templates/${y.id}/use`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:y.name})});if(b.ok){let x=await b.json();e(x.agent)}else{let x=`Could not create the agent (HTTP ${b.status})`;try{let S=await b.json(),w=S.errors||S.error;w&&(x=Array.isArray(w)?w.join(", "):String(w))}catch{}g(x)}}catch(b){console.error("Failed to create agent from template:",b),g("Could not create the agent \u2014 check your connection and try again.")}finally{p(!1)}};return $e.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},$e.default.createElement("div",{className:"bg-white rounded-2xl w-full max-w-5xl max-h-[90vh] flex flex-col overflow-hidden"},$e.default.createElement("div",{className:"px-6 py-4 border-b border-gray-200 flex items-center justify-between"},$e.default.createElement("div",null,$e.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Template Library"),$e.default.createElement("p",{className:"text-sm text-gray-500"},"Start with a pre-configured agent template")),$e.default.createElement("button",{onClick:t,className:"p-2 text-gray-400 hover:text-gray-600 transition-colors"},$e.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},$e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))),$e.default.createElement("div",{className:"flex-1 flex overflow-hidden"},$e.default.createElement("div",{className:"w-48 border-r border-gray-200 p-4 flex-shrink-0"},$e.default.createElement("h3",{className:"text-xs font-semibold text-gray-400 uppercase mb-3"},"Categories"),$e.default.createElement("div",{className:"space-y-1"},$e.default.createElement("button",{onClick:()=>l(""),className:`w-full text-left px-3 py-2 rounded-lg text-sm transition-colors ${i?"text-gray-600 hover:bg-gray-50":"bg-red-50 text-red-600"}`},"All Templates"),o.map(y=>$e.default.createElement("button",{key:y,onClick:()=>l(y),className:`w-full text-left px-3 py-2 rounded-lg text-sm flex items-center space-x-2 transition-colors ${i===y?"bg-red-50 text-red-600":"text-gray-600 hover:bg-gray-50"}`},$e.default.createElement("span",null,jce[y]||"\u{1F4E6}"),$e.default.createElement("span",{className:"capitalize"},y))))),$e.default.createElement("div",{className:"flex-1 p-6 overflow-auto"},c?$e.default.createElement("div",{className:"flex items-center justify-center h-full"},$e.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):r.length>0?$e.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-3 gap-4"},r.map(y=>$e.default.createElement("div",{key:y.id,onClick:()=>u(y),className:`bg-white rounded-xl border-2 p-4 cursor-pointer transition-all hover:shadow-lg ${s?.id===y.id?"border-red-500 ring-2 ring-red-100":"border-gray-200 hover:border-gray-300"}`},$e.default.createElement("div",{className:"flex items-start space-x-3"},$e.default.createElement("div",{className:"flex-shrink-0"},$e.default.createElement(wr,{size:60})),$e.default.createElement("div",{className:"flex-1 min-w-0"},$e.default.createElement("div",{className:"flex items-center space-x-2"},$e.default.createElement("span",{className:"text-lg"},y.icon),$e.default.createElement("h3",{className:"font-medium text-gray-900 truncate"},y.name)),$e.default.createElement("p",{className:"text-xs text-gray-500 mt-1 line-clamp-2"},y.description),$e.default.createElement("div",{className:"flex items-center space-x-2 mt-2"},$e.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-gray-100 rounded capitalize"},y.category),y.featured&&$e.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-yellow-100 text-yellow-700 rounded"},"Featured"))))))):$e.default.createElement("div",{className:"text-center py-12 text-gray-500"},"No templates found in this category")),s&&$e.default.createElement("div",{className:"w-80 border-l border-gray-200 p-6 flex-shrink-0 bg-gray-50 overflow-auto"},$e.default.createElement("div",{className:"flex justify-center mb-4"},$e.default.createElement(wr,{size:120})),$e.default.createElement("h3",{className:"text-lg font-semibold text-gray-900 text-center"},s.name),$e.default.createElement("p",{className:"text-sm text-gray-500 text-center mt-1"},s.description),$e.default.createElement("div",{className:"mt-6 space-y-4"},$e.default.createElement("div",null,$e.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Provider / Model"),$e.default.createElement("p",{className:"text-sm text-gray-900"},s.provider," / ",s.model)),s.tools?.length>0&&$e.default.createElement("div",null,$e.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Tools"),$e.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},s.tools.map(y=>$e.default.createElement("span",{key:y,className:"text-xs px-2 py-0.5 bg-red-100 text-red-700 rounded"},y)))),$e.default.createElement("div",null,$e.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Usage"),$e.default.createElement("p",{className:"text-sm text-gray-900"},s.usage_count," agents created"))),$e.default.createElement("button",{onClick:()=>v(s),disabled:f,className:"w-full mt-6 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors disabled:opacity-50"},f?"Creating...":"Use This Template"),m&&$e.default.createElement("p",{className:"mt-2 text-sm text-red-600",role:"alert"},m)))))}var Be=te(re());function a5({currentView:e,onNavigate:t,agentCount:r,account:n,user:o,gemVersion:a,assistantEnabled:i=!0}){let{darkMode:l}=Nt(),[s,u]=(0,Be.useState)(!1),c=(0,Be.useRef)(null);(0,Be.useEffect)(()=>{function v(y){c.current&&!c.current.contains(y.target)&&u(!1)}return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[]);let d=n?.name||"My Workspace",f=o?.name||o?.email?.split("@")[0]||"User",p=[...i?[{id:"assistant",label:"Ask ActiveAgents",icon:">"}]:[],{id:"list",label:"Agents",icon:Yt.nav.agents,badge:r},{id:"builder",label:"New Agent",icon:Yt.nav.newAgent},{id:"sandbox",label:"Run Agents",icon:Yt.nav.demo,highlight:!0}],m=[{id:"traces",label:"Traces",icon:Yt.nav.traces},{id:"interactions",label:"Interactions",icon:Yt.nav.interactions},{id:"tools",label:"Tools",icon:Yt.nav.tools},{id:"mcp",label:"MCP Services",icon:Yt.nav.mcp},{id:"metrics",label:"Metrics",icon:Yt.nav.metrics},{id:"evaluations",label:"Evaluations",icon:Yt.nav.evaluations},{id:"replay",label:"Session Replay",icon:Yt.nav.replay}],g=[{id:"organization",label:"Organization",icon:"\u{1F3E2}"},{id:"settings",label:"Settings",icon:"\u2699\uFE0F"}],h=({item:v})=>Be.default.createElement("button",{onClick:()=>t(v.id),className:`w-full flex items-center justify-between py-3 rounded-lg text-left transition-colors ${v.indent?"pl-10 pr-4":"px-4"}`,style:{backgroundColor:e===v.id?l?"rgba(239, 68, 68, 0.15)":"#fef2f2":"transparent",color:e===v.id?"#ef4444":l?"#d1d5db":"#374151"},onMouseEnter:y=>{e!==v.id&&(y.currentTarget.style.backgroundColor=l?"#252525":"#f3f4f6")},onMouseLeave:y=>{e!==v.id&&(y.currentTarget.style.backgroundColor="transparent")}},Be.default.createElement("div",{className:"flex items-center space-x-3"},Be.default.createElement("span",{style:{fontFamily:Ve.mono,fontSize:"12px",width:"20px",textAlign:"center"}},v.icon),Be.default.createElement("span",{className:"font-medium"},v.label)),v.badge!==void 0&&Be.default.createElement("span",{className:"px-2 py-0.5 text-xs rounded-full",style:{backgroundColor:e===v.id?"#fee2e2":l?"#2a2a2a":"#f3f4f6",color:e===v.id?"#ef4444":l?"#d1d5db":"#4b5563"}},v.badge));return Be.default.createElement("aside",{className:"w-64 border-r flex flex-col",style:{backgroundColor:l?"#1a1a1a":"#ffffff",borderColor:l?"#2a2a2a":"#e5e7eb"}},Be.default.createElement("div",{className:"h-16 flex items-center px-4 border-b relative",style:{borderColor:l?"#2a2a2a":"#e5e7eb"},ref:c},Be.default.createElement("button",{onClick:()=>u(!s),className:"w-full flex items-center justify-between px-2 py-2 rounded-lg transition-colors",style:{backgroundColor:s?l?"#252525":"#f3f4f6":"transparent"}},Be.default.createElement("div",{className:"flex items-center space-x-3 min-w-0"},Be.default.createElement(wr,{size:28}),Be.default.createElement("span",{className:`font-semibold truncate ${l?"text-white":"text-gray-900"}`},d)),Be.default.createElement("svg",{className:`w-4 h-4 flex-shrink-0 transition-transform ${s?"rotate-180":""}`,style:{color:l?"#9ca3af":"#6b7280"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),s&&Be.default.createElement("div",{className:"absolute left-4 right-4 top-14 rounded-lg shadow-lg border overflow-hidden z-50",style:{backgroundColor:l?"#1a1a1a":"#ffffff",borderColor:l?"#2a2a2a":"#e5e7eb"}},Be.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},Be.default.createElement("div",{className:"flex items-center space-x-3"},Be.default.createElement(wr,{size:32}),Be.default.createElement("div",{className:"min-w-0"},Be.default.createElement("div",{className:`font-medium truncate ${l?"text-white":"text-gray-900"}`},d)))),Be.default.createElement("div",{className:"py-1"},Be.default.createElement("button",{onClick:()=>{t("settings"),u(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${l?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},Be.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})),Be.default.createElement("span",null,"Settings")),Be.default.createElement("button",{onClick:()=>{t("organization"),u(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${l?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},Be.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"})),Be.default.createElement("span",null,"Organization"))),Be.default.createElement("div",{className:"border-t py-1",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},Be.default.createElement("div",{className:`px-4 py-2 flex items-center space-x-3 ${l?"text-gray-300":"text-gray-700"}`},Be.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"})),Be.default.createElement("span",{className:"text-sm"},f))))),Be.default.createElement("nav",{className:"flex-1 px-4 py-4 space-y-1 overflow-y-auto"},Be.default.createElement("div",{className:"space-y-1"},p.map(v=>Be.default.createElement(h,{key:v.id,item:v}))),Be.default.createElement("div",{className:"pt-4"},Be.default.createElement("div",{className:"px-4 pb-2"},Be.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${l?"text-gray-500":"text-gray-400"}`},"Observability")),Be.default.createElement("div",{className:"space-y-1"},m.map(v=>Be.default.createElement(h,{key:v.id,item:v})))),Be.default.createElement("div",{className:"pt-4"},Be.default.createElement("div",{className:"px-4 pb-2"},Be.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${l?"text-gray-500":"text-gray-400"}`},"Workspace")),Be.default.createElement("div",{className:"space-y-1"},g.map(v=>Be.default.createElement(h,{key:v.id,item:v}))))),Be.default.createElement("div",{className:"px-4 py-4 border-t",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},Be.default.createElement("div",{className:`text-xs font-semibold uppercase mb-3 ${l?"text-gray-500":"text-gray-400"}`},"Resources"),Be.default.createElement("div",{className:"space-y-2"},Be.default.createElement("a",{href:"https://docs.activeagents.ai",target:"_blank",rel:"noopener noreferrer",className:`flex items-center space-x-2 text-sm transition-colors ${l?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},Be.default.createElement("span",{style:{fontFamily:Ve.mono,fontSize:"12px",width:"20px",textAlign:"center"}},Yt.nav.docs),Be.default.createElement("span",null,"Documentation")),Be.default.createElement("a",{href:"https://github.com/activeagents/activeagent",target:"_blank",rel:"noopener noreferrer",className:`flex items-center space-x-2 text-sm transition-colors ${l?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},Be.default.createElement("span",{style:{fontFamily:Ve.mono,fontSize:"12px",width:"20px",textAlign:"center"}},Yt.nav.github),Be.default.createElement("span",null,"GitHub")))),Be.default.createElement("div",{className:"px-6 py-4 border-t",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},Be.default.createElement("div",{className:`text-xs ${l?"text-gray-500":"text-gray-400"}`},"Active Agent ",a?`v${a}`:"")))}var Ct=te(re());function i5({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=Nt(),[o,a]=(0,Ct.useState)(!1),i=(0,Ct.useRef)(null);(0,Ct.useEffect)(()=>{function d(f){i.current&&!i.current.contains(f.target)&&a(!1)}return document.addEventListener("mousedown",d),()=>document.removeEventListener("mousedown",d)},[]);let l=window.ACTIVE_AGENT_DASHBOARD?.meta?.signOutPath,s=()=>{if(!l)return;let d=document.querySelector('meta[name="csrf-token"]')?.content,f=document.createElement("form");f.method="POST",f.action=l;let p=document.createElement("input");p.type="hidden",p.name="_method",p.value="delete",f.appendChild(p);let m=document.createElement("input");m.type="hidden",m.name="authenticity_token",m.value=d,f.appendChild(m),document.body.appendChild(f),f.submit()},u=e?.name||e?.email?.split("@")[0]||"User",c=u.charAt(0).toUpperCase();return Ct.default.createElement("header",{className:"h-16 border-b flex items-center justify-between px-6",style:{backgroundColor:r?"#1a1a1a":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"}},Ct.default.createElement("div",{className:"flex items-center space-x-4"}),Ct.default.createElement("div",{className:"flex items-center space-x-4"},Ct.default.createElement("button",{onClick:n,className:"p-2 rounded-lg transition-colors",style:{backgroundColor:r?"#252525":"#f3f4f6",color:r?"#fbbf24":"#4b5563"},title:r?"Switch to light mode":"Switch to dark mode"},r?Ct.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},Ct.default.createElement("path",{fillRule:"evenodd",d:"M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z",clipRule:"evenodd"})):Ct.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},Ct.default.createElement("path",{d:"M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"}))),Ct.default.createElement("div",{className:`flex items-center space-x-2 text-sm ${r?"text-gray-400":"text-gray-500"}`},Ct.default.createElement("span",{className:"w-2 h-2 bg-green-400 rounded-full"}),Ct.default.createElement("span",null,"Connected")),Ct.default.createElement("div",{className:"relative",ref:i},Ct.default.createElement("button",{onClick:()=>a(!o),className:"flex items-center space-x-2 p-1 rounded-lg transition-colors",style:{backgroundColor:o?r?"#252525":"#f3f4f6":"transparent"}},Ct.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},Ct.default.createElement("span",{className:"text-red-600 font-medium text-sm"},c))),o&&Ct.default.createElement("div",{className:"absolute right-0 mt-2 w-64 rounded-lg shadow-lg border overflow-hidden z-50",style:{backgroundColor:r?"#1a1a1a":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"}},Ct.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},Ct.default.createElement("div",{className:"flex items-center space-x-3"},Ct.default.createElement("div",{className:"w-10 h-10 bg-red-100 rounded-full flex items-center justify-center"},Ct.default.createElement("span",{className:"text-red-600 font-medium"},c)),Ct.default.createElement("div",null,Ct.default.createElement("div",{className:`font-medium ${r?"text-white":"text-gray-900"}`},u),Ct.default.createElement("div",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},e?.email)))),l&&Ct.default.createElement("div",{className:"py-1"},Ct.default.createElement("button",{onClick:s,className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${r?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},Ct.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ct.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})),Ct.default.createElement("span",null,"Sign out")))))))}var Ce=te(re());var We=te(re());var l5=150,zce=e=>e.reduce((t,r)=>t+(Number(r)||0),0),Lce=e=>e.length?zce(e)/e.length:0,Ua=e=>e.reduce((t,r)=>r!=null&&Number(r)>t?Number(r):t,0),s5=e=>{if(!(e>0))return 1;let t=Math.pow(10,Math.floor(Math.log10(e))),r=e/t;return(r<=1?1:r<=2?2:r<=2.5?2.5:r<=5?5:10)*t},xc=(e,t)=>[0,25,50,75,100].map(r=>({top:r,label:t(e*(1-r/100))})),Bce=4,cp=e=>Math.max(Bce,s5(e)),jF=(e,t=2,r=6)=>{let n=e/4;for(let o=t;oMath.abs(n*i-Number((n*i).toFixed(o)))<=n*.1))return o;return r},$ce=5.5,Fce=12,Uce=(e,t)=>{let r=!!e.flip;if(!(t>0))return r;let n=String(e.label||"").length*$ce+Fce,o=Number(e.left)/100*t,a=t-o;return r?!(oo):aa},Wce=typeof window>"u"?We.useEffect:We.useLayoutEffect,Hce=e=>{let[t,r]=(0,We.useState)(0);return Wce(()=>{let n=e.current;if(!n)return;let o=()=>r(n.clientWidth);if(o(),typeof ResizeObserver>"u")return window.addEventListener("resize",o),()=>window.removeEventListener("resize",o);let a=new ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},bc=(e,t)=>{let r=e.length,n=[];return e.forEach((o,a)=>{if(o==null||Number.isNaN(Number(o)))return;let i=r>1?a/(r-1)*100:50,l=100-Math.min(100,Math.max(0,Number(o)/t*100));n.push(`${i.toFixed(2)},${l.toFixed(2)}`)}),n.join(" ")},Tw=(e,t)=>{let r=bc(e,t);return r?`0,100 ${r} 100,100`:""},zF=(e,t=24)=>{let r=e.length;if(!r)return"";let n=r/t,o=Array.from({length:t},(l,s)=>{let u=Math.floor(s*n),c=Math.max(u+1,Math.floor((s+1)*n));return Lce(e.slice(u,c).filter(d=>d!=null))}),a=Math.max(...o),i=Math.min(...o);return o.map((l,s)=>`${(s/(t-1)*100).toFixed(1)},${(26-(a===i?.5:(l-i)/(a-i))*24).toFixed(1)}`).join(" ")},_g=(e,t,r)=>{let n=e.length?e[0].data.length:0;return Array.from({length:n},(o,a)=>({title:r(a),segs:e.map(i=>({h:(Number(i.data[a])||0)/t*100,color:i.color}))}))};function LF({label:e,value:t,unit:r,sub:n,delta:o,deltaColor:a,deltaSub:i,spark:l,sparkColor:s}){return We.default.createElement(ht,{padding:"14px 16px 12px",style:{display:"flex",flexDirection:"column",gap:6,minWidth:0}},We.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8}},We.default.createElement(et,{size:11,spacing:"0.05em"},e),We.default.createElement("span",{style:{marginLeft:"auto",fontFamily:fe,fontSize:11,fontWeight:600,color:a,whiteSpace:"nowrap"}},o)),We.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6}},We.default.createElement("span",{style:{fontFamily:fe,fontSize:26,fontWeight:700,lineHeight:1.1,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},t),r?We.default.createElement("span",{style:{fontFamily:fe,fontSize:12,color:"var(--color-text-muted)"}},r):null),We.default.createElement("div",{title:n,style:{fontFamily:fe,fontSize:11,color:"var(--color-text-secondary)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},n),We.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:8,marginTop:2}},We.default.createElement("svg",{viewBox:"0 0 100 28",preserveAspectRatio:"none","aria-hidden":"true",style:{flex:1,height:28,minWidth:0,display:"block",overflow:"visible"}},We.default.createElement("polyline",{points:l,fill:"none",stroke:s,strokeWidth:"1.5",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"})),We.default.createElement("span",{style:{fontSize:10,color:"var(--color-text-muted)",whiteSpace:"nowrap"}},i)))}function BF({title:e,sub:t,value:r,valueColor:n="var(--color-text-primary)",legend:o=[],ticks:a=[],buckets:i=[],lines:l=[],areas:s=[],markers:u=[],xLabels:c=[],height:d=l5}){let f=(0,We.useRef)(null),p=Hce(f),m="1px dashed var(--color-text-secondary)";return We.default.createElement(ht,{padding:"14px 16px 12px",style:{minWidth:0,display:"flex",flexDirection:"column",gap:8}},We.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,flexWrap:"wrap"}},We.default.createElement("span",{style:{fontSize:13,fontWeight:600,color:"var(--color-text-primary)"}},e),We.default.createElement("span",{style:{fontFamily:fe,fontSize:10,color:"var(--color-text-muted)"}},t),We.default.createElement("span",{style:{marginLeft:"auto",fontFamily:fe,fontSize:12,fontWeight:600,color:n,whiteSpace:"nowrap"}},r)),We.default.createElement("div",{style:{display:"flex",gap:12,flexWrap:"wrap"}},o.map(g=>We.default.createElement("span",{key:g.label,style:{display:"inline-flex",alignItems:"center",gap:5,fontFamily:fe,fontSize:10,color:"var(--color-text-secondary)"}},We.default.createElement("span",{style:{width:8,height:8,borderRadius:2,background:g.color,flexShrink:0}}),g.label))),We.default.createElement("div",{ref:f,style:{position:"relative",height:d,margin:"6px 0 0 40px"}},a.map(g=>We.default.createElement("div",{key:g.top,style:{position:"absolute",left:0,right:0,top:`${g.top}%`,borderTop:"1px solid var(--color-border-light)"}},We.default.createElement("span",{style:{position:"absolute",right:"calc(100% + 6px)",top:-6,whiteSpace:"nowrap",fontFamily:fe,fontSize:10,lineHeight:"12px",color:"var(--color-text-muted)"}},g.label))),i.length>0&&We.default.createElement("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"stretch",gap:1}},i.map((g,h)=>We.default.createElement("div",{key:h,title:g.title,style:{flex:1,minWidth:0,display:"flex",flexDirection:"column-reverse"}},g.segs.map((v,y)=>We.default.createElement("div",{key:y,style:{height:`${v.h.toFixed(2)}%`,background:v.color,flexShrink:0}}))))),(l.length>0||s.length>0)&&We.default.createElement("svg",{viewBox:"0 0 100 100",preserveAspectRatio:"none","aria-hidden":"true",style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"}},s.map((g,h)=>We.default.createElement("polygon",{key:h,points:g.points,fill:g.color,opacity:"0.16"})),l.map((g,h)=>We.default.createElement("polyline",{key:h,points:g.points,fill:"none",stroke:g.color,strokeWidth:g.width||1.5,strokeLinejoin:"round",strokeLinecap:"round",vectorEffect:"non-scaling-stroke"}))),u.map((g,h)=>{let v=Uce(g,p),y=`${Number(g.left).toFixed(2)}%`;return We.default.createElement("div",{key:h,style:{position:"absolute",top:0,bottom:0,pointerEvents:"none",...v?{left:0,width:y,borderRight:m}:{left:y,right:0,borderLeft:m}}},We.default.createElement("span",{style:{position:"absolute",top:-4,[v?"right":"left"]:4,maxWidth:"calc(100% - 8px)",boxSizing:"border-box",overflow:"hidden",textOverflow:"ellipsis",fontFamily:fe,fontSize:9,lineHeight:"12px",color:"var(--color-text-secondary)",whiteSpace:"nowrap",background:"var(--color-card)",padding:"0 4px",borderRadius:3}},g.label))})),We.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginLeft:40,fontFamily:fe,fontSize:10,color:"var(--color-text-muted)"}},c.map((g,h)=>We.default.createElement("span",{key:h},g))))}function dp({label:e,qualifier:t,meta:r,children:n}){return We.default.createElement(ht,{padding:0,style:{overflow:"hidden"}},We.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,padding:"10px 14px",borderBottom:"1px solid var(--color-border-light)"}},We.default.createElement(et,null,e),t?We.default.createElement("span",{style:{fontFamily:fe,fontSize:11,color:"var(--color-text-muted)"}},t):null,r?We.default.createElement("span",{style:{marginLeft:"auto",fontFamily:fe,fontSize:11,color:"var(--color-text-muted)"}},r):null),n)}function u5({template:e,columns:t}){return We.default.createElement("div",{style:{display:"grid",gridTemplateColumns:e,gap:8,padding:"6px 14px 4px",fontFamily:fe,fontSize:10,textTransform:"uppercase",letterSpacing:"0.05em",color:"var(--color-text-muted)"}},We.default.createElement("span",null),t.map(r=>We.default.createElement("span",{key:r,style:{textAlign:"right"}},r)))}function Mw({template:e,active:t=!1,onClick:r,title:n,padding:o="8px 14px",children:a}){let i=typeof r=="function";return We.default.createElement("div",{role:i?"button":void 0,tabIndex:i?0:void 0,"aria-pressed":i?t:void 0,onClick:r,onKeyDown:i?s=>{(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),r(s))}:void 0,title:n,className:i?"hover:bg-[var(--color-hover)]":void 0,style:{display:"grid",gridTemplateColumns:e,gap:8,alignItems:"center",padding:o,borderTop:"1px solid var(--color-border-light)",cursor:i?"pointer":"default",background:t?"var(--color-muted)":void 0}},a)}function c5({children:e,padding:t="8px 14px"}){return We.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:t,borderTop:"1px solid var(--color-border-light)"}},e)}function Eg({children:e}){return We.default.createElement("div",{style:{padding:"12px 14px",fontFamily:fe,fontSize:11,color:"var(--color-text-muted)"}},e)}function d5({color:e}){return We.default.createElement("span",{style:{width:8,height:8,borderRadius:2,background:e,flexShrink:0}})}function f5({pct:e,color:t}){return We.default.createElement("div",{style:{marginTop:5,height:3,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},We.default.createElement("div",{style:{width:`${Math.max(0,Math.min(100,Number(e)||0))}%`,height:"100%",background:t}}))}function p5({pct:e,color:t,width:r=70}){return We.default.createElement("span",{style:{width:r,height:4,borderRadius:999,background:"var(--color-muted)",overflow:"hidden",flexShrink:0,display:"inline-block"}},We.default.createElement("span",{style:{display:"block",width:`${Math.max(0,Math.min(100,Number(e)||0))}%`,height:"100%",background:t}}))}function Sa({children:e,color:t="var(--color-text-primary)",weight:r=400,width:n,style:o}){return We.default.createElement("span",{style:{fontFamily:fe,fontSize:11,fontWeight:r,textAlign:"right",color:t,width:n,...o}},e)}var WF=6e4,Vce=1180,pp={"1h":{n:60,seconds:60,bucket:"1 min",prev:"vs previous hour",title:"last hour"},"24h":{n:96,seconds:900,bucket:"15 min",prev:"vs previous 24h",title:"last 24 hours"},"7d":{n:84,seconds:7200,bucket:"2 h",prev:"vs previous 7 days",title:"last 7 days"}},Kce=Object.keys(pp).map(e=>({value:e,label:e})),v5="24h",fp=["var(--chart-1)","var(--chart-2)","var(--chart-3)","var(--chart-5)","var(--chart-4)"],Og=[{type:"429 rate limit",short:"429",color:"var(--color-error)"},{type:"timeout",short:"timeout",color:"var(--color-warning)"},{type:"tool error",short:"tool error",color:"var(--span-tool)"},{type:"provider 5xx",short:"5xx",color:"var(--color-token-out)"},{type:"other",short:"error",color:"var(--color-text-muted)"}],$F=e=>Og.find(t=>t.type===e)?.color||"var(--color-text-muted)",qce=3,Dw="var(--color-text-primary)",Gce={success:"var(--color-success)",error:"var(--color-error)",muted:"var(--color-text-muted)"},Yce=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],m5=e=>String(e).padStart(2,"0"),tt=e=>e==null||Number.isNaN(Number(e))?0:Number(e),Xce=e=>e.reduce((t,r)=>t+tt(r),0),FF=e=>`${tt(e).toFixed(1)}%`,Pw=(e,t)=>`${e} ${t}${e===1?"":"s"}`,Zce=e=>e>=1e3?`${(e/1e3).toFixed(1)}s`:`${Math.round(e)}ms`,Qce=(e,t)=>{let r=Array.isArray(e)?[...e]:[];return t.forEach(n=>{n.name&&!r.some(o=>o.name===n.name)&&r.push(n)}),r},Jce=e=>{let t=String(e.label||"incident"),r=Og.find(n=>t.startsWith(n.type));return r&&(t=`${r.short}${t.slice(r.type.length)}`),e.agent&&!t.includes(e.agent)?`${t} \xB7 ${e.agent}`:t},Rce=e=>{let t=tt(e);return t<60?`${t}s`:t<3600?`${+(t/60).toFixed(1)} min`:`${+(t/3600).toFixed(1)} h`},UF=async e=>{let t=await fetch(`/api/metrics?${e.toString()}`);if(!t.ok)throw new Error(`Request failed (${t.status})`);return t.json()},ede=(e,t,r=Date.now())=>{let n=Math.max(1,tt(t))*1e3,o=Math.max(1,Math.round(tt(e)*6e4/n)),a=Math.floor(r/n)*n;return Array.from({length:o},(i,l)=>({ts:new Date(a-(o-1-l)*n).toISOString()}))},tde=(e,t)=>{let r=e.summary||{},n=pp[e.range]||pp[t]||pp[v5],o=tt(e.bucket_seconds)||n.seconds,a=tt(e.window_minutes)||(e.window_hours?tt(e.window_hours)*60:n.n*n.seconds/60),i=Array.isArray(e.series)?e.series:ede(a,o),l=tt(e.totals?.requests??r.total_requests),s=tt(e.totals?.cost??r.total_cost),u={requests:l,requests_per_minute:a?l/a:0,p50_ms:null,p95_ms:null,p99_ms:null,errors:tt(r.errors),error_rate:tt(r.error_rate),tokens_in:tt(r.tokens_input),tokens_out:tt(r.tokens_output),tokens:tt(r.tokens_used),cost:s,cost_per_request:l?s/l:0,tool_calls:0,tool_errors:0,tool_error_rate:0,...e.totals||{}},c={requests_pct:r.requests_change??null,p50_pct:r.latency_change??null,error_rate_pt:null,tokens_pct:null,cost_pct:null,...e.deltas||{}},d=Array.isArray(e.agents)?e.agents:(e.by_agent||[]).map(p=>({name:p.name,requests:tt(p.requests),share_pct:l?tt(p.requests)/l*100:0,p95_ms:null,error_rate:p.requests?tt(p.errors)/tt(p.requests)*100:0,cost:tt(p.cost),tokens:tt(p.tokens)})),f=Array.isArray(e.errors_by_type)&&e.errors_by_type.length?e.errors_by_type:Og.map(p=>({type:p.type,count:0}));return{range:e.range||t,bucketSeconds:o,windowMinutes:a,agent:e.agent||null,environment:e.environment||null,totals:u,deltas:c,series:i,agents:d,models:Array.isArray(e.models)?e.models:[],actions:Array.isArray(e.actions)?e.actions:[],tools:Array.isArray(e.tools)?e.tools:[],errorsByType:f,markers:Array.isArray(e.markers)?e.markers:[]}},HF=e=>{let t=pp[e.range];if(t)return t;let r=Math.max(1,Math.round(e.windowMinutes/60));return{bucket:Rce(e.bucketSeconds),prev:`vs previous ${r}h`,title:`last ${r} hours`}},rde=e=>{let[t,r]=(0,Ce.useState)(()=>typeof window<"u"&&window.innerWidth{let n=window.matchMedia(`(max-width: ${e-1}px)`),o=()=>r(n.matches);return o(),n.addEventListener("change",o),()=>n.removeEventListener("change",o)},[e]),t};function g5(){let[e,t]=(0,Ce.useState)(v5),[r,n]=(0,Ce.useState)(""),[o,a]=(0,Ce.useState)(null),[i,l]=(0,Ce.useState)(!0),[s,u]=(0,Ce.useState)(null),[c,d]=(0,Ce.useState)(!1),f=(0,Ce.useRef)(0),p=rde(Vce),m=(0,Ce.useRef)(null),g=(0,Ce.useCallback)(async()=>{let S=++f.current;try{let w=new URLSearchParams({range:e});r&&w.set("agent",r);let[T,k]=await Promise.all([UF(w),r?UF(new URLSearchParams({range:e})).catch(()=>null):null]);if(S!==f.current)return;let A=r?k?.agents:T.agents;Array.isArray(A)&&(m.current=A),a({data:T,ranking:Array.isArray(A)?A:m.current}),u(null)}catch(w){if(S!==f.current)return;u(w.message)}finally{S===f.current&&l(!1)}},[e,r]);(0,Ce.useEffect)(()=>{let S=!1;d(!0),g().finally(()=>{S||d(!1)});let w=setInterval(g,WF);return()=>{S=!0,clearInterval(w)}},[g]);let h=(0,Ce.useMemo)(()=>o?tde(o.data,e):null,[o,e]),v=(0,Ce.useMemo)(()=>h?h.agent?Qce(o.ranking,h.agents):h.agents:[],[h,o]),y=(0,Ce.useMemo)(()=>v.map(S=>S.name).filter(Boolean),[v]),b=(0,Ce.useMemo)(()=>{let S=Object.fromEntries(y.map((T,k)=>[T,fp[k%fp.length]])),w=y.length;return(h?h.agents:[]).forEach(T=>{T.name&&!S[T.name]&&(S[T.name]=fp[w++%fp.length])}),T=>S[T]||fp[0]},[y,h]),x=(0,Ce.useMemo)(()=>h?ode(h,b):null,[h,b]);return i?Ce.default.createElement("div",{className:"flex items-center justify-center h-64"},Ce.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2",style:{borderBottomColor:"var(--color-accent-ui)"}})):s||!h?Ce.default.createElement("div",null,Ce.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:Dw}},"Metrics"),Ce.default.createElement("div",{style:{marginTop:16,padding:"12px 16px",background:"var(--color-error-soft)",borderRadius:8,color:"var(--color-error-text)",fontSize:14}},"Failed to load metrics",s?`: ${s}`:"")):Ce.default.createElement(nde,{m:h,view:x,railAgents:v,range:pp[e]?e:v5,agent:r,agentOptions:r&&!y.includes(r)?[...y,r]:y,colorFor:b,narrow:p,pending:c,onRange:t,onAgent:n})}function nde({m:e,view:t,railAgents:r=e.agents,range:n,agent:o,agentOptions:a,colorFor:i,narrow:l,pending:s=!1,onRange:u,onAgent:c}){let d=HF(e),f=e.totals.requests===0,p=m=>c(o===m?"":m);return Ce.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16,width:"100%",maxWidth:1600,boxSizing:"border-box",color:Dw,fontSize:13}},Ce.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:16,flexWrap:"wrap"}},Ce.default.createElement("div",{style:{flex:1,minWidth:240}},Ce.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em"}},"Metrics"),Ce.default.createElement("p",{style:{margin:"4px 0 0",fontSize:14,color:"var(--color-text-secondary)"}},"Requests, latency, errors, tokens and cost across every agent \u2014 ",d.title,o?` \xB7 ${o}`:"")),Ce.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},Ce.default.createElement("select",{value:o,onChange:m=>c(m.target.value),"aria-label":"Filter by agent",style:{padding:"6px 10px",borderRadius:8,fontSize:13,fontFamily:"inherit",border:"1px solid var(--color-border-strong)",background:"var(--color-card)",color:Dw,cursor:"pointer"}},Ce.default.createElement("option",{value:""},"All agents"),a.map(m=>Ce.default.createElement("option",{key:m,value:m},m))),e.environment&&Ce.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 10px",borderRadius:8,border:"1px solid var(--color-border)",fontFamily:fe,fontSize:11,color:"var(--color-text-cell)",background:"var(--color-card)"}},Ce.default.createElement("span",{style:{color:"var(--color-text-muted)"}},"env"),e.environment),Ce.default.createElement(cw,{options:Kce,value:n,onChange:u}),Ce.default.createElement("span",{title:s?"loading\u2026":`refreshes every ${WF/1e3}s`,style:{display:"inline-flex",alignItems:"center",gap:6,fontFamily:fe,fontSize:11,color:"var(--color-text-muted)"}},Ce.default.createElement("span",{style:{width:7,height:7,borderRadius:"50%",background:s?"var(--color-text-muted)":"var(--color-success)"}}),"live \xB7 ",d.bucket," buckets"))),f?Ce.default.createElement(ht,{style:{padding:"40px 24px",textAlign:"center",fontSize:14,color:"var(--color-text-secondary)"}},"No traffic yet \u2014 run an agent, or point your app's ActiveAgent telemetry at this workspace",Ce.default.createElement("div",{style:{marginTop:8,fontFamily:fe,fontSize:11,color:"var(--color-text-muted)"}},o||"all agents"," \xB7 ",d.title)):Ce.default.createElement(Ce.default.Fragment,null,Ce.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:12,opacity:s?.6:1}},t.signals.map(m=>Ce.default.createElement(LF,{key:m.label,...m,deltaSub:d.prev}))),Ce.default.createElement("div",{style:{display:"grid",gridTemplateColumns:l?"minmax(0, 1fr)":"minmax(0, 2.3fr) minmax(300px, 1fr)",gap:16,alignItems:"start",opacity:s?.6:1}},Ce.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:16,minWidth:0}},t.panels.map(m=>Ce.default.createElement(BF,{key:m.title,...m,xLabels:t.xLabels,height:l5}))),Ce.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16,minWidth:0}},Ce.default.createElement(dp,{label:"Agents",qualifier:"by requests \xB7 click to filter"},Ce.default.createElement(u5,{template:"minmax(0, 1fr) 44px 44px 40px 52px",columns:["req","p95","err","cost"]}),r.length===0&&Ce.default.createElement(Eg,null,"no agents in this window"),r.map(m=>Ce.default.createElement(Mw,{key:m.name,template:"minmax(0, 1fr) 44px 44px 40px 52px",active:o===m.name,onClick:()=>p(m.name),title:o===m.name?"Show all agents":`Filter to ${m.name}`},Ce.default.createElement("div",{style:{minWidth:0}},Ce.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6,minWidth:0}},Ce.default.createElement(d5,{color:i(m.name)}),Ce.default.createElement("span",{style:{fontSize:12,fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.name)),Ce.default.createElement(f5,{pct:m.share_pct,color:i(m.name)})),Ce.default.createElement(Sa,null,Ir(m.requests)),Ce.default.createElement(Sa,{color:"var(--color-text-secondary)"},kn(m.p95_ms)),Ce.default.createElement(Sa,{color:tt(m.error_rate)>=1.5?"var(--color-error-text)":"var(--color-text-secondary)"},FF(m.error_rate)),Ce.default.createElement(Sa,null,mg(m.cost))))),Ce.default.createElement(dp,{label:"Models",qualifier:"by tokens"},e.models.length===0&&Ce.default.createElement(Eg,null,"no model usage in this window"),e.models.map((m,g)=>Ce.default.createElement(Mw,{key:`${m.model}-${m.provider}-${g}`,template:"minmax(0, 1fr) 52px 56px"},Ce.default.createElement("div",{style:{minWidth:0}},Ce.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6,minWidth:0}},Ce.default.createElement("span",{style:{fontFamily:fe,fontSize:11,fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.model||"unknown"),m.provider&&Ce.default.createElement("span",{style:{fontFamily:fe,fontSize:10,color:"var(--color-text-muted)"}},m.provider)),Ce.default.createElement(f5,{pct:m.share_pct,color:"var(--color-token-in)"})),Ce.default.createElement(Sa,null,Ir(m.tokens)),Ce.default.createElement(Sa,{color:"var(--color-text-secondary)"},mg(m.cost))))),Ce.default.createElement(dp,{label:"Slowest actions",qualifier:"p95"},e.actions.length===0&&Ce.default.createElement(Eg,null,"no actions in this window"),e.actions.map(m=>Ce.default.createElement(c5,{key:m.name},Ce.default.createElement("span",{title:m.name,style:{flex:1,minWidth:0,fontFamily:fe,fontSize:11,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.name),Ce.default.createElement(p5,{pct:t.slowestP95?tt(m.p95_ms)/t.slowestP95*100:0,color:i(m.agent)}),Ce.default.createElement(Sa,{weight:600,width:40},kn(m.p95_ms))))),Ce.default.createElement(dp,{label:"Tools",qualifier:"by calls"},Ce.default.createElement(u5,{template:"minmax(0, 1fr) 44px 48px 40px",columns:["calls","avg","err"]}),e.tools.length===0&&Ce.default.createElement(Eg,null,"no tool calls in this window"),e.tools.map(m=>Ce.default.createElement(Mw,{key:m.name,template:"minmax(0, 1fr) 44px 48px 40px",padding:"7px 14px"},Ce.default.createElement("span",{title:m.name,style:{fontFamily:fe,fontSize:11,fontWeight:600,color:"var(--span-tool)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.name),Ce.default.createElement(Sa,null,Ir(m.calls)),Ce.default.createElement(Sa,{color:"var(--color-text-secondary)"},kn(m.avg_ms)),Ce.default.createElement(Sa,{color:tt(m.error_rate)>=2?"var(--color-error-text)":"var(--color-text-secondary)"},FF(m.error_rate))))),Ce.default.createElement(dp,{label:"Errors by type",meta:`${Math.round(e.totals.errors)} total`},e.errorsByType.map(m=>Ce.default.createElement(c5,{key:m.type},Ce.default.createElement(d5,{color:$F(m.type)}),Ce.default.createElement("span",{style:{flex:1,minWidth:0,fontSize:12,color:"var(--color-text-cell)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.type),Ce.default.createElement(p5,{pct:t.errorTotal?tt(m.count)/t.errorTotal*100:0,color:$F(m.type)}),Ce.default.createElement(Sa,{weight:600,width:32},Math.round(tt(m.count))))))))))}function ode(e,t){let{series:r,totals:n,deltas:o}=e,a=r.length,i=HF(e),l=r.map(ee=>new Date(ee.ts)),s=e.windowMinutes>=2880,u=ee=>Number.isNaN(ee.getTime())?"":s?`${Yce[ee.getDay()]} ${m5(ee.getHours())}h`:`${m5(ee.getHours())}:${m5(ee.getMinutes())}`,c=a?[0,1,2,3,4,5,6].map(ee=>ee===6?"now":u(l[Math.round(ee*(a-1)/6)])):[],d=ee=>r.map(ue=>tt(ue[ee])),f=d("requests"),p=d("errors"),m=d("tokens_in"),g=d("tokens_out"),h=d("cost"),v=d("tool_calls"),y=d("tool_errors"),b=ee=>r.map(ue=>ue[ee]==null?null:tt(ue[ee])),x=b("p50_ms"),S=b("p95_ms"),w=b("p99_ms"),T=r.map(ee=>ee.requests_by_agent||{}),k=e.agents.map(ee=>ee.name).filter(Boolean);T.forEach(ee=>Object.keys(ee).forEach(ue=>{k.includes(ue)||k.push(ue)}));let A=k.length?k.map(ee=>({label:ee,color:t(ee),data:T.map(ue=>tt(ue[ee]))})):[{label:"requests",color:fp[0],data:f}],M=Og.map(ee=>({label:ee.type,color:ee.color,data:r.map(ue=>tt((ue.errors_by_type||{})[ee.type]))})),H=(tt(e.bucketSeconds)||(a>1?(l[1]-l[0])/1e3:0))*1e3,F=(ee,ue)=>{if(!ee||a<2||!H)return null;let W=new Date(ee.ts).getTime();if(Number.isNaN(W))return null;let De=Math.min(a-1,Math.max(0,Math.floor((W-l[0].getTime())/H)))/(a-1);return{left:De*100,label:ue,flip:De>.55}},X=e.markers.filter(ee=>ee.kind==="deploy").sort((ee,ue)=>new Date(ee.ts)-new Date(ue.ts)).slice(-qce).map(ee=>F(ee,ee.label)).filter(Boolean),P=e.markers.find(ee=>ee.kind==="incident"),Y=P?F(P,Jce(P)):null,C=Y?[Y]:[],_=cp(Ua(f)*1.1),z=cp(Ua(p)*1.15),D=cp(Math.max(Ua(w),Ua(S),Ua(x))*1.05),E=cp(Math.max(Ua(m),Ua(g))*1.1),j=s5(Ua(h)*1.1),R=jF(j),U=cp(Ua(v)*1.1),L=tt(n.requests),q=tt(n.requests_per_minute),ae=tt(n.errors),ce=tt(n.error_rate),ze=tt(n.tokens)||tt(n.tokens_in)+tt(n.tokens_out),oe=tt(n.cost),Ee=n.cost_per_request!=null?tt(n.cost_per_request):L?oe/L:0,V=tt(n.tool_calls),I=n.tool_error_rate!=null?tt(n.tool_error_rate):V?tt(n.tool_errors)/V*100:0,N=tt(e.errorsByType.find(ee=>ee.type===Og[0].type)?.count),O=[{title:"Requests",sub:`per ${i.bucket} \xB7 stacked by agent`,value:`${Ir(L)} \xB7 ${q.toFixed(1)}/min`,legend:A.map(ee=>({label:ee.label,color:ee.color})),ticks:xc(_,Ir),buckets:_g(A,_,ee=>`${u(l[ee])} \xB7 ${Math.round(f[ee])} req`),markers:X},{title:"Latency",sub:"generation percentiles",value:`p50 ${kn(n.p50_ms)}`,legend:[{label:`p50 ${kn(n.p50_ms)}`,color:"var(--color-token-in)"},{label:`p95 ${kn(n.p95_ms)}`,color:"var(--color-warning)"},{label:`p99 ${kn(n.p99_ms)}`,color:"var(--color-error)"}],ticks:xc(D,Zce),lines:[{points:bc(w,D),color:"var(--color-error)",width:1.5},{points:bc(S,D),color:"var(--color-warning)",width:1.5},{points:bc(x,D),color:"var(--color-token-in)",width:2}],areas:[{points:Tw(x,D),color:"var(--color-token-in)"}],markers:C},{title:"Errors",sub:`per ${i.bucket} \xB7 by type`,value:`${ce.toFixed(2)}% \xB7 ${Pw(Math.round(ae),"error")}`,valueColor:ce>1?"var(--color-error)":Dw,legend:M.map(ee=>({label:ee.label,color:ee.color})),ticks:xc(z,ee=>String(Math.round(ee))),buckets:_g(M,z,ee=>`${u(l[ee])} \xB7 ${Pw(Math.round(p[ee]),"error")}`),markers:C},{title:"Tokens",sub:`per ${i.bucket} \xB7 input / output`,value:`${Ir(ze)} \xB7 in ${Ir(n.tokens_in)} / out ${Ir(n.tokens_out)}`,legend:[{label:"input",color:"var(--color-token-in)"},{label:"output",color:"var(--color-token-out)"}],ticks:xc(E,Ir),lines:[{points:bc(m,E),color:"var(--color-token-in)",width:1.5},{points:bc(g,E),color:"var(--color-token-out)",width:1.5}],areas:[{points:Tw(m,E),color:"var(--color-token-in)"},{points:Tw(g,E),color:"var(--color-token-out)"}]},{title:"Cost",sub:`estimated \xB7 per ${i.bucket}`,value:`${mg(oe)} \xB7 ${jr(Ee)}/req`,legend:[{label:"spend",color:"var(--color-text-secondary)"}],ticks:xc(j,ee=>jr(ee,R)),buckets:_g([{color:"var(--color-text-secondary)",data:h}],j,ee=>`${u(l[ee])} \xB7 ${jr(h[ee],R)}`)},{title:"Tool calls",sub:`per ${i.bucket} \xB7 MCP + agent-defined`,value:`${Ir(V)} \xB7 ${I.toFixed(1)}% errors`,legend:[{label:"calls",color:"var(--span-tool)"},{label:"errors",color:"var(--color-error)"}],ticks:xc(U,Ir),buckets:_g([{color:"var(--span-tool)",data:v.map((ee,ue)=>Math.max(0,ee-y[ue]))},{color:"var(--color-error)",data:y}],U,ee=>`${u(l[ee])} \xB7 ${Pw(Math.round(v[ee]),"call")}`)}],Z=(ee,ue,W)=>{let xe=ee==null?null:tt(ee);return xe==null||xe===0?"muted":ue&&ue(xe)?"success":W&&W(xe)?"error":"muted"},B=(ee,ue,W,xe,De,Ge,it,zn)=>({label:ee,value:ue,unit:W,sub:xe,delta:De,deltaColor:Gce[Ge],spark:zF(it),sparkColor:zn});return{signals:[B("Requests",Ir(L),"",`${q.toFixed(1)} req/min`,op(o.requests_pct),Z(o.requests_pct,ee=>ee>0,null),f,"var(--color-token-in)"),B("Latency",kn(n.p50_ms),"p50",`p95 ${kn(n.p95_ms)} \xB7 p99 ${kn(n.p99_ms)}`,op(o.p50_pct),Z(o.p50_pct,ee=>ee<0,ee=>ee>0),x,"var(--color-token-in)"),B("Error rate",ce.toFixed(2),"%",`${Pw(Math.round(ae),"error")} \xB7 ${Math.round(N)} rate-limited`,op(o.error_rate_pt," pt",1),Z(o.error_rate_pt,ee=>ee<0,ee=>ee>0),p,"var(--color-error)"),B("Tokens",Ir(ze),"",`in ${Ir(n.tokens_in)} \xB7 out ${Ir(n.tokens_out)}`,op(o.tokens_pct),"muted",m.map((ee,ue)=>ee+g[ue]),"var(--color-token-in)"),B("Cost",mg(oe),"",`${jr(Ee)} per request`,op(o.cost_pct),"muted",h,"var(--color-text-secondary)")],panels:O,xLabels:c,slowestP95:Ua(e.actions.map(ee=>ee.p95_ms)),errorTotal:Xce(e.errorsByType.map(ee=>ee.count))}}var Ne=te(re());var ade=6e4,ide=[{value:24,label:"24h"},{value:168,label:"7d"},{value:720,label:"30d"}],VF={mcp:{light:"#7c3aed",dark:"#c4b5fd",bgLight:"#f5f3ff",bgDark:"rgba(124,58,237,0.15)"},builtin:{light:"#2563eb",dark:"#93c5fd",bgLight:"#eff6ff",bgDark:"rgba(37,99,235,0.15)"},agent:{light:"#15803d",dark:"#86efac",bgLight:"#f0fdf4",bgDark:"rgba(34,197,94,0.12)"}},Tg=e=>e==null?"0":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e),KF=e=>e==null?"\u2014":e>=1e3?`${(e/1e3).toFixed(2)}s`:`${Math.round(e)}ms`,lde=e=>{if(!e)return"\u2014";let t=new Date(e),r=Math.round((Date.now()-t.getTime())/6e4);if(r<1)return"just now";if(r<60)return`${r}m ago`;let n=Math.round(r/60);return n<24?`${n}h ago`:`${Math.round(n/24)}d ago`};function y5({onOpenServer:e}){let{darkMode:t}=Nt(),[r,n]=(0,Ne.useState)(null),[o,a]=(0,Ne.useState)(!0),[i,l]=(0,Ne.useState)(null),[s,u]=(0,Ne.useState)("all"),[c,d]=(0,Ne.useState)(""),[f,p]=(0,Ne.useState)(168),[m,g]=(0,Ne.useState)(null),h=(0,Ne.useCallback)(async()=>{try{let A=new URLSearchParams({hours:String(f)});s!=="all"&&A.set("origin",s),c.trim()&&A.set("q",c.trim());let M=await fetch(`/api/tools?${A}`);if(!M.ok)throw new Error(`Request failed (${M.status})`);n(await M.json()),l(null)}catch(A){l(A.message)}finally{a(!1)}},[s,c,f]);(0,Ne.useEffect)(()=>{let A=setTimeout(h,c?250:0);return()=>clearTimeout(A)},[h,c]),(0,Ne.useEffect)(()=>{let A=setInterval(h,ade);return()=>clearInterval(A)},[h]);let v={bg:t?"transparent":"#f9fafb",cardBg:t?"rgba(255,255,255,0.05)":"#ffffff",border:t?"rgba(255,255,255,0.1)":"#e5e7eb",borderLight:t?"rgba(255,255,255,0.05)":"#f3f4f6",textPrimary:t?"#ffffff":"#111827",textSecondary:t?"rgba(255,255,255,0.6)":"#6b7280",textMuted:t?"rgba(255,255,255,0.4)":"#9ca3af",textCell:t?"rgba(255,255,255,0.7)":"#4b5563",error:"#ef4444",errorBg:t?"rgba(239,68,68,0.2)":"#fef2f2",inputBg:t?"rgba(255,255,255,0.06)":"#ffffff"},y=A=>{let M=VF[A]||VF.agent;return{fg:t?M.dark:M.light,bg:t?M.bgDark:M.bgLight}};if(o&&!r)return Ne.default.createElement("div",{className:"flex items-center justify-center h-64"},Ne.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));if(i&&!r)return Ne.default.createElement("div",{style:{padding:"24px"}},Ne.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:v.textPrimary,margin:0}},"Tools"),Ne.default.createElement("div",{style:{marginTop:"16px",padding:"12px 16px",background:v.errorBg,borderRadius:"8px",color:v.error,fontSize:"14px"}},"Failed to load tools: ",i));let{tools:b=[],summary:x={},origins:S={},sources:w={}}=r||{},T=!w.telemetry&&!w.generations&&!w.messages&&!w.declared,k=({label:A,value:M,hint:H,tone:F})=>Ne.default.createElement("div",{style:{background:v.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${v.border}`}},Ne.default.createElement("div",{style:{fontSize:"11px",color:v.textSecondary,textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"}},A),Ne.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",fontFamily:"monospace",color:F||v.textPrimary}},M),H&&Ne.default.createElement("div",{style:{fontSize:"13px",color:v.textSecondary,marginTop:"8px"}},H));return Ne.default.createElement("div",{style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)",backgroundColor:v.bg}},Ne.default.createElement("div",{style:{padding:"24px 24px 16px 24px",borderBottom:`1px solid ${v.border}`,marginBottom:"16px"}},Ne.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"16px",flexWrap:"wrap"}},Ne.default.createElement("div",null,Ne.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:v.textPrimary,margin:0}},"Tools"),Ne.default.createElement("p",{style:{fontSize:"14px",color:v.textSecondary,marginTop:"4px"}},"Detected from telemetry spans, generation request bodies, and agent records \u2014 nothing to register by hand")),Ne.default.createElement("div",{style:{display:"flex",gap:"4px"}},ide.map(A=>Ne.default.createElement("button",{key:A.value,onClick:()=>p(A.value),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${f===A.value?"#ef4444":v.border}`,background:f===A.value?t?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:f===A.value?"#ef4444":v.textSecondary}},A.label))))),Ne.default.createElement("div",{style:{padding:"0 24px 24px 24px"}},Ne.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px",marginBottom:"16px"}},Ne.default.createElement(k,{label:"Tools Detected",value:Tg(x.total_tools),hint:`${x.active_tools||0} called in this window`}),Ne.default.createElement(k,{label:"Tool Calls",value:Tg(x.total_calls),hint:`${KF(x.avg_duration_ms)} average`}),Ne.default.createElement(k,{label:"Error Rate",value:`${x.error_rate||0}%`,tone:x.error_rate>5?v.error:v.textPrimary,hint:`${x.total_errors||0} failed call${x.total_errors===1?"":"s"}`}),Ne.default.createElement(k,{label:"From MCP",value:Tg(x.mcp_tools),hint:`across ${x.mcp_servers_active||0} active server${x.mcp_servers_active===1?"":"s"}`}),Ne.default.createElement(k,{label:"Never Called",value:Tg(x.unused_tools),hint:"offered or configured, unused"})),Ne.default.createElement("div",{style:{display:"flex",gap:"8px",marginBottom:"16px",flexWrap:"wrap",alignItems:"center"}},Object.entries(S).map(([A,M])=>Ne.default.createElement("button",{key:A,onClick:()=>u(A),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${s===A?"#ef4444":v.border}`,background:s===A?t?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:s===A?"#ef4444":v.textSecondary}},M)),Ne.default.createElement("input",{value:c,onChange:A=>d(A.target.value),placeholder:"Filter by name\u2026",style:{marginLeft:"auto",padding:"6px 12px",fontSize:"13px",borderRadius:"6px",minWidth:"200px",border:`1px solid ${v.border}`,background:v.inputBg,color:v.textPrimary}})),Ne.default.createElement("div",{style:{background:v.cardBg,borderRadius:"12px",border:`1px solid ${v.border}`,overflow:"hidden"}},b.length===0?Ne.default.createElement("div",{style:{textAlign:"center",padding:"48px 24px",color:v.textSecondary,fontSize:"14px"}},T?"No tool activity yet \u2014 run an agent, or point your app's ActiveAgent telemetry at this workspace":"No tools match these filters"):Ne.default.createElement("div",{style:{overflowX:"auto"}},Ne.default.createElement("table",{style:{width:"100%",borderCollapse:"collapse",minWidth:"760px"}},Ne.default.createElement("thead",null,Ne.default.createElement("tr",{style:{textAlign:"left",fontSize:"13px",color:v.textSecondary,borderBottom:`1px solid ${v.border}`}},Ne.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500"}},"Tool"),Ne.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500"}},"Source"),Ne.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Calls"),Ne.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Errors"),Ne.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Avg"),Ne.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Last seen"))),Ne.default.createElement("tbody",null,b.map((A,M)=>{let H=y(A.origin),F=m===A.name;return Ne.default.createElement(Ne.default.Fragment,{key:A.name},Ne.default.createElement("tr",{onClick:()=>g(F?null:A.name),style:{borderBottom:M{X.stopPropagation(),A.mcp_server&&e&&e(A.mcp_server)},style:{fontSize:"11px",padding:"3px 8px",borderRadius:"6px",border:"none",background:H.bg,color:H.fg,fontFamily:"monospace",cursor:A.mcp_server&&e?"pointer":"default"},title:A.mcp_server?`Open ${A.mcp_server} in MCP Services`:A.source_label},A.source_label)),Ne.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:v.textCell,fontFamily:"monospace"}},Tg(A.calls)),Ne.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",fontFamily:"monospace",color:A.errors>0?v.error:v.textCell}},A.errors),Ne.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:v.textCell,fontFamily:"monospace"}},KF(A.avg_duration_ms)),Ne.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:v.textMuted,fontSize:"13px"}},lde(A.last_seen))),F&&Ne.default.createElement("tr",{style:{borderBottom:MNe.default.createElement("span",{key:A,style:{color:w[A]?v.textSecondary:v.textMuted,opacity:w[A]?1:.5}},w[A]?"\u25CF":"\u25CB"," ",M)))))}function sde({tool:e,colors:t,tone:r,darkMode:n}){let o=({label:a,children:i})=>Ne.default.createElement("div",{style:{display:"flex",gap:"12px",fontSize:"13px",alignItems:"baseline"}},Ne.default.createElement("span",{style:{color:t.textMuted,minWidth:"108px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em"}},a),Ne.default.createElement("span",{style:{color:t.textCell,flex:1,wordBreak:"break-word"}},i));return Ne.default.createElement("div",{style:{display:"grid",gap:"8px",padding:"12px 16px",borderRadius:"8px",background:n?"rgba(0,0,0,0.25)":"#ffffff",border:`1px solid ${t.border}`}},Ne.default.createElement(o,{label:"Full name"},Ne.default.createElement("code",{style:{fontFamily:"monospace"}},e.name)),e.description&&Ne.default.createElement(o,{label:"Description"},e.description),Ne.default.createElement(o,{label:"Parameters"},e.parameters?.length>0?Ne.default.createElement("code",{style:{fontFamily:"monospace",color:r.fg}},e.parameters.join(", ")):Ne.default.createElement("span",{style:{color:t.textMuted}},"none recorded")),Ne.default.createElement(o,{label:"Agents"},e.agents?.length>0?e.agents.join(", "):Ne.default.createElement("span",{style:{color:t.textMuted}},"\u2014")),e.configured_by?.length>0&&Ne.default.createElement(o,{label:"Configured by"},e.configured_by.join(", ")),Ne.default.createElement(o,{label:"Call breakdown"},Ne.default.createElement("span",{style:{fontFamily:"monospace"}},e.traced_calls," traced \xB7 ",e.requested," requested \xB7 ",e.results," results")),e.sample_arguments&&Ne.default.createElement(o,{label:"Last arguments"},Ne.default.createElement("code",{style:{fontFamily:"monospace",fontSize:"12px",color:t.textMuted}},e.sample_arguments)),e.last_error&&Ne.default.createElement(o,{label:"Last error"},Ne.default.createElement("span",{style:{color:t.error}},e.last_error)),Ne.default.createElement(o,{label:"Detected from"},e.detected_from?.join(", ")||"\u2014"))}var Me=te(re());var ude=6e4,cde=[{value:24,label:"24h"},{value:168,label:"7d"},{value:720,label:"30d"}],dde=[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"configured",label:"Configured"},{value:"available",label:"Available"}],qF={active:{light:"#15803d",dark:"#86efac",bgLight:"#f0fdf4",bgDark:"rgba(34,197,94,0.15)"},configured:{light:"#b45309",dark:"#fcd34d",bgLight:"#fffbeb",bgDark:"rgba(245,158,11,0.15)"},available:{light:"#4b5563",dark:"rgba(255,255,255,0.6)",bgLight:"#f3f4f6",bgDark:"rgba(255,255,255,0.08)"},idle:{light:"#4b5563",dark:"rgba(255,255,255,0.6)",bgLight:"#f3f4f6",bgDark:"rgba(255,255,255,0.08)"}},Mg=e=>e==null?"0":e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e);function h5({focusServer:e,onOpenTools:t}){let{darkMode:r}=Nt(),[n,o]=(0,Me.useState)(null),[a,i]=(0,Me.useState)(!0),[l,s]=(0,Me.useState)(null),[u,c]=(0,Me.useState)("all"),[d,f]=(0,Me.useState)(168),[p,m]=(0,Me.useState)(e||null),[g,h]=(0,Me.useState)(null),[v,y]=(0,Me.useState)(null),b=(0,Me.useCallback)(async()=>{try{let P=await fetch(`/api/mcp_servers?hours=${d}`);if(!P.ok)throw new Error(`Request failed (${P.status})`);o(await P.json()),s(null)}catch(P){s(P.message)}finally{i(!1)}},[d]);(0,Me.useEffect)(()=>{b();let P=setInterval(b,ude);return()=>clearInterval(P)},[b]),(0,Me.useEffect)(()=>{e&&m(e)},[e]);let x={bg:r?"transparent":"#f9fafb",cardBg:r?"rgba(255,255,255,0.05)":"#ffffff",border:r?"rgba(255,255,255,0.1)":"#e5e7eb",borderLight:r?"rgba(255,255,255,0.05)":"#f3f4f6",textPrimary:r?"#ffffff":"#111827",textSecondary:r?"rgba(255,255,255,0.6)":"#6b7280",textMuted:r?"rgba(255,255,255,0.4)":"#9ca3af",textCell:r?"rgba(255,255,255,0.7)":"#4b5563",error:"#ef4444",errorBg:r?"rgba(239,68,68,0.2)":"#fef2f2",codeBg:r?"rgba(0,0,0,0.35)":"#f9fafb"},S=P=>{let Y=qF[P]||qF.available;return{fg:r?Y.dark:Y.light,bg:r?Y.bgDark:Y.bgLight}},w=async P=>{h(P.key),y(null);try{let Y=await fetch(`/api/mcp_servers/${encodeURIComponent(P.key)}/launch`,{method:"POST",headers:{"Content-Type":"application/json"}}),C=await Y.json();if(!Y.ok)throw new Error(C.reason||C.error||`Launch failed (${Y.status})`);y({kind:"ok",text:`${P.name} is starting in a sandbox (${C.sandbox.session_id.slice(0,8)}\u2026)`}),b()}catch(Y){y({kind:"error",text:Y.message})}finally{h(null)}};if(a&&!n)return Me.default.createElement("div",{className:"flex items-center justify-center h-64"},Me.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));if(l&&!n)return Me.default.createElement("div",{style:{padding:"24px"}},Me.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:x.textPrimary,margin:0}},"MCP Services"),Me.default.createElement("div",{style:{marginTop:"16px",padding:"12px 16px",background:x.errorBg,borderRadius:"8px",color:x.error,fontSize:"14px"}},"Failed to load MCP services: ",l));let{servers:T=[],summary:k={},sandboxes:A=[],statuses:M={}}=n||{},H=u==="all"?T:T.filter(P=>P.status===u),F=new Set(A.flatMap(P=>P.mcp_servers||[])),X=({label:P,value:Y,hint:C})=>Me.default.createElement("div",{style:{background:x.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${x.border}`}},Me.default.createElement("div",{style:{fontSize:"11px",color:x.textSecondary,textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"}},P),Me.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",fontFamily:"monospace",color:x.textPrimary}},Y),C&&Me.default.createElement("div",{style:{fontSize:"13px",color:x.textSecondary,marginTop:"8px"}},C));return Me.default.createElement("div",{style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)",backgroundColor:x.bg}},Me.default.createElement("div",{style:{padding:"24px 24px 16px 24px",borderBottom:`1px solid ${x.border}`,marginBottom:"16px"}},Me.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"16px",flexWrap:"wrap"}},Me.default.createElement("div",null,Me.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:x.textPrimary,margin:0}},"MCP Services"),Me.default.createElement("p",{style:{fontSize:"14px",color:x.textSecondary,marginTop:"4px"}},"Servers detected from your agents' traffic, plus the defaults you can connect or run in a sandbox")),Me.default.createElement("div",{style:{display:"flex",gap:"4px"}},cde.map(P=>Me.default.createElement("button",{key:P.value,onClick:()=>f(P.value),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${d===P.value?"#ef4444":x.border}`,background:d===P.value?r?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:d===P.value?"#ef4444":x.textSecondary}},P.label))))),Me.default.createElement("div",{style:{padding:"0 24px 24px 24px"}},Me.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px",marginBottom:"16px"}},Me.default.createElement(X,{label:"Active",value:Mg(k.active),hint:"called in this window"}),Me.default.createElement(X,{label:"Configured",value:Mg(k.configured),hint:"declared, no traffic yet"}),Me.default.createElement(X,{label:"Available",value:Mg(k.available),hint:"defaults you can connect"}),Me.default.createElement(X,{label:"Tool Calls",value:Mg(k.total_calls),hint:"through MCP servers"})),v&&Me.default.createElement("div",{style:{marginBottom:"16px",padding:"12px 16px",borderRadius:"8px",fontSize:"14px",background:v.kind==="error"?x.errorBg:r?"rgba(34,197,94,0.15)":"#f0fdf4",color:v.kind==="error"?x.error:r?"#86efac":"#15803d"}},v.text),Me.default.createElement("div",{style:{display:"flex",gap:"8px",marginBottom:"16px",flexWrap:"wrap"}},dde.map(P=>Me.default.createElement("button",{key:P.value,onClick:()=>c(P.value),title:M[P.value]||"Every MCP service known to this workspace",style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${u===P.value?"#ef4444":x.border}`,background:u===P.value?r?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:u===P.value?"#ef4444":x.textSecondary}},P.label))),Me.default.createElement("div",{style:{display:"grid",gap:"12px"}},H.length===0?Me.default.createElement("div",{style:{background:x.cardBg,borderRadius:"12px",border:`1px solid ${x.border}`,textAlign:"center",padding:"48px 24px",color:x.textSecondary,fontSize:"14px"}},"No MCP services in this state"):H.map(P=>{let Y=S(P.status),C=p===P.key,_=F.has(P.key);return Me.default.createElement("div",{key:P.key,style:{background:x.cardBg,borderRadius:"12px",border:`1px solid ${C?Y.fg:x.border}`,overflow:"hidden"}},Me.default.createElement("div",{onClick:()=>m(C?null:P.key),style:{padding:"16px 20px",cursor:"pointer",display:"flex",alignItems:"center",gap:"16px",flexWrap:"wrap"}},Me.default.createElement("div",{style:{flex:1,minWidth:"220px"}},Me.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexWrap:"wrap"}},Me.default.createElement("span",{style:{fontSize:"15px",fontWeight:"600",color:x.textPrimary}},P.name),Me.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:Y.bg,color:Y.fg,textTransform:"uppercase",letterSpacing:"0.04em"}},P.status),P.first_party&&Me.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r?"rgba(239,68,68,0.15)":"#fef2f2",color:"#ef4444"}},"first-party"),!P.known&&Me.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:x.borderLight,color:x.textMuted},title:"Seen in your traffic but not in the platform catalog"},"undocumented"),_&&Me.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r?"rgba(34,197,94,0.15)":"#f0fdf4",color:r?"#86efac":"#15803d"}},"\u25CF sandbox running")),P.description&&Me.default.createElement("div",{style:{fontSize:"13px",color:x.textSecondary,marginTop:"4px"}},P.description)),Me.default.createElement("div",{style:{display:"flex",gap:"24px",alignItems:"center"}},Me.default.createElement("div",{style:{textAlign:"right"}},Me.default.createElement("div",{style:{fontSize:"18px",fontFamily:"monospace",fontWeight:"600",color:x.textPrimary}},Mg(P.calls)),Me.default.createElement("div",{style:{fontSize:"11px",color:x.textMuted}},"calls")),Me.default.createElement("div",{style:{textAlign:"right"}},Me.default.createElement("div",{style:{fontSize:"18px",fontFamily:"monospace",fontWeight:"600",color:P.errors>0?x.error:x.textPrimary}},P.errors||0),Me.default.createElement("div",{style:{fontSize:"11px",color:x.textMuted}},"errors")),P.launchable&&Me.default.createElement("button",{onClick:z=>{z.stopPropagation(),w(P)},disabled:g===P.key,style:{padding:"8px 14px",fontSize:"13px",borderRadius:"6px",border:"none",background:g===P.key?x.borderLight:"#ef4444",color:g===P.key?x.textMuted:"#ffffff",cursor:g===P.key?"wait":"pointer",fontWeight:"500",whiteSpace:"nowrap"},title:`Start ${P.name} in a sandbox session`},g===P.key?"Starting\u2026":_?"Start another":"Start in sandbox"))),C&&Me.default.createElement(fde,{server:P,colors:x,tone:Y,onOpenTools:t}))})),A.length>0&&Me.default.createElement("div",{style:{marginTop:"24px",background:x.cardBg,borderRadius:"12px",border:`1px solid ${x.border}`,padding:"20px"}},Me.default.createElement("h3",{style:{fontSize:"16px",fontWeight:"600",color:x.textPrimary,margin:"0 0 12px 0"}},"Running sandboxes"),Me.default.createElement("div",{style:{display:"grid",gap:"8px"}},A.map(P=>Me.default.createElement("div",{key:P.session_id,style:{display:"flex",justifyContent:"space-between",gap:"12px",fontSize:"13px",color:x.textCell,flexWrap:"wrap"}},Me.default.createElement("span",{style:{fontFamily:"monospace"}},(P.mcp_servers||[]).join(", ")||P.sandbox_type),Me.default.createElement("span",{style:{color:x.textMuted}},P.status," \xB7 ",P.runs_count,"/",P.max_runs," runs \xB7 expires ",new Date(P.expires_at).toLocaleTimeString())))))))}function fde({server:e,colors:t,tone:r,onOpenTools:n}){let o=({label:i,children:l})=>Me.default.createElement("div",{style:{display:"flex",gap:"12px",fontSize:"13px",alignItems:"baseline"}},Me.default.createElement("span",{style:{color:t.textMuted,minWidth:"120px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em"}},i),Me.default.createElement("span",{style:{color:t.textCell,flex:1,wordBreak:"break-word"}},l)),a=e.command||e.url;return Me.default.createElement("div",{style:{padding:"0 20px 20px 20px",display:"grid",gap:"10px"}},Me.default.createElement("div",{style:{height:"1px",background:t.borderLight,marginBottom:"4px"}}),a&&Me.default.createElement(o,{label:e.transport==="http"?"Endpoint":"Command"},Me.default.createElement("code",{style:{fontFamily:"monospace",fontSize:"12px",padding:"4px 8px",borderRadius:"4px",background:t.codeBg,display:"inline-block"}},a)),e.transport&&Me.default.createElement(o,{label:"Transport"},e.transport),e.categories?.length>0&&Me.default.createElement(o,{label:"Categories"},e.categories.join(", ")),e.requires_credentials?.length>0&&Me.default.createElement(o,{label:"Requires"},e.requires_credentials.join(", ")),Me.default.createElement(o,{label:e.tool_count>0?"Tools used":"Tools offered"},e.tools?.length>0?Me.default.createElement("span",{style:{display:"flex",gap:"6px",flexWrap:"wrap"}},e.tools.map(i=>Me.default.createElement("code",{key:i,style:{fontFamily:"monospace",fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r.bg,color:r.fg}},i))):Me.default.createElement("span",{style:{color:t.textMuted}},"none recorded")),e.agents?.length>0&&Me.default.createElement(o,{label:"Used by"},e.agents.join(", ")),e.configured_by?.length>0&&Me.default.createElement(o,{label:"Configured by"},e.configured_by.join(", ")),e.last_seen&&Me.default.createElement(o,{label:"Last call"},new Date(e.last_seen).toLocaleString()),Me.default.createElement("div",{style:{display:"flex",gap:"12px",marginTop:"4px",flexWrap:"wrap"}},e.docs_url&&Me.default.createElement("a",{href:e.docs_url,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"13px",color:"#ef4444",textDecoration:"none"}},"Documentation \u2192"),e.calls>0&&n&&Me.default.createElement("button",{onClick:()=>n(e.key),style:{fontSize:"13px",color:"#ef4444",background:"none",border:"none",padding:0,cursor:"pointer"}},"View its tools \u2192")))}var G=te(re());var $s=te(re());var jw={logger:typeof console<"u"?console:void 0,WebSocket:typeof WebSocket<"u"?WebSocket:void 0},Cr={log(...e){this.enabled&&(e.push(Date.now()),jw.logger.log("[ActionCable]",...e))}},Dg=()=>new Date().getTime(),Iw=e=>(Dg()-e)/1e3,Ig=class{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=Dg(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),Cr.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=Dg(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),Cr.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordMessage(){this.pingedAt=Dg()}recordConnect(){this.reconnectAttempts=0,delete this.disconnectedAt,Cr.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=Dg(),Cr.log("ConnectionMonitor recorded disconnect")}startPolling(){this.stopPolling(),this.poll()}stopPolling(){clearTimeout(this.pollTimeout)}poll(){this.pollTimeout=setTimeout((()=>{this.reconnectIfStale(),this.poll()}),this.getPollInterval())}getPollInterval(){let{staleThreshold:t,reconnectionBackoffRate:r}=this.constructor,n=Math.pow(1+r,Math.min(this.reconnectAttempts,10)),a=(this.reconnectAttempts===0?1:r)*Math.random();return t*1e3*n*(1+a)}reconnectIfStale(){this.connectionIsStale()&&(Cr.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${Iw(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?Cr.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${Iw(this.disconnectedAt)} s`):(Cr.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return Iw(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&Iw(this.disconnectedAt){(this.connectionIsStale()||!this.connection.isOpen())&&(Cr.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())}),200)}};Ig.staleThreshold=6;Ig.reconnectionBackoffRate=.15;var YF={message_types:{welcome:"welcome",disconnect:"disconnect",ping:"ping",confirmation:"confirm_subscription",rejection:"reject_subscription"},disconnect_reasons:{unauthorized:"unauthorized",invalid_request:"invalid_request",server_restart:"server_restart",remote:"remote"},default_mount_path:"/cable",protocols:["actioncable-v1-json","actioncable-unsupported"]},{message_types:Pg,protocols:x5}=YF,pde=x5.slice(0,x5.length-1),GF=[].indexOf,jg=class{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new Ig(this),this.disconnected=!0}send(t){return this.isOpen()?(this.webSocket.send(JSON.stringify(t)),!0):!1}open(){if(this.isActive())return Cr.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1;{let t=[...x5,...this.consumer.subprotocols||[]];return Cr.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${t}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new jw.WebSocket(this.consumer.url,t),this.installEventHandlers(),this.monitor.start(),!0}}close({allowReconnect:t}={allowReconnect:!0}){if(t||this.monitor.stop(),this.isOpen())return this.webSocket.close()}reopen(){if(Cr.log(`Reopening WebSocket, current state is ${this.getState()}`),this.isActive())try{return this.close()}catch(t){Cr.log("Failed to reopen WebSocket",t)}finally{Cr.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`),setTimeout(this.open,this.constructor.reopenDelay)}else return this.open()}getProtocol(){if(this.webSocket)return this.webSocket.protocol}isOpen(){return this.isState("open")}isActive(){return this.isState("open","connecting")}triedToReconnect(){return this.monitor.reconnectAttempts>0}isProtocolSupported(){return GF.call(pde,this.getProtocol())>=0}isState(...t){return GF.call(t,this.getState())>=0}getState(){if(this.webSocket){for(let t in jw.WebSocket)if(jw.WebSocket[t]===this.webSocket.readyState)return t.toLowerCase()}return null}installEventHandlers(){for(let t in this.events){let r=this.events[t].bind(this);this.webSocket[`on${t}`]=r}}uninstallEventHandlers(){for(let t in this.events)this.webSocket[`on${t}`]=function(){}}};jg.reopenDelay=500;jg.prototype.events={message(e){if(!this.isProtocolSupported())return;let{identifier:t,message:r,reason:n,reconnect:o,type:a}=JSON.parse(e.data);switch(this.monitor.recordMessage(),a){case Pg.welcome:return this.triedToReconnect()&&(this.reconnectAttempted=!0),this.monitor.recordConnect(),this.subscriptions.reload();case Pg.disconnect:return Cr.log(`Disconnecting. Reason: ${n}`),this.close({allowReconnect:o});case Pg.ping:return null;case Pg.confirmation:return this.subscriptions.confirmSubscription(t),this.reconnectAttempted?(this.reconnectAttempted=!1,this.subscriptions.notify(t,"connected",{reconnected:!0})):this.subscriptions.notify(t,"connected",{reconnected:!1});case Pg.rejection:return this.subscriptions.reject(t);default:return this.subscriptions.notify(t,"received",r)}},open(){if(Cr.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return Cr.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(e){if(Cr.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){Cr.log("WebSocket onerror event")}};var mde=function(e,t){if(t!=null)for(let r in t){let n=t[r];e[r]=n}return e},b5=class{constructor(t,r={},n){this.consumer=t,this.identifier=JSON.stringify(r),mde(this,n)}perform(t,r={}){return r.action=t,this.send(r)}send(t){return this.consumer.send({command:"message",identifier:this.identifier,data:JSON.stringify(t)})}unsubscribe(){return this.consumer.subscriptions.remove(this)}},w5=class{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){this.pendingSubscriptions.indexOf(t)==-1?(Cr.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):Cr.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){Cr.log(`SubscriptionGuarantor forgetting ${t.identifier}`),this.pendingSubscriptions=this.pendingSubscriptions.filter((r=>r!==t))}startGuaranteeing(){this.stopGuaranteeing(),this.retrySubscribing()}stopGuaranteeing(){clearTimeout(this.retryTimeout)}retrySubscribing(){this.retryTimeout=setTimeout((()=>{this.subscriptions&&typeof this.subscriptions.subscribe=="function"&&this.pendingSubscriptions.map((t=>{Cr.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)}))}),500)}},S5=class{constructor(t){this.consumer=t,this.guarantor=new w5(this),this.subscriptions=[]}create(t,r){let n=t,o=typeof n=="object"?n:{channel:n},a=new b5(this.consumer,o,r);return this.add(a)}add(t){return this.subscriptions.push(t),this.consumer.ensureActiveConnection(),this.notify(t,"initialized"),this.subscribe(t),t}remove(t){return this.forget(t),this.findAll(t.identifier).length||this.sendCommand(t,"unsubscribe"),t}reject(t){return this.findAll(t).map((r=>(this.forget(r),this.notify(r,"rejected"),r)))}forget(t){return this.guarantor.forget(t),this.subscriptions=this.subscriptions.filter((r=>r!==t)),t}findAll(t){return this.subscriptions.filter((r=>r.identifier===t))}reload(){return this.subscriptions.map((t=>this.subscribe(t)))}notifyAll(t,...r){return this.subscriptions.map((n=>this.notify(n,t,...r)))}notify(t,r,...n){let o;return typeof t=="string"?o=this.findAll(t):o=[t],o.map((a=>typeof a[r]=="function"?a[r](...n):void 0))}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){Cr.log(`Subscription confirmed ${t}`),this.findAll(t).map((r=>this.guarantor.forget(r)))}sendCommand(t,r){let{identifier:n}=t;return this.consumer.send({command:r,identifier:n})}},A5=class{constructor(t){this._url=t,this.subscriptions=new S5(this),this.connection=new jg(this),this.subprotocols=[]}get url(){return vde(this._url)}send(t){return this.connection.send(t)}connect(){return this.connection.open()}disconnect(){return this.connection.close({allowReconnect:!1})}ensureActiveConnection(){if(!this.connection.isActive())return this.connection.open()}addSubProtocol(t){this.subprotocols=[...this.subprotocols,t]}};function vde(e){if(typeof e=="function"&&(e=e()),e&&!/^wss?:/i.test(e)){let t=document.createElement("a");return t.href=e,t.href=t.href,t.protocol=t.protocol.replace("http","ws"),t.href}else return e}function XF(e=gde("url")||YF.default_mount_path){return new A5(e)}function gde(e){let t=document.head.querySelector(`meta[name='action-cable-${e}']`);if(t)return t.getAttribute("content")}var zw=null;function yde(){if(zw===null)try{zw=XF()}catch{zw=!1}return zw||null}function ZF(e,t,r,n=!0){let o=(0,$s.useRef)(null),a=(0,$s.useRef)(r);return(0,$s.useEffect)(()=>{a.current=r},[r]),(0,$s.useEffect)(()=>{if(!n||!e)return;let l=yde();return o.current=l.subscriptions.create({channel:e,...t},{connected(){console.log(`[ActionCable] Connected to ${e}`,t)},disconnected(){console.log(`[ActionCable] Disconnected from ${e}`)},received(s){console.log(`[ActionCable] Received on ${e}:`,s),a.current&&a.current(s)},rejected(){console.warn(`[ActionCable] Subscription rejected for ${e}`)}}),()=>{o.current&&(console.log(`[ActionCable] Unsubscribing from ${e}`),o.current.unsubscribe(),o.current=null)}},[e,JSON.stringify(t),n]),{send:(0,$s.useCallback)((l,s)=>{o.current&&o.current.perform(l,s)},[])}}var Lw=[{id:"anthropic",name:"Anthropic",model:"claude-haiku-4-5",color:"bg-orange-500"},{id:"openai",name:"OpenAI",model:"gpt-4o",color:"bg-green-500"},{id:"ollama",name:"Ollama",model:"llama3.1:8b",color:"bg-purple-500"}],hde={playwright_mcp:[{name:"Screenshot Example.com",task:"Take a screenshot of https://example.com",description:"Navigate to example.com and capture a screenshot"},{name:"Extract Hacker News Headlines",task:"Go to https://news.ycombinator.com and list the top 5 story titles with their scores",description:"Scrape the front page of Hacker News"},{name:"Check Wikipedia",task:"Navigate to https://en.wikipedia.org/wiki/Artificial_intelligence and extract the first paragraph",description:"Extract content from Wikipedia"},{name:"GitHub Trending",task:"Visit https://github.com/trending and list the top 3 trending repositories",description:"Check GitHub's trending repositories"}],comparison:[{name:"Explain Ruby Blocks",task:"Explain how Ruby blocks work with a simple example",description:"Compare how each model explains Ruby concepts"},{name:"Write a Haiku",task:"Write a haiku about programming",description:"Compare creative output across models"},{name:"Debug This Code",task:"What's wrong with this code? def add(a, b); a - b; end; puts add(2, 3)",description:"Compare debugging abilities"},{name:"Summarize AI",task:"Summarize the current state of AI in 3 sentences",description:"Compare factual knowledge and conciseness"}]},QF={max_runs:10,timeout_seconds:300,session_duration_minutes:15};function k5({initialType:e="playwright_mcp",onClose:t}){let[r,n]=(0,G.useState)(e),[o,a]=(0,G.useState)(null),[i,l]=(0,G.useState)(""),[s,u]=(0,G.useState)([]),[c,d]=(0,G.useState)(null),[f,p]=(0,G.useState)(!1),[m,g]=(0,G.useState)(!1),[h,v]=(0,G.useState)(null),[y,b]=(0,G.useState)(null),[x,S]=(0,G.useState)(!1),[w,T]=(0,G.useState)(null),[k,A]=(0,G.useState)(!1),M=(0,G.useRef)(null),[H,F]=(0,G.useState)(["anthropic"]),[X,P]=(0,G.useState)(!1),[Y,C]=(0,G.useState)({}),[_,z]=(0,G.useState)([]),D=(0,G.useCallback)(O=>{switch(console.log("[SandboxRunner] Received ActionCable message:",O),O.type){case"run_started":X?C(Z=>({...Z,[O.provider]:{status:"running",started_at:O.started_at,provider:O.provider}})):d(Z=>({...Z,status:"running",provider:O.provider}));break;case"run_complete":X?(C(Z=>({...Z,[O.provider]:{...O.run,provider:O.provider}})),z(Z=>Z.filter(B=>B!==O.provider)),O.sandbox&&(a(O.sandbox),u(O.sandbox.runs||[]))):(d(O.run),p(!1),O.sandbox&&(a(O.sandbox),u(O.sandbox.runs||[]))),z(Z=>{let B=Z.filter(we=>we!==O.provider);return B.length===0&&p(!1),B});break;case"run_error":X?(C(Z=>({...Z,[O.provider]:{status:"failed",error:O.error,provider:O.provider}})),z(Z=>Z.filter(B=>B!==O.provider))):(d(Z=>({...Z,status:"failed",error:O.error})),p(!1)),O.sandbox&&a(O.sandbox);break}},[X]);ZF("SandboxChannel",{session_id:o?.session_id},D,!!o?.session_id),(0,G.useEffect)(()=>{j(),E()},[r]);let E=async()=>{try{let O=await fetch("/api/usage");if(O.ok){let Z=await O.json();T(Z.usage)}}catch{console.log("Could not fetch usage (user may not be authenticated)")}};(0,G.useEffect)(()=>{if(!o?.expires_at)return;let O=setInterval(()=>{let Z=new Date,B=new Date(o.expires_at),we=Math.max(0,Math.floor((B-Z)/1e3));b(we),we===0&&(a(ee=>({...ee,status:"expired"})),clearInterval(O))},1e3);return()=>clearInterval(O)},[o?.expires_at]),(0,G.useEffect)(()=>{M.current&&(M.current.scrollTop=M.current.scrollHeight)},[c?.result]);let j=async()=>{g(!0),v(null);try{let O=await fetch("/api/sandboxes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sandbox_type:r})});if(!O.ok)throw new Error("Failed to create sandbox session");let Z=await O.json();a(Z.sandbox),u([]),d(null)}catch(O){v(O.message)}finally{g(!1)}},R=async()=>{!i.trim()||f||!o||(X&&H.length>1?await L():await U(H[0]||"anthropic"))},U=async O=>{p(!0),d({status:"running",task:i,provider:O,result:"",started_at:new Date().toISOString()});try{let Z=await fetch(`/api/sandboxes/${o.session_id}/run`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:i,provider:O})}),B=await Z.json();if(Z.status===402&&B.upgrade_required){T(B.usage),S(!0),d(we=>({...we,status:"failed",error:B.message||"Plan limit reached"})),p(!1);return}if(!Z.ok)throw new Error(B.error||"Task execution failed");B.usage&&T(B.usage),ze(B.run_id)}catch(Z){d(B=>({...B,status:"failed",error:Z.message})),p(!1)}},L=async()=>{p(!0),z([...H]),C({});let O={};H.forEach(Z=>{O[Z]={status:"running",result:"",started_at:new Date().toISOString()}}),C(O);try{let Z=await fetch("/api/sandboxes/compare",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:i,providers:H,sandbox_id:o?.session_id,sandbox_type:r})});if(!Z.ok){let we=await Z.json();throw new Error(we.error||"Comparison failed")}let B=await Z.json();B.sandbox&&a(B.sandbox),q(H,B.sandbox?.session_id||o?.session_id,B.sandbox?.runs_count??o?.runs_count??0)}catch(Z){H.forEach(B=>{C(we=>({...we,[B]:{status:"failed",error:Z.message}}))}),p(!1),z([])}},q=(O,Z,B)=>{if(!Z)return;let we=async()=>{try{let ee=await fetch(`/api/sandboxes/${Z}`);if(!ee.ok)throw new Error(`HTTP ${ee.status}`);let ue=await ee.json();a(ue.sandbox);let W=ue.sandbox.runs||[];u(W);let xe=new Set;if(W.slice(B).forEach(De=>{De.provider&&(C(Ge=>({...Ge,[De.provider]:{...De,provider:De.provider}})),(De.status==="completed"||De.status==="failed")&&xe.add(De.provider))}),O.every(De=>xe.has(De))){p(!1),z([]);return}setTimeout(we,1e3)}catch(ee){console.error("Comparison polling failed:",ee),p(!1),z([])}};setTimeout(we,1e3)},ae=async()=>{if(o?.session_id)try{let Z=await(await fetch(`/api/sandboxes/${o.session_id}`)).json();a(Z.sandbox),u(Z.sandbox.runs||[]),(Z.sandbox.runs||[]).forEach(ee=>{ee.provider&&C(ue=>({...ue,[ee.provider]:{...ee,provider:ee.provider}}))}),H.every(ee=>{let ue=Y[ee];return ue?.status==="completed"||ue?.status==="failed"})&&(p(!1),z([]))}catch(O){console.error("Polling error:",O)}},ce=O=>{F(Z=>Z.includes(O)?Z.length===1?Z:Z.filter(B=>B!==O):[...Z,O])},ze=async O=>{let Z=async()=>{try{let we=await(await fetch(`/api/sandboxes/${o.session_id}`)).json();a(we.sandbox);let ee=we.sandbox.runs||[],ue=ee[ee.length-1];if(ue&&(d(ue),u(ee),ue.status==="completed"||ue.status==="failed")){p(!1);return}setTimeout(Z,1e3)}catch{p(!1)}};Z()},oe=O=>{O.key==="Enter"&&(O.metaKey||O.ctrlKey)&&R()},Ee=O=>{if(!O)return"--:--";let Z=Math.floor(O/60),B=O%60;return`${Z}:${B.toString().padStart(2,"0")}`},V=O=>{switch(O){case"completed":return"text-green-600 bg-green-100";case"failed":return"text-red-600 bg-red-100";case"running":return"text-blue-600 bg-blue-100";case"ready":return"text-emerald-600 bg-emerald-100";case"expired":return"text-orange-600 bg-orange-100";default:return"text-gray-600 bg-gray-100"}},I=o?.status==="ready"&&o?.runs_count{A(!0);try{await up({planSlug:"pro",billingInterval:O})}catch(Z){console.error("Checkout error:",Z),v(Z.message||"Failed to initiate checkout. Please try again."),A(!1)}};return G.default.createElement("div",{className:"h-full flex flex-col bg-gray-50"},G.default.createElement("div",{className:"bg-white border-b border-gray-200 px-6 py-4"},G.default.createElement("div",{className:"flex items-center justify-between"},G.default.createElement("div",{className:"flex items-center space-x-4"},G.default.createElement(wr,{size:48,appearance:{hat:"fedora",hatAccessory:"theaterMasks",heldItem:"browser"}}),G.default.createElement("div",null,G.default.createElement("h1",{className:"text-xl font-semibold text-gray-900"},"PlaywrightMCP Demo"),G.default.createElement("p",{className:"text-sm text-gray-500"},"Try browser automation for free - no account required"))),G.default.createElement("div",{className:"flex items-center space-x-4"},o&&G.default.createElement("div",{className:"flex items-center space-x-3 text-sm"},G.default.createElement("span",{className:`px-2 py-1 rounded-full text-xs font-medium ${V(o.status)}`},o.status),G.default.createElement("span",{className:"text-gray-500"},o.runs_count,"/",o.max_runs," runs"),G.default.createElement("span",{className:`font-mono ${y<60?"text-red-500":"text-gray-500"}`},Ee(y))),t&&G.default.createElement("button",{onClick:t,className:"text-gray-400 hover:text-gray-600"},G.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},G.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))))),G.default.createElement("div",{className:"flex-1 p-6 overflow-hidden"},G.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},G.default.createElement("div",{className:"col-span-2 flex flex-col space-y-4"},G.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},G.default.createElement("textarea",{value:i,onChange:O=>l(O.target.value),onKeyDown:oe,placeholder:"Describe what you want the browser agent to do...",rows:3,disabled:!I,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-rose-500 focus:border-transparent resize-none disabled:bg-gray-100"}),G.default.createElement("div",{className:"flex items-center justify-between mt-3"},G.default.createElement("span",{className:"text-xs text-gray-400"},"Press ",G.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Cmd")," + ",G.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Enter")," to run"),G.default.createElement("button",{onClick:R,disabled:!i.trim()||!I,className:`flex items-center space-x-2 px-6 py-2 rounded-lg transition-colors ${i.trim()&&I?"bg-rose-500 text-white hover:bg-rose-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},f?G.default.createElement(G.default.Fragment,null,G.default.createElement("span",{className:"animate-spin"},"\u25E0"),G.default.createElement("span",null,"Running...")):G.default.createElement(G.default.Fragment,null,G.default.createElement("span",null,"\u25B6"),G.default.createElement("span",null,"Run"))))),G.default.createElement("div",{className:"flex-1 bg-white rounded-xl border border-gray-200 flex flex-col overflow-hidden"},G.default.createElement("div",{className:"px-4 py-3 border-b border-gray-200 flex items-center justify-between"},G.default.createElement("h3",{className:"font-medium text-gray-900"},X&&Object.keys(Y).length>0?"Comparison Results":"Output"),c&&!X&&G.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${V(c.status)}`},c.status),X&&_.length>0&&G.default.createElement("span",{className:"text-xs text-blue-600"},"Running ",_.length," provider(s)...")),G.default.createElement("div",{ref:M,className:"flex-1 overflow-auto bg-gray-50"},m?G.default.createElement("div",{className:"flex items-center justify-center h-full text-gray-500 p-4"},G.default.createElement("span",{className:"animate-pulse"},"Starting sandbox...")):h?G.default.createElement("div",{className:"text-red-600 p-4"},h):X&&Object.keys(Y).length>0?G.default.createElement("div",{className:"grid grid-cols-1 divide-y divide-gray-200"},H.map(O=>{let Z=Lw.find(we=>we.id===O),B=Y[O];return G.default.createElement("div",{key:O,className:"p-4"},G.default.createElement("div",{className:"flex items-center justify-between mb-2"},G.default.createElement("div",{className:"flex items-center space-x-2"},G.default.createElement("div",{className:`w-3 h-3 rounded-full ${Z?.color||"bg-gray-400"}`}),G.default.createElement("span",{className:"font-medium text-gray-900"},Z?.name||O),G.default.createElement("span",{className:"text-xs text-gray-500"},Z?.model)),B&&G.default.createElement("div",{className:"flex items-center space-x-2"},G.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${V(B.status)}`},B.status),B.tokens&&G.default.createElement("span",{className:"text-xs text-gray-500"},B.tokens," tokens"),B.duration_ms&&G.default.createElement("span",{className:"text-xs text-gray-500"},(B.duration_ms/1e3).toFixed(1),"s"))),G.default.createElement("div",{className:"bg-white rounded-lg border border-gray-200 p-3 font-mono text-sm max-h-48 overflow-auto"},B?.status==="running"?G.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},G.default.createElement("span",{className:"animate-pulse"},"\u25CF"),G.default.createElement("span",null,"Processing...")):B?.error?G.default.createElement("div",{className:"text-red-600"},B.error):B?.result?G.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},B.result):G.default.createElement("span",{className:"text-gray-400"},"Waiting...")))})):c?G.default.createElement("div",{className:"p-4 font-mono text-sm"},c.provider&&G.default.createElement("div",{className:"flex items-center space-x-2 mb-3 pb-2 border-b border-gray-200"},G.default.createElement("div",{className:`w-2 h-2 rounded-full ${Lw.find(O=>O.id===c.provider)?.color||"bg-gray-400"}`}),G.default.createElement("span",{className:"text-sm text-gray-600"},Lw.find(O=>O.id===c.provider)?.name||c.provider)),c.status==="running"?G.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},G.default.createElement("span",{className:"animate-pulse"},"\u25CF"),G.default.createElement("span",null,"Executing task...")):c.error?G.default.createElement("div",{className:"text-red-600"},G.default.createElement("div",{className:"font-semibold mb-2"},"Error:"),G.default.createElement("pre",{className:"whitespace-pre-wrap"},c.error)):G.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},c.result||"Processing...")):G.default.createElement("div",{className:"text-gray-400 text-center py-12"},G.default.createElement("p",{className:"mb-2"},"Select a sample task or enter your own"),G.default.createElement("p",{className:"text-xs"},X?`Compare results across ${H.length} providers`:"Task will execute using the selected provider"))))),G.default.createElement("div",{className:"space-y-4 overflow-auto"},G.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},G.default.createElement("div",{className:"flex items-center justify-between mb-3"},G.default.createElement("h4",{className:"font-medium text-gray-900"},"Providers"),G.default.createElement("label",{className:"flex items-center space-x-2 cursor-pointer"},G.default.createElement("input",{type:"checkbox",checked:X,onChange:O=>P(O.target.checked),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),G.default.createElement("span",{className:"text-xs text-gray-600"},"Compare"))),G.default.createElement("div",{className:"space-y-2"},Lw.map(O=>G.default.createElement("label",{key:O.id,className:`flex items-center justify-between p-2 rounded-lg border cursor-pointer transition-colors ${H.includes(O.id)?"border-rose-300 bg-rose-50":"border-gray-200 hover:bg-gray-50"}`},G.default.createElement("div",{className:"flex items-center space-x-3"},G.default.createElement("input",{type:"checkbox",checked:H.includes(O.id),onChange:()=>ce(O.id),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),G.default.createElement("div",{className:`w-2 h-2 rounded-full ${O.color}`}),G.default.createElement("span",{className:"text-sm font-medium text-gray-900"},O.name)),G.default.createElement("span",{className:"text-xs text-gray-500"},O.model)))),X&&H.length>1&&G.default.createElement("div",{className:"mt-3 p-2 bg-purple-50 rounded-lg"},G.default.createElement("p",{className:"text-xs text-purple-700"},"Comparison mode: Run task on ",H.length," providers simultaneously"))),G.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},G.default.createElement("div",{className:"flex items-center justify-between mb-3"},G.default.createElement("h4",{className:"font-medium text-gray-900"},"Sample Tasks"),X&&G.default.createElement("button",{onClick:()=>n(r==="playwright_mcp"?"comparison":"playwright_mcp"),className:"text-xs text-rose-600 hover:text-rose-700"},r==="comparison"?"Browser Tasks":"Comparison Tasks")),G.default.createElement("div",{className:"space-y-2"},hde[r]?.map((O,Z)=>G.default.createElement("button",{key:Z,onClick:()=>l(O.task),disabled:!I,className:"w-full text-left px-3 py-2 rounded-lg transition-colors border border-gray-200 hover:bg-gray-50 disabled:opacity-50"},G.default.createElement("div",{className:"font-medium text-sm text-gray-900"},O.name),G.default.createElement("div",{className:"text-xs text-gray-500 mt-0.5"},O.description))))),G.default.createElement("div",{className:"bg-gradient-to-br from-rose-50 to-purple-50 rounded-xl border border-rose-200 p-4"},G.default.createElement("h4",{className:"font-medium text-gray-900 mb-3"},w?.unlimited?"Unlimited":w?.plan==="free"?"Free Tier":`${w?.plan?.toUpperCase()||"FREE"} Plan`),w&&!w.unlimited&&w.runs_limit!=null&&G.default.createElement("div",{className:"mb-4"},G.default.createElement("div",{className:"flex justify-between text-sm mb-1"},G.default.createElement("span",{className:"text-gray-600"},"Agent Runs"),G.default.createElement("span",{className:`font-medium ${w.runs_remaining<=1?"text-rose-600":"text-gray-900"}`},w.runs_used," / ",w.runs_limit)),G.default.createElement("div",{className:"w-full bg-white rounded-full h-2 border border-rose-200"},G.default.createElement("div",{className:`h-2 rounded-full transition-all ${w.runs_remaining<=1?"bg-rose-500":"bg-emerald-500"}`,style:{width:`${Math.min(w.runs_used/w.runs_limit*100,100)}%`}})),w.runs_remaining<=1&&G.default.createElement("p",{className:"text-xs text-rose-600 mt-1"},w.runs_remaining===0?"Limit reached!":"Almost at limit!")),G.default.createElement("dl",{className:"space-y-2 text-sm"},G.default.createElement("div",{className:"flex justify-between"},G.default.createElement("dt",{className:"text-gray-500"},"Session Runs"),G.default.createElement("dd",{className:"text-gray-900"},o?.runs_count||0,"/",o?.max_runs||QF.max_runs)),G.default.createElement("div",{className:"flex justify-between"},G.default.createElement("dt",{className:"text-gray-500"},"Timeout"),G.default.createElement("dd",{className:"text-gray-900"},QF.timeout_seconds,"s per task"))),w?.plan==="free"&&G.default.createElement("div",{className:"mt-4 pt-4 border-t border-rose-200"},G.default.createElement("button",{onClick:()=>S(!0),className:"w-full text-center text-sm text-rose-600 hover:text-rose-700 font-medium"},"Upgrade to PRO \u2192"))),s.length>0&&G.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},G.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},G.default.createElement("h4",{className:"font-medium text-gray-900"},"Run History")),G.default.createElement("div",{className:"max-h-48 overflow-auto divide-y divide-gray-100"},s.slice().reverse().map((O,Z)=>G.default.createElement("div",{key:O.id||Z,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>d(O)},G.default.createElement("div",{className:"flex items-center justify-between mb-1"},G.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${V(O.status||"completed")}`},O.status||"completed"),G.default.createElement("span",{className:"text-xs text-gray-400"},O.tokens||0," tokens")),G.default.createElement("p",{className:"text-sm text-gray-600 truncate"},O.task))))),o?.status==="expired"&&G.default.createElement("button",{onClick:j,className:"w-full px-4 py-3 bg-rose-500 text-white rounded-lg hover:bg-rose-600 transition-colors"},"Start New Session")))),x&&G.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},G.default.createElement("div",{className:"bg-white rounded-2xl max-w-4xl w-full overflow-hidden shadow-2xl max-h-[90vh] overflow-y-auto"},G.default.createElement("div",{className:"bg-gradient-to-r from-rose-500 to-purple-600 px-6 py-6 text-white text-center"},G.default.createElement("h2",{className:"text-2xl font-bold mb-1"},"Upgrade Your Plan"),G.default.createElement("p",{className:"text-rose-100 text-sm"},"You've used ",w?.runs_used||0," of ",w?.runs_limit||25," trial runs. Choose a plan to continue.")),G.default.createElement("div",{className:"p-6"},G.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},G.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},G.default.createElement("div",{className:"text-center mb-4"},G.default.createElement("h3",{className:"font-semibold text-gray-900"},"Free"),G.default.createElement("div",{className:"mt-2"},G.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$0"),G.default.createElement("span",{className:"text-gray-500"},"/mo"))),G.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"25 trial runs/month"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Community support"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Basic features")),G.default.createElement("button",{disabled:!0,className:"w-full py-2 px-4 border border-gray-300 text-gray-400 rounded-lg text-sm cursor-not-allowed"},"Current Plan")),G.default.createElement("div",{className:"border-2 border-rose-500 rounded-xl p-5 relative bg-rose-50"},G.default.createElement("div",{className:"absolute -top-3 left-1/2 transform -translate-x-1/2"},G.default.createElement("span",{className:"bg-rose-500 text-white text-xs font-semibold px-3 py-1 rounded-full"},"RECOMMENDED")),G.default.createElement("div",{className:"text-center mb-4 mt-2"},G.default.createElement("h3",{className:"font-semibold text-gray-900"},"Pro"),G.default.createElement("div",{className:"mt-2"},G.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$99"),G.default.createElement("span",{className:"text-gray-500"},"/mo")),G.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $995/year (save 16%)")),G.default.createElement("ul",{className:"space-y-2 text-sm text-gray-700 mb-4"},G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"10,000 agent runs/month"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Advanced cost tracking"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"25K traces/month"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Priority email support")),G.default.createElement("button",{onClick:()=>N("monthly"),disabled:k,className:"w-full py-2 px-4 bg-rose-500 text-white rounded-lg text-sm font-semibold hover:bg-rose-600 transition-colors disabled:opacity-50"},k?"Loading...":"Upgrade to Pro")),G.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},G.default.createElement("div",{className:"text-center mb-4"},G.default.createElement("h3",{className:"font-semibold text-gray-900"},"Enterprise"),G.default.createElement("div",{className:"mt-2"},G.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$269"),G.default.createElement("span",{className:"text-gray-500"},"/mo")),G.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $2,690/year (save 16%)")),G.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Unlimited runs"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"500K traces/month"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"SSO & SOC2/HIPAA"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Dedicated support")),G.default.createElement("a",{href:"mailto:sales@activeagents.ai",className:"block w-full py-2 px-4 border border-gray-300 text-gray-700 rounded-lg text-sm font-semibold text-center hover:bg-gray-50 transition-colors"},"Contact Sales")))),G.default.createElement("div",{className:"px-6 py-4 bg-gray-50 border-t border-gray-100 flex justify-center"},G.default.createElement("button",{onClick:()=>S(!1),className:"text-gray-500 hover:text-gray-700 text-sm"},"Maybe later")))))}var Oe=te(re());var Bw={SCREENSHOT:"screenshot",IFRAME:"iframe"},JF={navigate:"[->]",click:"[*]",type:"[T]",form_fill:"[F]",key_press:"[K]",snapshot:"[S]",hover:"[~]",select:"[v]",file_upload:"[^]",dialog:"[!]",evaluate:"[js]",wait:"[..]",scroll:"[|]",drag:"[<>]"},C5={navigate:"#3b82f6",click:"#ef4444",type:"#10b981",form_fill:"#8b5cf6",key_press:"#f59e0b",snapshot:"#06b6d4",hover:"#ec4899",select:"#6366f1",file_upload:"#14b8a6",dialog:"#f97316",evaluate:"#a855f7",wait:"#94a3b8",scroll:"#64748b",drag:"#ea580c"},xde=` @keyframes ripple { 0% { transform: translate(-50%, -50%) scale(0.5); opacity: 1; } 100% { transform: translate(-50%, -50%) scale(2); opacity: 0; } @@ -90,10 +90,10 @@ Who updated the description for the sample notebook?`,style:{...hl,width:"100%", 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.5; transform: scale(1.2); } } -`;function k5({recordingId:e,onHandoff:t,onClose:r}){let{darkMode:n}=Nt(),[o,a]=(0,Oe.useState)([]),[i,l]=(0,Oe.useState)(e),[s,u]=(0,Oe.useState)(null),[c,d]=(0,Oe.useState)([]),[f,p]=(0,Oe.useState)(!0),[m,g]=(0,Oe.useState)(null),[h,v]=(0,Oe.useState)(!1),[y,b]=(0,Oe.useState)(0),[x,S]=(0,Oe.useState)(1),[w,T]=(0,Oe.useState)(null),k=(0,Oe.useRef)(null),A=(0,Oe.useRef)(null),M=(0,Oe.useRef)(null),[H,F]=(0,Oe.useState)(jw.IFRAME),[X,P]=(0,Oe.useState)({x:0,y:0,visible:!1}),[Y,C]=(0,Oe.useState)(null);(0,Oe.useEffect)(()=>{_()},[]),(0,Oe.useEffect)(()=>{i&&j(i)},[i]);let _=async()=>{try{let V=await fetch("/api/session_recordings");if(V.ok){let I=await V.json();a(I.recordings||[]),!i&&I.recordings?.length>0&&l(I.recordings[0].id)}}catch(V){console.error("Failed to load recordings list:",V)}};(0,Oe.useEffect)(()=>{if(!h||c.length===0){A.current&&clearTimeout(A.current);return}let V=c[y],I=c[y+1];if(!I){v(!1);return}let N=(I.timestamp_ms-V.timestamp_ms)/x;return A.current=setTimeout(()=>{b(O=>O+1)},Math.max(N,50)),()=>{A.current&&clearTimeout(A.current)}},[h,y,c,x]),(0,Oe.useEffect)(()=>{let V=c[y];V?.screenshot_url?(T(V.screenshot_url),F(jw.SCREENSHOT)):H===jw.IFRAME&&z(V)},[y,c,H]);let z=(0,Oe.useCallback)(V=>{if(!V||!M.current)return;let I=M.current;try{let N=s?.metadata?.page_url||"/";switch(I.src!==N&&I.src.includes(N),V.action_type){case"navigate":P({x:50,y:50,visible:!0}),C(null);break;case"click":case"focus":P({x:200,y:300,visible:!0}),C(V.selector),D(V.selector);break;case"type":P({x:200,y:300,visible:!0}),C(V.selector),E(V.selector,V.value);break;case"submit":P({x:250,y:400,visible:!0}),C(V.selector);break;case"scroll":P({x:300,y:200,visible:!0}),C(null);break;case"handoff":P({x:0,y:0,visible:!1}),C(null);break;default:P({x:150,y:250,visible:!0}),C(V.selector)}}catch(N){console.log("Could not simulate action in iframe:",N)}},[s]),D=V=>{if(!(!V||!M.current))try{let I=M.current.contentDocument||M.current.contentWindow?.document;if(!I)return;I.querySelectorAll(".session-replay-highlight").forEach(O=>{O.classList.remove("session-replay-highlight"),O.style.outline=""});let N=I.querySelector(V);N&&(N.classList.add("session-replay-highlight"),N.style.outline="3px solid #ef4444",N.style.outlineOffset="2px",N.scrollIntoView({behavior:"smooth",block:"center"}))}catch{}},E=(V,I)=>{if(!(!V||!I||!M.current))try{let N=M.current.contentDocument||M.current.contentWindow?.document;if(!N)return;let O=N.querySelector(V);if(O&&(O.tagName==="INPUT"||O.tagName==="TEXTAREA")){let Z=0,B=setInterval(()=>{Z{if(!V){u(null),d([]),b(0),v(!1),p(!1),g(null);return}p(!0),g(null);try{let I=await fetch(`/api/session_recordings/${V}`);if(!I.ok)throw new Error("Failed to load recording");let N=await I.json();if(u(N.recording),b(0),v(!1),N.recording?.id){let O=await fetch(`/api/session_recordings/${N.recording.id}/actions`);if(O.ok){let Z=await O.json();d(Z.actions||N.recording.timeline||[])}else d(N.recording.timeline||[])}}catch(I){g(I.message)}finally{p(!1)}},R=()=>{y>=c.length-1&&b(0),v(!h)},U=()=>{v(!1),b(V=>Math.min(V+1,c.length-1))},L=()=>{v(!1),b(V=>Math.max(V-1,0))},K=V=>{if(!k.current||c.length===0)return;let I=k.current.getBoundingClientRect(),Z=(V.clientX-I.left)/I.width*(s?.duration_ms||c[c.length-1]?.timestamp_ms||0),B=c.findIndex((we,ee)=>{let ue=c[ee+1];return!ue||Z{if(s?.id)try{let V=await fetch(`/api/session_recordings/${s.id}/handoff`,{method:"POST",headers:{"Content-Type":"application/json"}});if(!V.ok)throw new Error("Handoff not available");let I=await V.json();t&&t(I)}catch(V){g(V.message)}},de=V=>{if(!V)return"0:00";let I=Math.floor(V/1e3),N=Math.floor(I/60),O=I%60;return`${N}:${O.toString().padStart(2,"0")}`},ze=c[y],oe=s?.duration_ms?(ze?.timestamp_ms||0)/s.duration_ms*100:0;return f?Oe.default.createElement("div",{className:"flex items-center justify-center h-64"},Oe.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):m?Oe.default.createElement("div",{className:"flex items-center justify-center h-64"},Oe.default.createElement("div",{className:"text-red-500"},m)):s?Oe.default.createElement("div",{className:n?"":"bg-white rounded-xl border border-gray-200",style:n?{background:"linear-gradient(180deg, #1a1a2e 0%, #16213e 100%)",borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)"}:{}},Oe.default.createElement("style",{dangerouslySetInnerHTML:{__html:yde}}),Oe.default.createElement("div",{className:n?"":"border-b border-gray-200 p-4",style:n?{padding:"16px 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",display:"flex",alignItems:"center",justifyContent:"space-between"}:{display:"flex",alignItems:"center",justifyContent:"space-between"}},Oe.default.createElement("div",null,Oe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},Oe.default.createElement("h2",{className:n?"":"text-xl font-semibold text-gray-900",style:n?{fontSize:"20px",fontWeight:"600",color:"white",margin:0}:{}},s.name||"Session Replay"),o.length>1&&Oe.default.createElement("select",{value:i||"",onChange:V=>l(Number(V.target.value)),style:{padding:"6px 12px",borderRadius:"6px",border:n?"1px solid rgba(255,255,255,0.2)":"1px solid #d1d5db",background:n?"rgba(255,255,255,0.1)":"white",color:n?"white":"#374151",fontSize:"14px",cursor:"pointer"}},o.map(V=>Oe.default.createElement("option",{key:V.id,value:V.id},V.name," (",new Date(V.created_at).toLocaleDateString(),")")))),Oe.default.createElement("p",{className:n?"":"text-sm text-gray-500 mt-1",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.6)",marginTop:"4px"}:{}},s.action_count," actions | ",de(s.duration_ms)," duration")),Oe.default.createElement("div",{className:"flex items-center gap-3"},s.handoff_state&&Oe.default.createElement("button",{onClick:ae,className:n?"":"px-4 py-2 bg-gradient-to-r from-red-500 to-rose-500 text-white rounded-lg hover:from-red-600 hover:to-rose-600 font-medium",style:n?{padding:"10px 20px",background:"linear-gradient(90deg, #ef4444 0%, #f43f5e 100%)",color:"white",borderRadius:"8px",border:"none",fontWeight:"500",cursor:"pointer",fontSize:"14px"}:{}},"Take Over Session"),r&&Oe.default.createElement("button",{onClick:r,className:n?"":"text-gray-400 hover:text-gray-600",style:n?{color:"rgba(255,255,255,0.6)",background:"none",border:"none",cursor:"pointer"}:{}},Oe.default.createElement("span",{style:{fontSize:"20px"}},"x")))),Oe.default.createElement("div",{className:n?"":"flex h-[500px]",style:n?{display:"flex",height:"500px"}:{}},Oe.default.createElement("div",{className:n?"":"flex-1 bg-gray-100 flex items-center justify-center relative",style:n?{flex:1,background:"rgba(0,0,0,0.3)",display:"flex",alignItems:"center",justifyContent:"center",position:"relative",overflow:"hidden"}:{overflow:"hidden"}},H===jw.SCREENSHOT&&w?Oe.default.createElement("img",{src:w,alt:"Session screenshot",className:"max-w-full max-h-full object-contain"}):Oe.default.createElement("div",{style:{width:"100%",height:"100%",position:"relative",overflow:"hidden"}},Oe.default.createElement("iframe",{ref:M,src:s?.metadata?.page_url||"/",style:{border:"none",transform:"scale(0.75)",transformOrigin:"top left",width:"133.33%",height:"133.33%",pointerEvents:"none"},sandbox:"allow-same-origin allow-scripts"}),X.visible&&Oe.default.createElement("div",{style:{position:"absolute",left:`${X.x}px`,top:`${X.y}px`,width:"24px",height:"24px",pointerEvents:"none",zIndex:100,transition:"all 0.3s ease-out"}},Oe.default.createElement("svg",{viewBox:"0 0 24 24",fill:"none",style:{width:"100%",height:"100%"}},Oe.default.createElement("path",{d:"M4 4L12 20L14 14L20 12L4 4Z",fill:"#ef4444",stroke:"white",strokeWidth:"2"})),ze?.action_type==="click"&&Oe.default.createElement("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"40px",height:"40px",borderRadius:"50%",border:"3px solid #ef4444",animation:"ripple 0.6s ease-out",opacity:0}})),Y&&Oe.default.createElement("div",{style:{position:"absolute",bottom:"16px",left:"16px",background:"rgba(0,0,0,0.8)",color:"#60a5fa",padding:"8px 12px",borderRadius:"6px",fontSize:"12px",fontFamily:Ve.mono,zIndex:100}},Y),ze&&Oe.default.createElement("div",{style:{position:"absolute",top:"60px",left:"16px",background:"rgba(0,0,0,0.8)",color:"white",padding:"8px 16px",borderRadius:"6px",fontSize:"13px",display:"flex",alignItems:"center",gap:"8px",zIndex:100}},Oe.default.createElement("span",{style:{color:A5[ze.action_type]||"#94a3b8",fontWeight:"600"}},QF[ze.action_type]||"[?]"),Oe.default.createElement("span",null,ze.action_type),ze.value&&Oe.default.createElement("span",{style:{color:"rgba(255,255,255,0.6)",maxWidth:"200px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},": ",ze.value))),Oe.default.createElement("div",{className:n?"":"absolute top-4 left-4 flex items-center gap-2 text-white px-3 py-1 rounded-full text-sm",style:{position:"absolute",top:"16px",left:"16px",display:"flex",alignItems:"center",gap:"8px",background:s?.status==="recording"?"#ef4444":h?"#10b981":"#6b7280",color:"white",padding:"6px 12px",borderRadius:"999px",fontSize:"13px",fontWeight:"500"}},s?.status==="recording"?Oe.default.createElement("span",{style:{width:"8px",height:"8px",borderRadius:"50%",background:"white",animation:"pulse 1.5s ease-in-out infinite"}}):h?Oe.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},Oe.default.createElement("path",{d:"M0 0L10 6L0 12V0Z"})):Oe.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},Oe.default.createElement("rect",{x:"0",y:"0",width:"3",height:"12"}),Oe.default.createElement("rect",{x:"7",y:"0",width:"3",height:"12"})),s?.status==="recording"?"REC":h?"Playing":"Paused"),ze?.selector&&Oe.default.createElement("div",{className:n?"":"absolute bottom-4 left-4 bg-black/75 text-white px-3 py-1 rounded text-sm font-mono",style:n?{position:"absolute",bottom:"16px",left:"16px",background:"rgba(0,0,0,0.75)",color:"white",padding:"6px 12px",borderRadius:"6px",fontSize:"13px",fontFamily:Ve.mono}:{}},ze.selector)),Oe.default.createElement("div",{className:n?"":"w-80 border-l border-gray-200 flex flex-col",style:n?{width:"320px",borderLeft:"1px solid rgba(255,255,255,0.1)",display:"flex",flexDirection:"column"}:{}},Oe.default.createElement("div",{className:n?"":"flex-1 overflow-auto",style:n?{flex:1,overflowY:"auto"}:{}},Oe.default.createElement("div",{className:n?"":"p-3 border-b border-gray-100 font-medium text-sm text-gray-700",style:n?{padding:"12px 16px",borderBottom:"1px solid rgba(255,255,255,0.1)",fontWeight:"500",fontSize:"14px",color:"rgba(255,255,255,0.8)"}:{}},"Actions (",c.length,")"),c.map((V,I)=>{let N=I===y,O=I{b(I),v(!1)},className:n?"":`px-4 py-3 cursor-pointer border-b border-gray-50 hover:bg-gray-50 ${N?"bg-red-50 border-l-2 border-l-red-500":""}`,style:n?{padding:"12px 16px",cursor:"pointer",borderBottom:"1px solid rgba(255,255,255,0.05)",background:N?"rgba(239, 68, 68, 0.15)":"transparent",borderLeft:N?"3px solid #ef4444":"3px solid transparent",opacity:O?.6:1}:{opacity:O?.6:1}},Oe.default.createElement("div",{className:"flex items-center gap-2"},Oe.default.createElement("span",{style:{color:Z,fontFamily:Ve.mono,fontSize:"12px",fontWeight:"600"}},QF[V.action_type]||"[?]"),Oe.default.createElement("span",{className:n?"":"text-sm font-medium text-gray-900",style:n?{fontSize:"14px",fontWeight:"500",color:"white"}:{}},V.action_type),Oe.default.createElement("span",{className:n?"":"text-xs text-gray-400 ml-auto",style:n?{fontSize:"12px",color:"rgba(255,255,255,0.4)",marginLeft:"auto"}:{}},de(V.timestamp_ms))),V.value&&Oe.default.createElement("div",{className:n?"":"text-xs text-gray-500 mt-1 truncate",style:n?{fontSize:"12px",color:"rgba(255,255,255,0.5)",marginTop:"4px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{}},V.value.length>50?V.value.substring(0,50)+"...":V.value),V.selector&&Oe.default.createElement("div",{className:n?"":"text-xs text-blue-500 mt-1 font-mono truncate",style:n?{fontSize:"11px",color:"#60a5fa",marginTop:"4px",fontFamily:Ve.mono,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{}},V.selector))})))),Oe.default.createElement("div",{className:n?"":"border-t border-gray-200 p-4",style:n?{borderTop:"1px solid rgba(255,255,255,0.1)",padding:"16px 24px"}:{}},Oe.default.createElement("div",{ref:k,onClick:K,className:n?"":"h-2 bg-gray-200 rounded-full mb-4 cursor-pointer relative",style:n?{height:"8px",background:"rgba(255,255,255,0.1)",borderRadius:"4px",marginBottom:"16px",cursor:"pointer",position:"relative"}:{}},Oe.default.createElement("div",{className:n?"":"absolute h-full bg-red-500 rounded-full",style:{width:`${oe}%`,height:"100%",background:"#ef4444",borderRadius:"4px",position:"absolute"}}),c.map((V,I)=>{let N=s?.duration_ms?V.timestamp_ms/s.duration_ms*100:0,O=A5[V.action_type]||"#94a3b8";return Oe.default.createElement("div",{key:I,className:n?"":"absolute w-1 h-3 -top-0.5 transform -translate-x-1/2",style:{left:`${N}%`,width:"3px",height:"12px",top:"-2px",transform:"translateX(-50%)",background:I===y?O:"rgba(255,255,255,0.3)",borderRadius:"2px",position:"absolute"}})})),Oe.default.createElement("div",{className:n?"":"flex items-center justify-between",style:n?{display:"flex",alignItems:"center",justifyContent:"space-between"}:{}},Oe.default.createElement("div",{className:"flex items-center gap-4"},Oe.default.createElement("div",{className:"flex items-center gap-2"},Oe.default.createElement("button",{onClick:L,disabled:y===0,className:n?"":"p-2 rounded-lg bg-gray-100 hover:bg-gray-200 disabled:opacity-50",style:n?{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"none",borderRadius:"8px",color:"white",cursor:y===0?"not-allowed":"pointer",opacity:y===0?.5:1}:{}},"<<"),Oe.default.createElement("button",{onClick:R,className:n?"":"p-3 rounded-full bg-red-500 text-white hover:bg-red-600",style:n?{padding:"12px 24px",background:"#ef4444",border:"none",borderRadius:"999px",color:"white",cursor:"pointer",fontWeight:"500"}:{}},h?"Pause":"Play"),Oe.default.createElement("button",{onClick:U,disabled:y>=c.length-1,className:n?"":"p-2 rounded-lg bg-gray-100 hover:bg-gray-200 disabled:opacity-50",style:n?{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"none",borderRadius:"8px",color:"white",cursor:y>=c.length-1?"not-allowed":"pointer",opacity:y>=c.length-1?.5:1}:{}},">>")),Oe.default.createElement("span",{className:n?"":"text-sm text-gray-600 font-mono",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.7)",fontFamily:Ve.mono}:{}},de(ze?.timestamp_ms||0)," / ",de(s?.duration_ms||0))),Oe.default.createElement("div",{className:"flex items-center gap-2"},Oe.default.createElement("span",{className:n?"":"text-sm text-gray-500",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.5)"}:{}},"Speed:"),[.5,1,2,4].map(V=>Oe.default.createElement("button",{key:V,onClick:()=>S(V),className:n?"":`px-2 py-1 rounded text-sm ${x===V?"bg-red-500 text-white":"bg-gray-100 text-gray-600"}`,style:n?{padding:"4px 10px",background:x===V?"#ef4444":"rgba(255,255,255,0.1)",color:"white",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"13px"}:{}},V,"x")))))):Oe.default.createElement("div",{className:"flex items-center justify-center h-64"},Oe.default.createElement("div",{className:"text-gray-500"},"No recording available"))}var be=te(re());var zw=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString();function C5({account:e,user:t,subscription:r,agentCount:n=0}){let{darkMode:o}=Nt(),[a,i]=(0,be.useState)(null),[l,s]=(0,be.useState)(!1),[u,c]=(0,be.useState)(!1),[d,f]=(0,be.useState)(!1),[p,m]=(0,be.useState)(null);(0,be.useEffect)(()=>{fetch("/api/usage").then(S=>S.ok?S.json():null).then(S=>i(S?.usage||null)).catch(()=>i(null))},[]);let g=async()=>{f(!0),m(null);try{await sp({planSlug:"pro"})}catch(S){m(S.message),f(!1)}},h=()=>{e?.telemetry_api_key&&navigator.clipboard.writeText(e.telemetry_api_key).then(()=>{s(!0),setTimeout(()=>s(!1),2e3)})},v={backgroundColor:o?"#1f1f1f":"#ffffff",borderColor:o?"#2a2a2a":"#e5e7eb"},y=r?.plan_name||"Free",b={free:{seats:1,workspaces:1,agents:3,traces:"250/mo trial"},pro:{seats:5,workspaces:3,agents:"Unlimited",traces:"25,000/mo"},enterprise:{seats:"Unlimited",workspaces:"Unlimited",agents:"Unlimited",traces:"500,000+/mo"}},x=b[y.toLowerCase()]||b.free;return be.default.createElement("div",{className:"p-6 space-y-6"},be.default.createElement("div",null,be.default.createElement("h2",{className:`text-2xl font-bold ${o?"text-white":"text-gray-900"}`},"Organization"),be.default.createElement("p",{className:`mt-1 ${o?"text-gray-400":"text-gray-500"}`},"Manage your workspace, team, and billing")),be.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6"},be.default.createElement("div",{className:"border rounded-lg p-6",style:v},be.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${o?"text-white":"text-gray-900"}`},"Workspace"),be.default.createElement("div",{className:"space-y-3"},be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Name"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},e?.name||"My Workspace")),be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Owner"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},t?.email||"you@example.com")),be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Created"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},e?.created_at?new Date(e.created_at).toLocaleDateString():"Today")))),be.default.createElement("div",{className:"border rounded-lg p-6",style:v},be.default.createElement("div",{className:"flex items-center justify-between mb-4"},be.default.createElement("h3",{className:`text-lg font-semibold ${o?"text-white":"text-gray-900"}`},"Current Plan"),be.default.createElement("span",{className:"px-3 py-1 bg-red-100 text-red-700 rounded-full text-sm font-medium"},y)),be.default.createElement("div",{className:"space-y-3"},be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Team Seats"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},x.seats)),be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Workspaces"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},x.workspaces)),be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Agents"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},x.agents)),be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Traces"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},x.traces))),y.toLowerCase()!=="enterprise"&&be.default.createElement(be.default.Fragment,null,be.default.createElement("button",{onClick:g,disabled:d,className:"mt-4 w-full px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed"},d?"Redirecting to checkout\u2026":"Upgrade Plan"),p&&be.default.createElement("p",{className:"mt-2 text-sm text-red-500 text-center"},p)))),be.default.createElement("div",{className:"border rounded-lg p-6",style:v},be.default.createElement("div",{className:"flex items-center justify-between mb-4"},be.default.createElement("h3",{className:`text-lg font-semibold ${o?"text-white":"text-gray-900"}`},"Team Members"),be.default.createElement("button",{className:"px-4 py-2 text-sm bg-gray-100 text-gray-700 rounded-lg hover:bg-gray-200 transition-colors"},"+ Invite Member")),be.default.createElement("div",{className:"overflow-hidden"},be.default.createElement("table",{className:"min-w-full"},be.default.createElement("thead",null,be.default.createElement("tr",{className:o?"border-b border-gray-700":"border-b border-gray-200"},be.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${o?"text-gray-400":"text-gray-500"}`},"Member"),be.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${o?"text-gray-400":"text-gray-500"}`},"Role"),be.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${o?"text-gray-400":"text-gray-500"}`},"Status"))),be.default.createElement("tbody",null,be.default.createElement("tr",null,be.default.createElement("td",{className:"py-3 px-4"},be.default.createElement("div",{className:"flex items-center space-x-3"},be.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},be.default.createElement("span",{className:"text-red-600 font-medium text-sm"},t?.name?.charAt(0).toUpperCase()||"U")),be.default.createElement("div",null,be.default.createElement("p",{className:`font-medium ${o?"text-white":"text-gray-900"}`},t?.name||"You"),be.default.createElement("p",{className:`text-sm ${o?"text-gray-400":"text-gray-500"}`},t?.email)))),be.default.createElement("td",{className:"py-3 px-4"},be.default.createElement("span",{className:"px-2 py-1 bg-purple-100 text-purple-700 rounded text-sm"},"Owner")),be.default.createElement("td",{className:"py-3 px-4"},be.default.createElement("span",{className:"flex items-center text-green-600"},be.default.createElement("span",{className:"w-2 h-2 bg-green-500 rounded-full mr-2"}),"Active"))))))),be.default.createElement("div",{className:"border rounded-lg p-6",style:v},be.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${o?"text-white":"text-gray-900"}`},"Usage This Month"),be.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4"},be.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:o?"#252525":"#f9fafb"}},be.default.createElement("p",{className:`text-2xl font-bold ${o?"text-white":"text-gray-900"}`},n),be.default.createElement("p",{className:`text-sm ${o?"text-gray-400":"text-gray-500"}`},"Agents")),be.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:o?"#252525":"#f9fafb"}},be.default.createElement("p",{className:`text-2xl font-bold ${o?"text-white":"text-gray-900"}`},zw(a?.traces_used),a?.traces_limit>0&&be.default.createElement("span",{className:`text-sm font-normal ${o?"text-gray-500":"text-gray-400"}`}," / ",zw(a.traces_limit))),be.default.createElement("p",{className:`text-sm ${o?"text-gray-400":"text-gray-500"}`},"Traces")),be.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:o?"#252525":"#f9fafb"}},be.default.createElement("p",{className:`text-2xl font-bold ${o?"text-white":"text-gray-900"}`},zw(a?.runs_used)),be.default.createElement("p",{className:`text-sm ${o?"text-gray-400":"text-gray-500"}`},"Executions")),be.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:o?"#252525":"#f9fafb"}},be.default.createElement("p",{className:`text-2xl font-bold ${o?"text-white":"text-gray-900"}`},zw(a?.tokens_used)),be.default.createElement("p",{className:`text-sm ${o?"text-gray-400":"text-gray-500"}`},"Tokens")))),be.default.createElement("div",{className:"border rounded-lg p-6",style:v},be.default.createElement("h3",{className:`text-lg font-semibold mb-1 ${o?"text-white":"text-gray-900"}`},"Telemetry"),be.default.createElement("p",{className:`text-sm mb-4 ${o?"text-gray-400":"text-gray-500"}`},"Send traces from your own ActiveAgent app to this workspace. Add this to your"," ",be.default.createElement("code",{className:`px-1 rounded text-xs ${o?"bg-gray-800 text-gray-300":"bg-gray-100 text-gray-700"}`},"config/active_agent.yml"),":"),be.default.createElement("pre",{className:`text-xs rounded-lg p-4 overflow-x-auto mb-4 ${o?"bg-black text-gray-300":"bg-gray-900 text-gray-100"}`},`telemetry: +`;function N5({recordingId:e,onHandoff:t,onClose:r}){let{darkMode:n}=Nt(),[o,a]=(0,Oe.useState)([]),[i,l]=(0,Oe.useState)(e),[s,u]=(0,Oe.useState)(null),[c,d]=(0,Oe.useState)([]),[f,p]=(0,Oe.useState)(!0),[m,g]=(0,Oe.useState)(null),[h,v]=(0,Oe.useState)(!1),[y,b]=(0,Oe.useState)(0),[x,S]=(0,Oe.useState)(1),[w,T]=(0,Oe.useState)(null),k=(0,Oe.useRef)(null),A=(0,Oe.useRef)(null),M=(0,Oe.useRef)(null),[H,F]=(0,Oe.useState)(Bw.IFRAME),[X,P]=(0,Oe.useState)({x:0,y:0,visible:!1}),[Y,C]=(0,Oe.useState)(null);(0,Oe.useEffect)(()=>{_()},[]),(0,Oe.useEffect)(()=>{i&&j(i)},[i]);let _=async()=>{try{let V=await fetch("/api/session_recordings");if(V.ok){let I=await V.json();a(I.recordings||[]),!i&&I.recordings?.length>0&&l(I.recordings[0].id)}}catch(V){console.error("Failed to load recordings list:",V)}};(0,Oe.useEffect)(()=>{if(!h||c.length===0){A.current&&clearTimeout(A.current);return}let V=c[y],I=c[y+1];if(!I){v(!1);return}let N=(I.timestamp_ms-V.timestamp_ms)/x;return A.current=setTimeout(()=>{b(O=>O+1)},Math.max(N,50)),()=>{A.current&&clearTimeout(A.current)}},[h,y,c,x]),(0,Oe.useEffect)(()=>{let V=c[y];V?.screenshot_url?(T(V.screenshot_url),F(Bw.SCREENSHOT)):H===Bw.IFRAME&&z(V)},[y,c,H]);let z=(0,Oe.useCallback)(V=>{if(!V||!M.current)return;let I=M.current;try{let N=s?.metadata?.page_url||"/";switch(I.src!==N&&I.src.includes(N),V.action_type){case"navigate":P({x:50,y:50,visible:!0}),C(null);break;case"click":case"focus":P({x:200,y:300,visible:!0}),C(V.selector),D(V.selector);break;case"type":P({x:200,y:300,visible:!0}),C(V.selector),E(V.selector,V.value);break;case"submit":P({x:250,y:400,visible:!0}),C(V.selector);break;case"scroll":P({x:300,y:200,visible:!0}),C(null);break;case"handoff":P({x:0,y:0,visible:!1}),C(null);break;default:P({x:150,y:250,visible:!0}),C(V.selector)}}catch(N){console.log("Could not simulate action in iframe:",N)}},[s]),D=V=>{if(!(!V||!M.current))try{let I=M.current.contentDocument||M.current.contentWindow?.document;if(!I)return;I.querySelectorAll(".session-replay-highlight").forEach(O=>{O.classList.remove("session-replay-highlight"),O.style.outline=""});let N=I.querySelector(V);N&&(N.classList.add("session-replay-highlight"),N.style.outline="3px solid #ef4444",N.style.outlineOffset="2px",N.scrollIntoView({behavior:"smooth",block:"center"}))}catch{}},E=(V,I)=>{if(!(!V||!I||!M.current))try{let N=M.current.contentDocument||M.current.contentWindow?.document;if(!N)return;let O=N.querySelector(V);if(O&&(O.tagName==="INPUT"||O.tagName==="TEXTAREA")){let Z=0,B=setInterval(()=>{Z{if(!V){u(null),d([]),b(0),v(!1),p(!1),g(null);return}p(!0),g(null);try{let I=await fetch(`/api/session_recordings/${V}`);if(!I.ok)throw new Error("Failed to load recording");let N=await I.json();if(u(N.recording),b(0),v(!1),N.recording?.id){let O=await fetch(`/api/session_recordings/${N.recording.id}/actions`);if(O.ok){let Z=await O.json();d(Z.actions||N.recording.timeline||[])}else d(N.recording.timeline||[])}}catch(I){g(I.message)}finally{p(!1)}},R=()=>{y>=c.length-1&&b(0),v(!h)},U=()=>{v(!1),b(V=>Math.min(V+1,c.length-1))},L=()=>{v(!1),b(V=>Math.max(V-1,0))},q=V=>{if(!k.current||c.length===0)return;let I=k.current.getBoundingClientRect(),Z=(V.clientX-I.left)/I.width*(s?.duration_ms||c[c.length-1]?.timestamp_ms||0),B=c.findIndex((we,ee)=>{let ue=c[ee+1];return!ue||Z{if(s?.id)try{let V=await fetch(`/api/session_recordings/${s.id}/handoff`,{method:"POST",headers:{"Content-Type":"application/json"}});if(!V.ok)throw new Error("Handoff not available");let I=await V.json();t&&t(I)}catch(V){g(V.message)}},ce=V=>{if(!V)return"0:00";let I=Math.floor(V/1e3),N=Math.floor(I/60),O=I%60;return`${N}:${O.toString().padStart(2,"0")}`},ze=c[y],oe=s?.duration_ms?(ze?.timestamp_ms||0)/s.duration_ms*100:0;return f?Oe.default.createElement("div",{className:"flex items-center justify-center h-64"},Oe.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):m?Oe.default.createElement("div",{className:"flex items-center justify-center h-64"},Oe.default.createElement("div",{className:"text-red-500"},m)):s?Oe.default.createElement("div",{className:n?"":"bg-white rounded-xl border border-gray-200",style:n?{background:"linear-gradient(180deg, #1a1a2e 0%, #16213e 100%)",borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)"}:{}},Oe.default.createElement("style",{dangerouslySetInnerHTML:{__html:xde}}),Oe.default.createElement("div",{className:n?"":"border-b border-gray-200 p-4",style:n?{padding:"16px 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",display:"flex",alignItems:"center",justifyContent:"space-between"}:{display:"flex",alignItems:"center",justifyContent:"space-between"}},Oe.default.createElement("div",null,Oe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},Oe.default.createElement("h2",{className:n?"":"text-xl font-semibold text-gray-900",style:n?{fontSize:"20px",fontWeight:"600",color:"white",margin:0}:{}},s.name||"Session Replay"),o.length>1&&Oe.default.createElement("select",{value:i||"",onChange:V=>l(Number(V.target.value)),style:{padding:"6px 12px",borderRadius:"6px",border:n?"1px solid rgba(255,255,255,0.2)":"1px solid #d1d5db",background:n?"rgba(255,255,255,0.1)":"white",color:n?"white":"#374151",fontSize:"14px",cursor:"pointer"}},o.map(V=>Oe.default.createElement("option",{key:V.id,value:V.id},V.name," (",new Date(V.created_at).toLocaleDateString(),")")))),Oe.default.createElement("p",{className:n?"":"text-sm text-gray-500 mt-1",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.6)",marginTop:"4px"}:{}},s.action_count," actions | ",ce(s.duration_ms)," duration")),Oe.default.createElement("div",{className:"flex items-center gap-3"},s.handoff_state&&Oe.default.createElement("button",{onClick:ae,className:n?"":"px-4 py-2 bg-gradient-to-r from-red-500 to-rose-500 text-white rounded-lg hover:from-red-600 hover:to-rose-600 font-medium",style:n?{padding:"10px 20px",background:"linear-gradient(90deg, #ef4444 0%, #f43f5e 100%)",color:"white",borderRadius:"8px",border:"none",fontWeight:"500",cursor:"pointer",fontSize:"14px"}:{}},"Take Over Session"),r&&Oe.default.createElement("button",{onClick:r,className:n?"":"text-gray-400 hover:text-gray-600",style:n?{color:"rgba(255,255,255,0.6)",background:"none",border:"none",cursor:"pointer"}:{}},Oe.default.createElement("span",{style:{fontSize:"20px"}},"x")))),Oe.default.createElement("div",{className:n?"":"flex h-[500px]",style:n?{display:"flex",height:"500px"}:{}},Oe.default.createElement("div",{className:n?"":"flex-1 bg-gray-100 flex items-center justify-center relative",style:n?{flex:1,background:"rgba(0,0,0,0.3)",display:"flex",alignItems:"center",justifyContent:"center",position:"relative",overflow:"hidden"}:{overflow:"hidden"}},H===Bw.SCREENSHOT&&w?Oe.default.createElement("img",{src:w,alt:"Session screenshot",className:"max-w-full max-h-full object-contain"}):Oe.default.createElement("div",{style:{width:"100%",height:"100%",position:"relative",overflow:"hidden"}},Oe.default.createElement("iframe",{ref:M,src:s?.metadata?.page_url||"/",style:{border:"none",transform:"scale(0.75)",transformOrigin:"top left",width:"133.33%",height:"133.33%",pointerEvents:"none"},sandbox:"allow-same-origin allow-scripts"}),X.visible&&Oe.default.createElement("div",{style:{position:"absolute",left:`${X.x}px`,top:`${X.y}px`,width:"24px",height:"24px",pointerEvents:"none",zIndex:100,transition:"all 0.3s ease-out"}},Oe.default.createElement("svg",{viewBox:"0 0 24 24",fill:"none",style:{width:"100%",height:"100%"}},Oe.default.createElement("path",{d:"M4 4L12 20L14 14L20 12L4 4Z",fill:"#ef4444",stroke:"white",strokeWidth:"2"})),ze?.action_type==="click"&&Oe.default.createElement("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"40px",height:"40px",borderRadius:"50%",border:"3px solid #ef4444",animation:"ripple 0.6s ease-out",opacity:0}})),Y&&Oe.default.createElement("div",{style:{position:"absolute",bottom:"16px",left:"16px",background:"rgba(0,0,0,0.8)",color:"#60a5fa",padding:"8px 12px",borderRadius:"6px",fontSize:"12px",fontFamily:Ve.mono,zIndex:100}},Y),ze&&Oe.default.createElement("div",{style:{position:"absolute",top:"60px",left:"16px",background:"rgba(0,0,0,0.8)",color:"white",padding:"8px 16px",borderRadius:"6px",fontSize:"13px",display:"flex",alignItems:"center",gap:"8px",zIndex:100}},Oe.default.createElement("span",{style:{color:C5[ze.action_type]||"#94a3b8",fontWeight:"600"}},JF[ze.action_type]||"[?]"),Oe.default.createElement("span",null,ze.action_type),ze.value&&Oe.default.createElement("span",{style:{color:"rgba(255,255,255,0.6)",maxWidth:"200px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},": ",ze.value))),Oe.default.createElement("div",{className:n?"":"absolute top-4 left-4 flex items-center gap-2 text-white px-3 py-1 rounded-full text-sm",style:{position:"absolute",top:"16px",left:"16px",display:"flex",alignItems:"center",gap:"8px",background:s?.status==="recording"?"#ef4444":h?"#10b981":"#6b7280",color:"white",padding:"6px 12px",borderRadius:"999px",fontSize:"13px",fontWeight:"500"}},s?.status==="recording"?Oe.default.createElement("span",{style:{width:"8px",height:"8px",borderRadius:"50%",background:"white",animation:"pulse 1.5s ease-in-out infinite"}}):h?Oe.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},Oe.default.createElement("path",{d:"M0 0L10 6L0 12V0Z"})):Oe.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},Oe.default.createElement("rect",{x:"0",y:"0",width:"3",height:"12"}),Oe.default.createElement("rect",{x:"7",y:"0",width:"3",height:"12"})),s?.status==="recording"?"REC":h?"Playing":"Paused"),ze?.selector&&Oe.default.createElement("div",{className:n?"":"absolute bottom-4 left-4 bg-black/75 text-white px-3 py-1 rounded text-sm font-mono",style:n?{position:"absolute",bottom:"16px",left:"16px",background:"rgba(0,0,0,0.75)",color:"white",padding:"6px 12px",borderRadius:"6px",fontSize:"13px",fontFamily:Ve.mono}:{}},ze.selector)),Oe.default.createElement("div",{className:n?"":"w-80 border-l border-gray-200 flex flex-col",style:n?{width:"320px",borderLeft:"1px solid rgba(255,255,255,0.1)",display:"flex",flexDirection:"column"}:{}},Oe.default.createElement("div",{className:n?"":"flex-1 overflow-auto",style:n?{flex:1,overflowY:"auto"}:{}},Oe.default.createElement("div",{className:n?"":"p-3 border-b border-gray-100 font-medium text-sm text-gray-700",style:n?{padding:"12px 16px",borderBottom:"1px solid rgba(255,255,255,0.1)",fontWeight:"500",fontSize:"14px",color:"rgba(255,255,255,0.8)"}:{}},"Actions (",c.length,")"),c.map((V,I)=>{let N=I===y,O=I{b(I),v(!1)},className:n?"":`px-4 py-3 cursor-pointer border-b border-gray-50 hover:bg-gray-50 ${N?"bg-red-50 border-l-2 border-l-red-500":""}`,style:n?{padding:"12px 16px",cursor:"pointer",borderBottom:"1px solid rgba(255,255,255,0.05)",background:N?"rgba(239, 68, 68, 0.15)":"transparent",borderLeft:N?"3px solid #ef4444":"3px solid transparent",opacity:O?.6:1}:{opacity:O?.6:1}},Oe.default.createElement("div",{className:"flex items-center gap-2"},Oe.default.createElement("span",{style:{color:Z,fontFamily:Ve.mono,fontSize:"12px",fontWeight:"600"}},JF[V.action_type]||"[?]"),Oe.default.createElement("span",{className:n?"":"text-sm font-medium text-gray-900",style:n?{fontSize:"14px",fontWeight:"500",color:"white"}:{}},V.action_type),Oe.default.createElement("span",{className:n?"":"text-xs text-gray-400 ml-auto",style:n?{fontSize:"12px",color:"rgba(255,255,255,0.4)",marginLeft:"auto"}:{}},ce(V.timestamp_ms))),V.value&&Oe.default.createElement("div",{className:n?"":"text-xs text-gray-500 mt-1 truncate",style:n?{fontSize:"12px",color:"rgba(255,255,255,0.5)",marginTop:"4px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{}},V.value.length>50?V.value.substring(0,50)+"...":V.value),V.selector&&Oe.default.createElement("div",{className:n?"":"text-xs text-blue-500 mt-1 font-mono truncate",style:n?{fontSize:"11px",color:"#60a5fa",marginTop:"4px",fontFamily:Ve.mono,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{}},V.selector))})))),Oe.default.createElement("div",{className:n?"":"border-t border-gray-200 p-4",style:n?{borderTop:"1px solid rgba(255,255,255,0.1)",padding:"16px 24px"}:{}},Oe.default.createElement("div",{ref:k,onClick:q,className:n?"":"h-2 bg-gray-200 rounded-full mb-4 cursor-pointer relative",style:n?{height:"8px",background:"rgba(255,255,255,0.1)",borderRadius:"4px",marginBottom:"16px",cursor:"pointer",position:"relative"}:{}},Oe.default.createElement("div",{className:n?"":"absolute h-full bg-red-500 rounded-full",style:{width:`${oe}%`,height:"100%",background:"#ef4444",borderRadius:"4px",position:"absolute"}}),c.map((V,I)=>{let N=s?.duration_ms?V.timestamp_ms/s.duration_ms*100:0,O=C5[V.action_type]||"#94a3b8";return Oe.default.createElement("div",{key:I,className:n?"":"absolute w-1 h-3 -top-0.5 transform -translate-x-1/2",style:{left:`${N}%`,width:"3px",height:"12px",top:"-2px",transform:"translateX(-50%)",background:I===y?O:"rgba(255,255,255,0.3)",borderRadius:"2px",position:"absolute"}})})),Oe.default.createElement("div",{className:n?"":"flex items-center justify-between",style:n?{display:"flex",alignItems:"center",justifyContent:"space-between"}:{}},Oe.default.createElement("div",{className:"flex items-center gap-4"},Oe.default.createElement("div",{className:"flex items-center gap-2"},Oe.default.createElement("button",{onClick:L,disabled:y===0,className:n?"":"p-2 rounded-lg bg-gray-100 hover:bg-gray-200 disabled:opacity-50",style:n?{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"none",borderRadius:"8px",color:"white",cursor:y===0?"not-allowed":"pointer",opacity:y===0?.5:1}:{}},"<<"),Oe.default.createElement("button",{onClick:R,className:n?"":"p-3 rounded-full bg-red-500 text-white hover:bg-red-600",style:n?{padding:"12px 24px",background:"#ef4444",border:"none",borderRadius:"999px",color:"white",cursor:"pointer",fontWeight:"500"}:{}},h?"Pause":"Play"),Oe.default.createElement("button",{onClick:U,disabled:y>=c.length-1,className:n?"":"p-2 rounded-lg bg-gray-100 hover:bg-gray-200 disabled:opacity-50",style:n?{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"none",borderRadius:"8px",color:"white",cursor:y>=c.length-1?"not-allowed":"pointer",opacity:y>=c.length-1?.5:1}:{}},">>")),Oe.default.createElement("span",{className:n?"":"text-sm text-gray-600 font-mono",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.7)",fontFamily:Ve.mono}:{}},ce(ze?.timestamp_ms||0)," / ",ce(s?.duration_ms||0))),Oe.default.createElement("div",{className:"flex items-center gap-2"},Oe.default.createElement("span",{className:n?"":"text-sm text-gray-500",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.5)"}:{}},"Speed:"),[.5,1,2,4].map(V=>Oe.default.createElement("button",{key:V,onClick:()=>S(V),className:n?"":`px-2 py-1 rounded text-sm ${x===V?"bg-red-500 text-white":"bg-gray-100 text-gray-600"}`,style:n?{padding:"4px 10px",background:x===V?"#ef4444":"rgba(255,255,255,0.1)",color:"white",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"13px"}:{}},V,"x")))))):Oe.default.createElement("div",{className:"flex items-center justify-center h-64"},Oe.default.createElement("div",{className:"text-gray-500"},"No recording available"))}var be=te(re());var $w=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString();function _5({account:e,user:t,subscription:r,agentCount:n=0}){let{darkMode:o}=Nt(),[a,i]=(0,be.useState)(null),[l,s]=(0,be.useState)(!1),[u,c]=(0,be.useState)(!1),[d,f]=(0,be.useState)(!1),[p,m]=(0,be.useState)(null);(0,be.useEffect)(()=>{fetch("/api/usage").then(S=>S.ok?S.json():null).then(S=>i(S?.usage||null)).catch(()=>i(null))},[]);let g=async()=>{f(!0),m(null);try{await up({planSlug:"pro"})}catch(S){m(S.message),f(!1)}},h=()=>{e?.telemetry_api_key&&navigator.clipboard.writeText(e.telemetry_api_key).then(()=>{s(!0),setTimeout(()=>s(!1),2e3)})},v={backgroundColor:o?"#1f1f1f":"#ffffff",borderColor:o?"#2a2a2a":"#e5e7eb"},y=r?.plan_name||"Free",b={free:{seats:1,workspaces:1,agents:3,traces:"250/mo trial"},pro:{seats:5,workspaces:3,agents:"Unlimited",traces:"25,000/mo"},enterprise:{seats:"Unlimited",workspaces:"Unlimited",agents:"Unlimited",traces:"500,000+/mo"}},x=b[y.toLowerCase()]||b.free;return be.default.createElement("div",{className:"p-6 space-y-6"},be.default.createElement("div",null,be.default.createElement("h2",{className:`text-2xl font-bold ${o?"text-white":"text-gray-900"}`},"Organization"),be.default.createElement("p",{className:`mt-1 ${o?"text-gray-400":"text-gray-500"}`},"Manage your workspace, team, and billing")),be.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6"},be.default.createElement("div",{className:"border rounded-lg p-6",style:v},be.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${o?"text-white":"text-gray-900"}`},"Workspace"),be.default.createElement("div",{className:"space-y-3"},be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Name"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},e?.name||"My Workspace")),be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Owner"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},t?.email||"you@example.com")),be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Created"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},e?.created_at?new Date(e.created_at).toLocaleDateString():"Today")))),be.default.createElement("div",{className:"border rounded-lg p-6",style:v},be.default.createElement("div",{className:"flex items-center justify-between mb-4"},be.default.createElement("h3",{className:`text-lg font-semibold ${o?"text-white":"text-gray-900"}`},"Current Plan"),be.default.createElement("span",{className:"px-3 py-1 bg-red-100 text-red-700 rounded-full text-sm font-medium"},y)),be.default.createElement("div",{className:"space-y-3"},be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Team Seats"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},x.seats)),be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Workspaces"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},x.workspaces)),be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Agents"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},x.agents)),be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Traces"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},x.traces))),y.toLowerCase()!=="enterprise"&&be.default.createElement(be.default.Fragment,null,be.default.createElement("button",{onClick:g,disabled:d,className:"mt-4 w-full px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed"},d?"Redirecting to checkout\u2026":"Upgrade Plan"),p&&be.default.createElement("p",{className:"mt-2 text-sm text-red-500 text-center"},p)))),be.default.createElement("div",{className:"border rounded-lg p-6",style:v},be.default.createElement("div",{className:"flex items-center justify-between mb-4"},be.default.createElement("h3",{className:`text-lg font-semibold ${o?"text-white":"text-gray-900"}`},"Team Members"),be.default.createElement("button",{className:"px-4 py-2 text-sm bg-gray-100 text-gray-700 rounded-lg hover:bg-gray-200 transition-colors"},"+ Invite Member")),be.default.createElement("div",{className:"overflow-hidden"},be.default.createElement("table",{className:"min-w-full"},be.default.createElement("thead",null,be.default.createElement("tr",{className:o?"border-b border-gray-700":"border-b border-gray-200"},be.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${o?"text-gray-400":"text-gray-500"}`},"Member"),be.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${o?"text-gray-400":"text-gray-500"}`},"Role"),be.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${o?"text-gray-400":"text-gray-500"}`},"Status"))),be.default.createElement("tbody",null,be.default.createElement("tr",null,be.default.createElement("td",{className:"py-3 px-4"},be.default.createElement("div",{className:"flex items-center space-x-3"},be.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},be.default.createElement("span",{className:"text-red-600 font-medium text-sm"},t?.name?.charAt(0).toUpperCase()||"U")),be.default.createElement("div",null,be.default.createElement("p",{className:`font-medium ${o?"text-white":"text-gray-900"}`},t?.name||"You"),be.default.createElement("p",{className:`text-sm ${o?"text-gray-400":"text-gray-500"}`},t?.email)))),be.default.createElement("td",{className:"py-3 px-4"},be.default.createElement("span",{className:"px-2 py-1 bg-purple-100 text-purple-700 rounded text-sm"},"Owner")),be.default.createElement("td",{className:"py-3 px-4"},be.default.createElement("span",{className:"flex items-center text-green-600"},be.default.createElement("span",{className:"w-2 h-2 bg-green-500 rounded-full mr-2"}),"Active"))))))),be.default.createElement("div",{className:"border rounded-lg p-6",style:v},be.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${o?"text-white":"text-gray-900"}`},"Usage This Month"),be.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4"},be.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:o?"#252525":"#f9fafb"}},be.default.createElement("p",{className:`text-2xl font-bold ${o?"text-white":"text-gray-900"}`},n),be.default.createElement("p",{className:`text-sm ${o?"text-gray-400":"text-gray-500"}`},"Agents")),be.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:o?"#252525":"#f9fafb"}},be.default.createElement("p",{className:`text-2xl font-bold ${o?"text-white":"text-gray-900"}`},$w(a?.traces_used),a?.traces_limit>0&&be.default.createElement("span",{className:`text-sm font-normal ${o?"text-gray-500":"text-gray-400"}`}," / ",$w(a.traces_limit))),be.default.createElement("p",{className:`text-sm ${o?"text-gray-400":"text-gray-500"}`},"Traces")),be.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:o?"#252525":"#f9fafb"}},be.default.createElement("p",{className:`text-2xl font-bold ${o?"text-white":"text-gray-900"}`},$w(a?.runs_used)),be.default.createElement("p",{className:`text-sm ${o?"text-gray-400":"text-gray-500"}`},"Executions")),be.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:o?"#252525":"#f9fafb"}},be.default.createElement("p",{className:`text-2xl font-bold ${o?"text-white":"text-gray-900"}`},$w(a?.tokens_used)),be.default.createElement("p",{className:`text-sm ${o?"text-gray-400":"text-gray-500"}`},"Tokens")))),be.default.createElement("div",{className:"border rounded-lg p-6",style:v},be.default.createElement("h3",{className:`text-lg font-semibold mb-1 ${o?"text-white":"text-gray-900"}`},"Telemetry"),be.default.createElement("p",{className:`text-sm mb-4 ${o?"text-gray-400":"text-gray-500"}`},"Send traces from your own ActiveAgent app to this workspace. Add this to your"," ",be.default.createElement("code",{className:`px-1 rounded text-xs ${o?"bg-gray-800 text-gray-300":"bg-gray-100 text-gray-700"}`},"config/active_agent.yml"),":"),be.default.createElement("pre",{className:`text-xs rounded-lg p-4 overflow-x-auto mb-4 ${o?"bg-black text-gray-300":"bg-gray-900 text-gray-100"}`},`telemetry: enabled: true endpoint: ${window.location.origin}/v1/traces - api_key: <%= ENV["ACTIVEAGENTS_API_KEY"] %>`),be.default.createElement("div",{className:"flex items-center justify-between gap-3"},be.default.createElement("div",{className:"min-w-0 flex-1"},be.default.createElement("p",{className:`text-xs uppercase tracking-wide mb-1 ${o?"text-gray-500":"text-gray-400"}`},"API Key"),be.default.createElement("code",{className:`block truncate text-sm font-mono px-3 py-2 rounded-lg border ${o?"bg-gray-900 border-gray-700 text-gray-300":"bg-gray-50 border-gray-200 text-gray-700"}`},e?.telemetry_api_key?u?e.telemetry_api_key:"\u2022".repeat(24):"Not available")),be.default.createElement("div",{className:"flex gap-2 flex-shrink-0 self-end"},be.default.createElement("button",{onClick:()=>c(!u),className:"px-3 py-2 text-sm bg-gray-100 text-gray-700 rounded-lg hover:bg-gray-200 transition-colors"},u?"Hide":"Show"),be.default.createElement("button",{onClick:h,className:"px-3 py-2 text-sm bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors"},l?"Copied!":"Copy")))))}var me=te(re());var JF={openai:{label:"OpenAI",icon:"\u{1F916}",placeholder:"sk-\u2026"},anthropic:{label:"Anthropic",icon:"\u{1F9E0}",placeholder:"sk-ant-\u2026"},openrouter:{label:"OpenRouter",icon:"\u{1F500}",placeholder:"sk-or-\u2026"},ollama:{label:"Ollama",icon:"\u{1F999}",placeholder:"http://localhost:11434/v1"}};function N5({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=Nt(),[o,a]=(0,me.useState)("profile"),[i,l]=(0,me.useState)([]),[s,u]=(0,me.useState)([]),[c,d]=(0,me.useState)(!1),[f,p]=(0,me.useState)(""),[m,g]=(0,me.useState)(!1),[h,v]=(0,me.useState)(null),[y,b]=(0,me.useState)(!1),[x,S]=(0,me.useState)(null),[w,T]=(0,me.useState)(null),[k,A]=(0,me.useState)(""),[M,H]=(0,me.useState)(!1),F=(0,me.useCallback)(async()=>{try{let[E,j]=await Promise.all([fetch("/api/api_keys"),fetch("/api/provider_keys")]);if(!E.ok||!j.ok)throw new Error("Failed to load keys");let R=await E.json(),U=await j.json();l(R.api_keys||[]),u(U.provider_keys||[]),S(null)}catch{S("Could not load API keys. Are you signed in?")}finally{d(!0)}},[]);(0,me.useEffect)(()=>{o==="api-keys"&&!c&&F()},[o,c,F]);let X=async()=>{if(!(!f.trim()||m)){g(!0),S(null);try{let E=await fetch("/api/api_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:f.trim()})});if(!E.ok)throw new Error("create failed");let j=await E.json();v(j.api_key),b(!1),p(""),await F()}catch{S("Could not create the API key.")}finally{g(!1)}}},P=async E=>{if(window.confirm("Revoke this API key? Requests using it will stop working immediately."))try{if(!(await fetch(`/api/api_keys/${E}`,{method:"DELETE"})).ok)throw new Error("delete failed");h&&h.id===E&&v(null),await F()}catch{S("Could not revoke the API key.")}},Y=async E=>{if(!(!k.trim()||M)){H(!0),S(null);try{let j=await fetch("/api/provider_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:E,credential:k.trim()})});if(!j.ok){let R=await j.json().catch(()=>({}));throw new Error(Array.isArray(R.error)?R.error.join(", "):"save failed")}T(null),A(""),await F()}catch(j){S(`Could not save the ${JF[E]?.label||E} credential${j.message!=="save failed"?`: ${j.message}`:"."}`)}finally{H(!1)}}},C=async E=>{if(window.confirm("Remove this provider credential? Runs will fall back to the platform default credentials, or fail until a key is configured."))try{if(!(await fetch(`/api/provider_keys/${E}`,{method:"DELETE"})).ok)throw new Error("delete failed");await F()}catch{S("Could not remove the provider credential.")}},_=async E=>{try{await navigator.clipboard.writeText(E),b(!0),setTimeout(()=>b(!1),2e3)}catch{}},z={backgroundColor:r?"#1f1f1f":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"};return me.default.createElement("div",{className:"p-6 space-y-6"},me.default.createElement("div",null,me.default.createElement("h2",{className:`text-2xl font-bold ${r?"text-white":"text-gray-900"}`},"Settings"),me.default.createElement("p",{className:`mt-1 ${r?"text-gray-400":"text-gray-500"}`},"Manage your account and preferences")),me.default.createElement("div",{className:"border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},me.default.createElement("nav",{className:"flex space-x-8"},[{id:"profile",label:"Profile"},{id:"api-keys",label:"API Keys"},{id:"notifications",label:"Notifications"},{id:"billing",label:"Billing"}].map(E=>me.default.createElement("button",{key:E.id,onClick:()=>a(E.id),className:`py-4 px-1 border-b-2 font-medium text-sm transition-colors ${o===E.id?"border-red-500 text-red-500":`border-transparent ${r?"text-gray-400 hover:text-gray-300":"text-gray-500 hover:text-gray-700"}`}`},E.label)))),o==="profile"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Profile Information"),me.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},me.default.createElement("div",null,me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"First Name"),me.default.createElement("input",{type:"text",defaultValue:e?.name?.split(" ")[0]||"",className:`w-full px-3 py-2 border rounded-lg ${r?"bg-gray-800 border-gray-700 text-white":"bg-white border-gray-300 text-gray-900"}`})),me.default.createElement("div",null,me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Last Name"),me.default.createElement("input",{type:"text",defaultValue:e?.name?.split(" ")[1]||"",className:`w-full px-3 py-2 border rounded-lg ${r?"bg-gray-800 border-gray-700 text-white":"bg-white border-gray-300 text-gray-900"}`})),me.default.createElement("div",{className:"md:col-span-2"},me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Email"),me.default.createElement("input",{type:"email",defaultValue:e?.email||"",disabled:!0,className:`w-full px-3 py-2 border rounded-lg cursor-not-allowed ${r?"bg-gray-900 border-gray-700 text-gray-500":"bg-gray-100 border-gray-300 text-gray-500"}`}))),me.default.createElement("button",{className:"mt-4 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Save Changes")),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Appearance"),me.default.createElement("div",{className:"flex items-center justify-between"},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Dark Mode"),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Use dark theme across the dashboard")),me.default.createElement("button",{onClick:n,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${r?"bg-red-500":"bg-gray-300"}`},me.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${r?"translate-x-6":"translate-x-1"}`}))))),o==="api-keys"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("div",{className:"flex items-center justify-between mb-4"},me.default.createElement("h3",{className:`text-lg font-semibold ${r?"text-white":"text-gray-900"}`},"API Keys"),me.default.createElement("div",{className:"flex items-center space-x-2"},me.default.createElement("input",{type:"text",value:f,onChange:E=>p(E.target.value),onKeyDown:E=>E.key==="Enter"&&X(),placeholder:"Key name (e.g. production)",className:`px-3 py-2 border rounded-lg text-sm ${r?"bg-gray-800 border-gray-700 text-white placeholder-gray-500":"bg-white border-gray-300 text-gray-900"}`}),me.default.createElement("button",{onClick:X,disabled:!f.trim()||m,className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 disabled:opacity-50 whitespace-nowrap"},m?"Creating\u2026":"+ Create New Key"))),me.default.createElement("div",{className:`p-4 rounded-lg mb-4 ${r?"bg-yellow-900/20 border border-yellow-800":"bg-yellow-50 border border-yellow-200"}`},me.default.createElement("p",{className:`text-sm ${r?"text-yellow-300":"text-yellow-800"}`},"\u26A0\uFE0F API keys are secrets. Never share them or commit them to version control.")),x&&me.default.createElement("div",{className:`p-4 rounded-lg mb-4 text-sm ${r?"bg-red-900/20 border border-red-800 text-red-300":"bg-red-50 border border-red-200 text-red-700"}`},x),h&&me.default.createElement("div",{className:`p-4 rounded-lg mb-4 border ${r?"bg-green-900/20 border-green-800":"bg-green-50 border-green-200"}`},me.default.createElement("p",{className:`text-sm font-medium mb-2 ${r?"text-green-300":"text-green-800"}`},"Key \u201C",h.name,"\u201D created. Copy it now \u2014 it won't be shown again."),me.default.createElement("div",{className:"flex items-center space-x-2"},me.default.createElement("code",{className:`flex-1 px-3 py-2 rounded text-sm font-mono break-all ${r?"bg-gray-900 text-green-300":"bg-white text-green-800 border border-green-200"}`},h.token),me.default.createElement("button",{onClick:()=>_(h.token),className:`px-3 py-2 text-sm rounded ${r?"bg-gray-700 text-gray-200 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"}`},y?"Copied!":"Copy"),me.default.createElement("button",{onClick:()=>v(null),className:`px-3 py-2 text-sm rounded ${r?"text-gray-400 hover:text-gray-200":"text-gray-500 hover:text-gray-700"}`},"Dismiss"))),i.length===0?me.default.createElement("div",{className:`text-center py-8 ${r?"text-gray-400":"text-gray-500"}`},me.default.createElement("p",null,c?"No API keys yet":"Loading\u2026"),c&&me.default.createElement("p",{className:"text-sm"},"Create your first API key to authenticate requests")):me.default.createElement("div",{className:"space-y-2"},i.map(E=>me.default.createElement("div",{key:E.id,className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},E.name),me.default.createElement("p",{className:`text-sm font-mono ${r?"text-gray-400":"text-gray-500"}`},E.masked_token,me.default.createElement("span",{className:"font-sans"}," \xB7 created ",new Date(E.created_at).toLocaleDateString(),E.last_used_at?` \xB7 last used ${new Date(E.last_used_at).toLocaleDateString()}`:" \xB7 never used"))),me.default.createElement("button",{onClick:()=>P(E.id),className:`px-3 py-1 text-sm rounded ${r?"bg-red-900/40 text-red-300 hover:bg-red-900/60":"bg-red-50 text-red-600 hover:bg-red-100"}`},"Revoke"))))),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Provider API Keys"),me.default.createElement("p",{className:`text-sm mb-4 ${r?"text-gray-400":"text-gray-500"}`},"Configure your own LLM provider credentials. Agent runs and evaluations on this account use these instead of the platform defaults. Keys are encrypted at rest."),me.default.createElement("div",{className:"space-y-4"},s.map(({provider:E,host_based:j,configured:R,hint:U})=>{let L=JF[E]||{label:E,icon:"\u{1F511}",placeholder:""},K=w===E;return me.default.createElement("div",{key:E,className:"p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",{className:"flex items-center justify-between"},me.default.createElement("div",{className:"flex items-center space-x-3"},me.default.createElement("span",{className:"text-xl"},L.icon),me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},L.label),me.default.createElement("p",{className:`text-sm ${R?r?"text-green-400":"text-green-600":r?"text-gray-400":"text-gray-500"}`},R?j?U:`Configured (${U})`:"Not configured"))),me.default.createElement("div",{className:"flex items-center space-x-2"},R&&!K&&me.default.createElement("button",{onClick:()=>C(E),className:`px-3 py-1 text-sm rounded ${r?"text-red-300 hover:bg-red-900/40":"text-red-600 hover:bg-red-50"}`},"Remove"),me.default.createElement("button",{onClick:()=>{T(K?null:E),A("")},className:`px-3 py-1 text-sm rounded ${r?"bg-gray-700 text-gray-300 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"}`},K?"Cancel":R?"Update":"Configure"))),K&&me.default.createElement("div",{className:"mt-3 flex items-center space-x-2"},me.default.createElement("input",{type:j?"text":"password",value:k,onChange:ae=>A(ae.target.value),onKeyDown:ae=>ae.key==="Enter"&&Y(E),placeholder:j?L.placeholder:`${L.label} API key (${L.placeholder})`,autoFocus:!0,className:`flex-1 px-3 py-2 border rounded-lg text-sm font-mono ${r?"bg-gray-800 border-gray-700 text-white placeholder-gray-500":"bg-white border-gray-300 text-gray-900"}`}),me.default.createElement("button",{onClick:()=>Y(E),disabled:!k.trim()||M,className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 disabled:opacity-50 text-sm"},M?"Saving\u2026":"Save")),j&&K&&me.default.createElement("p",{className:`mt-2 text-xs ${r?"text-gray-500":"text-gray-400"}`},"URL of your Ollama server's OpenAI-compatible endpoint. For a locally running Ollama use http://localhost:11434/v1 (the hosted platform needs a publicly reachable URL, e.g. a tunnel)."))})))),o==="notifications"&&me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Email Notifications"),me.default.createElement("div",{className:"space-y-4"},[{label:"Agent execution alerts",desc:"Get notified when agents fail or complete",enabled:!0},{label:"Weekly usage reports",desc:"Summary of traces, costs, and performance",enabled:!0},{label:"Security alerts",desc:"Important security notifications",enabled:!0},{label:"Product updates",desc:"New features and improvements",enabled:!1}].map((E,j)=>me.default.createElement("div",{key:j,className:"flex items-center justify-between py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},E.label),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},E.desc)),me.default.createElement("button",{className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${E.enabled?"bg-red-500":r?"bg-gray-700":"bg-gray-300"}`},me.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${E.enabled?"translate-x-6":"translate-x-1"}`})))))),o==="billing"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Subscription"),me.default.createElement("div",{className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Free Plan"),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Current plan")),me.default.createElement("button",{className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Upgrade to Pro"))),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Payment Method"),me.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No payment method on file"),me.default.createElement("button",{className:`mt-4 px-4 py-2 rounded-lg ${r?"bg-gray-700 text-gray-300":"bg-gray-200 text-gray-700"}`},"Add Payment Method")),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Invoices"),me.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No invoices yet"))))}var Pe=te(re());var hde=[{label:"Find demo questions",message:"What demo questions worked in our latest evaluations? Show the evidence and tell me whether they are verified on current main."},{label:"Explain a failed eval",message:"Show my latest evaluation reports and explain which failures need attention."},{label:"Draft an agent",message:"Prepare a read-only support agent that cites available evidence and explains missing information instead of inventing answers."}],_5={width:"100%",background:"var(--color-card)",color:"var(--color-text-primary)",border:"1px solid var(--color-border-strong)",borderRadius:8,padding:"9px 12px",font:"inherit"},Wa={color:"var(--color-text-muted)",fontSize:12};function RF(e){let t=e.latest_run?.path||e.path||"";return/^\/evaluations(?:\/\d+\/runs\/\d+\/report)?$/.test(t)?Re(t):null}function xde({card:e,onAsk:t,busy:r}){let n=RF(e),o=e.type==="demo_candidate",a=e.run_id||e.latest_run?.run_id,i=e.status||e.latest_run?.status;return Pe.default.createElement(ht,{padding:16,testId:"assistant-evidence-card",style:{display:"grid",gap:10}},Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},Pe.default.createElement(Tt,{tone:o?"warning":"info"},o?"Historical pass":"Recorded evaluation"),i&&Pe.default.createElement(Tt,{tone:i==="errored"||i==="failed"?"error":"muted"},i),e.check_strength&&Pe.default.createElement("span",{style:Wa},String(e.check_strength).replaceAll("_"," "))),Pe.default.createElement("div",{style:{fontWeight:600,overflowWrap:"anywhere"}},e.recorded_prompt||e.title),Pe.default.createElement("div",{style:{...Wa,fontFamily:ce}},[e.provider,e.model,a&&`run ${a}`].filter(Boolean).join(" \xB7 "),e.completed_at&&` \xB7 ${new Date(e.completed_at).toLocaleString()}`),e.output_excerpt&&Pe.default.createElement("div",{style:{fontSize:13,whiteSpace:"pre-wrap",color:"var(--color-text-secondary)"}},e.output_excerpt),(e.error||e.latest_run?.error)&&Pe.default.createElement("div",{style:{fontSize:13,whiteSpace:"pre-wrap",color:"var(--color-error)"}},e.error||e.latest_run.error),e.fault&&Pe.default.createElement("div",{style:Wa},"Fault: ",e.fault.replaceAll("_"," ")),e.samples_evaluated!=null&&Pe.default.createElement("div",{style:Wa},e.samples_passed||0," / ",e.samples_evaluated," scenarios passed"),e.tool_names?.length>0&&Pe.default.createElement("div",{style:Wa},"Tools recorded: ",e.tool_names.join(", ")),Array.isArray(e.caveats)&&e.caveats.length>0&&Pe.default.createElement("details",{style:Wa},Pe.default.createElement("summary",{style:{cursor:"pointer"}},"Evidence limits"),Pe.default.createElement("ul",{style:{paddingLeft:18,marginTop:8}},e.caveats.map((s,u)=>Pe.default.createElement("li",{key:u},s)))),Pe.default.createElement("div",{style:{display:"flex",gap:12,alignItems:"center",flexWrap:"wrap"}},n&&Pe.default.createElement("a",{href:n,target:"_blank",rel:"noopener noreferrer",style:{fontSize:13,color:"var(--color-accent-ui)"}},n===Re("/evaluations")?"Open evaluations \u2192":"Open report \u2192"),e.evaluation_id&&a&&Pe.default.createElement(mr,{size:"sm",disabled:r,onClick:()=>t(`Read evaluation ${e.evaluation_id}, run ${a}. Explain its results, the strength of its checks, and what needs fixing.`)},"Explain this run")))}function bde({draft:e,onReview:t}){return Pe.default.createElement(ht,{padding:18,testId:"assistant-agent-draft",style:{display:"grid",gap:12,borderColor:"var(--color-accent-ui)"}},Pe.default.createElement(et,null,"Agent draft \xB7 not saved"),Pe.default.createElement("div",{style:{fontWeight:600,fontSize:18}},e.name),Pe.default.createElement("p",{style:{margin:0,color:"var(--color-text-secondary)",fontSize:13}},e.description),Pe.default.createElement("div",{style:{...Wa,fontFamily:ce}},e.provider," / ",e.model),Pe.default.createElement("details",null,Pe.default.createElement("summary",{style:{cursor:"pointer",fontSize:13}},"Review instructions and tools"),Pe.default.createElement("pre",{style:{whiteSpace:"pre-wrap",fontFamily:"inherit",fontSize:13,maxHeight:280,overflow:"auto"}},e.instructions),Pe.default.createElement("p",{style:Wa},"Tools: ",e.tools?.length?e.tools.join(", "):"None")),Pe.default.createElement(mr,{variant:"primary",onClick:()=>t(e),style:{justifySelf:"start"}},"Review in builder \u2192"))}function E5({session:e,onSessionChange:t,onReviewDraft:r,onOpenSettings:n,executionEnabled:o=!0}){let[a,i]=(0,Pe.useState)(null),[l,s]=(0,Pe.useState)(""),[u,c]=(0,Pe.useState)(!1),[d,f]=(0,Pe.useState)(null),[p,m]=(0,Pe.useState)(!1),g=(0,Pe.useRef)(null),h=(0,Pe.useRef)(null),v=(0,Pe.useRef)(e);v.current=e,(0,Pe.useEffect)(()=>{let k=new AbortController;return fetch("/api/dashboard_assistant",{signal:k.signal}).then(async A=>{let M=await A.json();if(!A.ok)throw new Error(M.error||"Could not load assistant configuration.");i(M),v.current.provider||t({...v.current,...M.defaults})}).catch(A=>{A.name!=="AbortError"&&f({message:A.message})}),()=>{k.abort(),g.current?.abort()}},[]);let y=e.messages||[],b=e.provider||a?.defaults?.provider||"",x=e.model||"",S=a?.limits?.message_characters||8e3,w=a?.providers?.find(k=>k.id===b),T=async k=>{let A=k.trim();if(!A||u||!a||!o||!x.trim()||!p)return;let M=y.map(X=>({role:X.role,content:X.content})).slice(-12);for(;M.reduce((X,P)=>X+P.content.length,0)>24e3;)M.shift();let H=[...y,{role:"user",content:A}];t({...e,messages:H}),s(""),f(null),c(!0);let F=new AbortController;g.current=F;try{let X=await fetch("/api/dashboard_assistant",{method:"POST",signal:F.signal,headers:{"Content-Type":"application/json","X-CSRF-Token":document.querySelector('meta[name="csrf-token"]')?.content||""},body:JSON.stringify({message:A,history:M,provider:b,model:x.trim(),allow_provider_processing:!0})}),P=await X.json();if(!X.ok){f({message:typeof P.error=="string"?P.error:"The assistant could not complete this request.",setup:P.setup_required,retry:A}),t({...e,messages:y}),s(A);return}t({...e,messages:[...H,{role:"assistant",content:P.answer,cards:P.cards||[],references:P.references||[],drafts:P.drafts||[],limitations:P.limitations||[]}]})}catch(X){X.name!=="AbortError"&&(f({message:"Connection interrupted. No answer was received; the server may still be finishing the request."}),t({...e,messages:y}),s(A))}finally{c(!1)}};return Pe.default.createElement("div",{style:{maxWidth:980,margin:"0 auto",color:"var(--color-text-primary)",display:"grid",gap:22}},Pe.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",gap:16,alignItems:"start"}},Pe.default.createElement("div",null,Pe.default.createElement(et,null,"Workspace assistant"),Pe.default.createElement("h1",{style:{margin:"8px 0",fontSize:30,fontWeight:600,letterSpacing:"-0.035em"}},"Ask ActiveAgents"),Pe.default.createElement("p",{style:{margin:0,color:"var(--color-text-secondary)",fontSize:14}},"Find evaluation evidence. Understand failures. Build the next agent.")),y.length>0&&Pe.default.createElement(mr,{disabled:u,onClick:()=>{t({...e,messages:[]}),f(null),s(""),m(!1)}},"New conversation")),!y.length&&Pe.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:12}},hde.map(k=>Pe.default.createElement("button",{key:k.label,onClick:()=>{s(k.message),h.current?.querySelector("textarea")?.focus()},style:{textAlign:"left",padding:20,background:"var(--color-card)",color:"var(--color-text-primary)",border:"1px solid var(--color-border)",borderRadius:12,cursor:"pointer"}},Pe.default.createElement("div",{style:{fontSize:14,fontWeight:600,marginBottom:8}},k.label," \u2197"),Pe.default.createElement("div",{style:{fontSize:12,lineHeight:1.6,color:"var(--color-text-secondary)"}},k.message)))),Pe.default.createElement("div",{role:"log","aria-label":"Assistant conversation","aria-live":"polite",style:{display:"grid",gap:20}},y.map((k,A)=>Pe.default.createElement("div",{key:A,style:{display:"grid",gap:12}},Pe.default.createElement(et,{color:k.role==="user"?"var(--color-text-muted)":"var(--color-accent-ui)"},k.role==="user"?"You":"ActiveAgents"),Pe.default.createElement("div",{style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere",lineHeight:1.7,fontSize:14}},k.content),k.cards?.map(M=>Pe.default.createElement(xde,{key:M.id,card:M,onAsk:H=>{s(H),h.current?.querySelector("textarea")?.focus()},busy:u})),k.references?.length>0&&Pe.default.createElement("div",{"aria-label":"Evidence references",style:{...Wa,display:"flex",gap:12,flexWrap:"wrap"}},k.references.map(M=>{let H=RF(M);return H&&Pe.default.createElement("a",{key:M.id,href:H,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--color-accent-ui)"}},M.id)})),k.drafts?.map(M=>Pe.default.createElement(bde,{key:M.id,draft:M,onReview:r})),k.limitations?.length>0&&Pe.default.createElement("details",{style:Wa},Pe.default.createElement("summary",{style:{cursor:"pointer"}},"Scope of this answer"),Pe.default.createElement("ul",{style:{paddingLeft:18}},k.limitations.map((M,H)=>Pe.default.createElement("li",{key:H},M)))))),u&&Pe.default.createElement("div",{role:"status",style:{color:"var(--color-text-secondary)",fontSize:13}},"Working with your workspace evidence\u2026")),d&&Pe.default.createElement(ht,{padding:16,role:"alert",style:{borderColor:"var(--color-warning)",display:"grid",gap:12}},Pe.default.createElement("div",{style:{fontSize:14}},d.message),d.setup&&Pe.default.createElement(mr,{onClick:n,style:{justifySelf:"start"}},"Configure provider \u2192")),Pe.default.createElement(ht,{padding:18},Pe.default.createElement("form",{ref:h,onSubmit:k=>{k.preventDefault(),T(l)},style:{display:"grid",gap:14}},Pe.default.createElement("label",{htmlFor:"assistant-question",style:{fontSize:13,fontWeight:600}},"What would you like to do?"),Pe.default.createElement("textarea",{id:"assistant-question",placeholder:"Ask about your evals, or describe an agent to build\u2026",value:l,onChange:k=>s(k.target.value),maxLength:S,rows:3,disabled:u,style:{..._5,resize:"vertical",boxSizing:"border-box"}}),Pe.default.createElement("div",{style:{display:"flex",gap:12,alignItems:"end",flexWrap:"wrap"}},Pe.default.createElement("label",{style:{display:"grid",gap:5,fontSize:11,flex:"1 1 140px"}},"Provider",Pe.default.createElement("select",{"aria-label":"Assistant provider",value:b,disabled:u||!a,onChange:k=>{let A=a.providers.find(M=>M.id===k.target.value);m(!1),t({...e,provider:A?.id||"",model:A?.default_model||""})},style:_5},Pe.default.createElement("option",{value:""},a?"Choose a provider\u2026":"Loading\u2026"),a?.providers?.map(k=>Pe.default.createElement("option",{key:k.id,value:k.id},k.id,k.configured?"":" \xB7 setup needed")))),Pe.default.createElement("label",{style:{display:"grid",gap:5,fontSize:11,flex:"2 1 200px"}},"Model",Pe.default.createElement("input",{"aria-label":"Assistant model",value:x,disabled:u||!a,maxLength:160,onChange:k=>{m(!1),t({...e,model:k.target.value})},style:_5})),Pe.default.createElement(mr,{variant:"primary",type:"submit",disabled:u||!a||!l.trim()||!x.trim()||!o||!p},u?"Working\u2026":"Ask ActiveAgents \u2192")),Pe.default.createElement("label",{style:{display:"flex",gap:9,alignItems:"start",fontSize:12,lineHeight:1.6,color:"var(--color-text-secondary)"}},Pe.default.createElement("input",{type:"checkbox",checked:p,disabled:u||!a,onChange:k=>m(k.target.checked),style:{marginTop:4}}),Pe.default.createElement("span",null,"Allow ",b||"the selected provider"," / ",x||"model"," to process my messages, recent conversation history, and authorized evaluation report excerpts for this conversation.")),Pe.default.createElement("div",{style:{...Wa,lineHeight:1.5}},o?w&&!w.configured?"This provider needs a credential in Settings before the assistant can respond.":"Uses your configured model provider. Agent drafts are reviewed before saving.":"Agent execution is disabled on this dashboard."," ","Reloading or starting a new conversation clears this conversation view. Your provider's data retention settings still apply."))))}function wde({user:e,initialAgents:t=[],meta:r={},account:n=null,subscription:o=null}){let{darkMode:a}=Nt(),[i,l]=(0,rt.useState)(t),[s,u]=(0,rt.useState)("list"),[c,d]=(0,rt.useState)(null),[f,p]=(0,rt.useState)(!1),[m,g]=(0,rt.useState)(null),[h,v]=(0,rt.useState)(!1),[y,b]=(0,rt.useState)("recent"),[x,S]=(0,rt.useState)({messages:[]}),[w,T]=(0,rt.useState)(null),k=r.assistantEnabled!==!1,[A,M]=(0,rt.useState)(null);(0,rt.useEffect)(()=>{let U=()=>{let L=dl();if(L==="/assistant"&&k)u("assistant");else if(L.startsWith("/traces"))u("traces");else if(L.startsWith("/metrics"))u("metrics");else if(L.startsWith("/interactions"))u("interactions");else if(L.startsWith("/tools"))u("tools");else if(L.startsWith("/mcp")){let K=L.match(/^\/mcp\/([^/?#]+)/)?.[1];K&&M(decodeURIComponent(K)),u("mcp")}else if(L.startsWith("/evaluations"))u("evaluations");else if(L.startsWith("/analytics"))u("analytics");else if(L.startsWith("/agents/new"))u("builder");else if(L.match(/\/agents\/\d+\/(interactions|history)/)){let K=L.match(/\/agents\/(\d+)/)?.[1];L.includes("/history")&&window.history.replaceState({},"",L.replace("/history","/interactions")),K&&H(K,"history")}else if(L.match(/\/agents\/\d+\/analytics/)){let K=L.match(/\/agents\/(\d+)/)?.[1];K&&H(K,"agent-analytics")}else if(L.match(/\/agents\/\d+\/edit/)){let K=L.match(/\/agents\/(\d+)/)?.[1];K&&H(K,"editor")}else if(L.match(/\/agents\/\d+\/run/)){let K=L.match(/\/agents\/(\d+)/)?.[1];K&&H(K,"runner")}else if(L.match(/\/agents\/\d+\/?$/)){let K=L.match(/\/agents\/(\d+)/)?.[1];K&&H(K,"history")}else L.startsWith("/replay")?u("replay"):L.startsWith("/sandbox")||L.startsWith("/demo")?u("sandbox"):L.startsWith("/organization")?u("organization"):L.startsWith("/settings")?u("settings"):u("list")};return U(),window.addEventListener("popstate",U),window.addEventListener("dashboard:navigate",U),()=>{window.removeEventListener("popstate",U),window.removeEventListener("dashboard:navigate",U)}},[]);let H=async(U,L)=>{p(!0);try{let ae=await(await fetch(`/api/agents/${U}`)).json();d(ae.agent),u(L)}catch{P("Failed to load agent","error")}finally{p(!1)}},F=async(U=y)=>{p(!0);try{let K=await(await fetch(`/api/agents?sort=${U}`)).json();l(K.agents)}catch{P("Failed to refresh agents","error")}finally{p(!1)}},X=U=>{b(U),F(U)},P=(U,L="info")=>{g({message:U,type:L}),setTimeout(()=>g(null),3e3)},Y=async U=>{p(!0);try{let L=await fetch("/api/agents",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:U})});if(L.ok){let K=await L.json();l([K.agent,...i]),d(K.agent),u("editor"),P("Agent created successfully!","success"),window.history.pushState({},"",Re(`/agents/${K.agent.id}/edit`))}else{let K=await L.json();P(K.errors?.join(", ")||"Failed to create agent","error")}}catch{P("Failed to create agent","error")}finally{p(!1)}},C=async(U,L)=>{p(!0);try{let K=await fetch(`/api/agents/${U}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:L})});if(K.ok){let ae=await K.json();l(i.map(de=>de.id===U?ae.agent:de)),d(ae.agent),P("Agent updated!","success")}else{let ae=await K.json();P(ae.errors?.join(", ")||"Failed to update agent","error")}}catch{P("Failed to update agent","error")}finally{p(!1)}},_=async U=>{if(confirm("Are you sure you want to delete this agent?")){p(!0);try{(await fetch(`/api/agents/${U}`,{method:"DELETE"})).ok&&(l(i.filter(K=>K.id!==U)),d(null),u("list"),P("Agent deleted","success"),window.history.pushState({},"",Re()))}catch{P("Failed to delete agent","error")}finally{p(!1)}}},z=async U=>{p(!0);try{let L=await fetch(`/api/agents/${U}/duplicate`,{method:"POST"});if(L.ok){let K=await L.json();l([K.agent,...i]),P("Agent duplicated!","success")}}catch{P("Failed to duplicate agent","error")}finally{p(!1)}},D=U=>{l([U,...i]),v(!1),P("Agent created from template!","success"),j("editor",U)},E=["editor","runner","agent-analytics","history"],j=(U,L=null)=>{if(U==="assistant"&&!k)return;U==="builder"&&T(null),L?.id&&E.includes(U)&&L.instructions===void 0?H(L.id,U):(d(L),u(U));let K=Re();U==="assistant"?K=Re("/assistant"):U==="builder"?K=Re("/agents/new"):U==="editor"&&L?K=Re(`/agents/${L.id}/edit`):U==="runner"&&L?K=Re(`/agents/${L.id}/run`):U==="agent-analytics"&&L?K=Re(`/agents/${L.id}/analytics`):U==="history"&&L?K=Re(`/agents/${L.id}/interactions`):U==="analytics"?K=Re("/analytics"):U==="traces"?K=Re("/traces"):U==="metrics"?K=Re("/metrics"):U==="interactions"?K=Re("/interactions"):U==="tools"?K=Re("/tools"):U==="mcp"?K=Re("/mcp"):U==="evaluations"?K=Re("/evaluations"):U==="replay"?K=Re("/replay"):U==="sandbox"?K=Re("/sandbox"):U==="organization"?K=Re("/organization"):U==="settings"&&(K=Re("/settings")),window.history.pushState({},"",K)},R=()=>{switch(s){case"assistant":return k?rt.default.createElement(E5,{session:x,onSessionChange:S,executionEnabled:r.executionEnabled!==!1,onOpenSettings:()=>j("settings"),onReviewDraft:U=>{T(U),u("builder"),window.history.pushState({},"",Re("/agents/new"))}}):null;case"builder":return rt.default.createElement(jA,{key:w?.id||"new-agent",initialDraft:w,meta:r,onSave:Y,onCancel:()=>j(w?"assistant":"list"),isLoading:f});case"editor":return c?rt.default.createElement(kw,{key:`editor-${c.id}`,agent:c,meta:r,onSave:U=>C(c.id,U),onDelete:()=>_(c.id),onRun:()=>j("runner",c),onDuplicate:()=>z(c.id),onRunReport:()=>j("history",c),onBack:()=>j("list"),isLoading:f}):null;case"runner":return c?rt.default.createElement(RE,{agent:c,onBack:()=>j("editor",c)}):null;case"agent-analytics":return c?rt.default.createElement(kw,{key:`agent-analytics-${c.id}`,agent:c,meta:r,initialTab:"metrics",onSave:U=>C(c.id,U),onDelete:()=>_(c.id),onRun:()=>j("runner",c),onDuplicate:()=>z(c.id),onRunReport:()=>j("history",c),onBack:()=>j("list"),isLoading:f}):null;case"history":return c?rt.default.createElement(t5,{agent:c,onBack:()=>j("editor",c)}):null;case"analytics":return rt.default.createElement(e5,{onSelectAgent:U=>{H(U.id,"agent-analytics")}});case"traces":return rt.default.createElement(dc,null);case"metrics":return rt.default.createElement(m5,null);case"interactions":return rt.default.createElement(pl,null);case"tools":return rt.default.createElement(v5,{onOpenServer:U=>{M(U),j("mcp")}});case"mcp":return rt.default.createElement(g5,{focusServer:A,onOpenTools:()=>{M(null),j("tools")}});case"evaluations":return rt.default.createElement(Sg,null);case"replay":return rt.default.createElement(k5,{onHandoff:U=>{P("Taking over session...","info"),j("sandbox")},onClose:()=>j("list")});case"sandbox":return rt.default.createElement(S5,{initialType:"playwright_mcp",onClose:()=>j("list")});case"organization":return rt.default.createElement(C5,{user:e,account:n,subscription:o,agentCount:i.length});case"settings":return rt.default.createElement(N5,{user:e});default:return rt.default.createElement(IA,{agents:i,meta:r,onSelect:U=>j("editor",U),onNew:()=>j("builder"),onBrowseTemplates:()=>v(!0),onDuplicate:z,onDelete:_,onRefresh:F,sort:y,onSortChange:X,isLoading:f})}};return rt.default.createElement("div",{className:`aa-dashboard min-h-screen flex${a?" theme-dark":""}`,style:{backgroundColor:a?"#0f0f0f":"#f9fafb"}},rt.default.createElement(n5,{currentView:s,onNavigate:j,agentCount:i.length,account:n,user:e,gemVersion:r.activeagentVersion,assistantEnabled:k}),rt.default.createElement("div",{className:"flex-1 flex flex-col min-w-0"},rt.default.createElement(o5,{user:e,account:n}),rt.default.createElement("main",{className:"flex-1 p-6 overflow-auto"},R())),h&&rt.default.createElement(r5,{onUseTemplate:D,onClose:()=>v(!1)}),m&&rt.default.createElement("div",{className:`fixed bottom-4 right-4 px-6 py-3 rounded-lg shadow-lg transition-all transform ${m.type==="error"?"bg-red-500":m.type==="success"?"bg-green-500":"bg-blue-500"} text-white`},m.message),f&&rt.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-20 flex items-center justify-center z-50"},rt.default.createElement("div",{className:`rounded-lg p-4 shadow-xl ${a?"bg-gray-800":"bg-white"}`},rt.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}))))}function O5(e){return rt.default.createElement(AM,null,rt.default.createElement(l$,null,rt.default.createElement(wde,{...e})))}var Sde="active-agent-dashboard";function Ade(e){let t=e.replace(/\/$/,"");if(!t)return;let r=window.fetch.bind(window);window.fetch=(n,o)=>{if(typeof n=="string"&&n.startsWith("/api/"))return r(`${t}${n}`,o);if(n instanceof Request&&new URL(n.url,window.location.origin).pathname.startsWith("/api/")){let a=new URL(n.url,window.location.origin);return r(new Request(`${t}${a.pathname}${a.search}`,n),o)}return r(n,o)}}function eU(){let e=document.getElementById(Sde);if(!e)return;let t=JSON.parse(e.dataset.props||"{}");window.ACTIVE_AGENT_DASHBOARD=t,Ade(t.mountPath||"/"),(0,rU.createRoot)(e).render(tU.default.createElement(O5,{...t}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",eU):eU(); + api_key: <%= ENV["ACTIVEAGENTS_API_KEY"] %>`),be.default.createElement("div",{className:"flex items-center justify-between gap-3"},be.default.createElement("div",{className:"min-w-0 flex-1"},be.default.createElement("p",{className:`text-xs uppercase tracking-wide mb-1 ${o?"text-gray-500":"text-gray-400"}`},"API Key"),be.default.createElement("code",{className:`block truncate text-sm font-mono px-3 py-2 rounded-lg border ${o?"bg-gray-900 border-gray-700 text-gray-300":"bg-gray-50 border-gray-200 text-gray-700"}`},e?.telemetry_api_key?u?e.telemetry_api_key:"\u2022".repeat(24):"Not available")),be.default.createElement("div",{className:"flex gap-2 flex-shrink-0 self-end"},be.default.createElement("button",{onClick:()=>c(!u),className:"px-3 py-2 text-sm bg-gray-100 text-gray-700 rounded-lg hover:bg-gray-200 transition-colors"},u?"Hide":"Show"),be.default.createElement("button",{onClick:h,className:"px-3 py-2 text-sm bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors"},l?"Copied!":"Copy")))))}var ve=te(re());var RF={openai:{label:"OpenAI",icon:"\u{1F916}",placeholder:"sk-\u2026"},anthropic:{label:"Anthropic",icon:"\u{1F9E0}",placeholder:"sk-ant-\u2026"},openrouter:{label:"OpenRouter",icon:"\u{1F500}",placeholder:"sk-or-\u2026"},ollama:{label:"Ollama",icon:"\u{1F999}",placeholder:"http://localhost:11434/v1"}};function E5({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=Nt(),[o,a]=(0,ve.useState)("profile"),[i,l]=(0,ve.useState)([]),[s,u]=(0,ve.useState)([]),[c,d]=(0,ve.useState)(!1),[f,p]=(0,ve.useState)(""),[m,g]=(0,ve.useState)(!1),[h,v]=(0,ve.useState)(null),[y,b]=(0,ve.useState)(!1),[x,S]=(0,ve.useState)(null),[w,T]=(0,ve.useState)(null),[k,A]=(0,ve.useState)(""),[M,H]=(0,ve.useState)(!1),F=(0,ve.useCallback)(async()=>{try{let[E,j]=await Promise.all([fetch("/api/api_keys"),fetch("/api/provider_keys")]);if(!E.ok||!j.ok)throw new Error("Failed to load keys");let R=await E.json(),U=await j.json();l(R.api_keys||[]),u(U.provider_keys||[]),S(null)}catch{S("Could not load API keys. Are you signed in?")}finally{d(!0)}},[]);(0,ve.useEffect)(()=>{o==="api-keys"&&!c&&F()},[o,c,F]);let X=async()=>{if(!(!f.trim()||m)){g(!0),S(null);try{let E=await fetch("/api/api_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:f.trim()})});if(!E.ok)throw new Error("create failed");let j=await E.json();v(j.api_key),b(!1),p(""),await F()}catch{S("Could not create the API key.")}finally{g(!1)}}},P=async E=>{if(window.confirm("Revoke this API key? Requests using it will stop working immediately."))try{if(!(await fetch(`/api/api_keys/${E}`,{method:"DELETE"})).ok)throw new Error("delete failed");h&&h.id===E&&v(null),await F()}catch{S("Could not revoke the API key.")}},Y=async E=>{if(!(!k.trim()||M)){H(!0),S(null);try{let j=await fetch("/api/provider_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:E,credential:k.trim()})});if(!j.ok){let R=await j.json().catch(()=>({}));throw new Error(Array.isArray(R.error)?R.error.join(", "):"save failed")}T(null),A(""),await F()}catch(j){S(`Could not save the ${RF[E]?.label||E} credential${j.message!=="save failed"?`: ${j.message}`:"."}`)}finally{H(!1)}}},C=async E=>{if(window.confirm("Remove this provider credential? Runs will fall back to the platform default credentials, or fail until a key is configured."))try{if(!(await fetch(`/api/provider_keys/${E}`,{method:"DELETE"})).ok)throw new Error("delete failed");await F()}catch{S("Could not remove the provider credential.")}},_=async E=>{try{await navigator.clipboard.writeText(E),b(!0),setTimeout(()=>b(!1),2e3)}catch{}},z={backgroundColor:r?"#1f1f1f":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"};return ve.default.createElement("div",{className:"p-6 space-y-6"},ve.default.createElement("div",null,ve.default.createElement("h2",{className:`text-2xl font-bold ${r?"text-white":"text-gray-900"}`},"Settings"),ve.default.createElement("p",{className:`mt-1 ${r?"text-gray-400":"text-gray-500"}`},"Manage your account and preferences")),ve.default.createElement("div",{className:"border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},ve.default.createElement("nav",{className:"flex space-x-8"},[{id:"profile",label:"Profile"},{id:"api-keys",label:"API Keys"},{id:"notifications",label:"Notifications"},{id:"billing",label:"Billing"}].map(E=>ve.default.createElement("button",{key:E.id,onClick:()=>a(E.id),className:`py-4 px-1 border-b-2 font-medium text-sm transition-colors ${o===E.id?"border-red-500 text-red-500":`border-transparent ${r?"text-gray-400 hover:text-gray-300":"text-gray-500 hover:text-gray-700"}`}`},E.label)))),o==="profile"&&ve.default.createElement("div",{className:"space-y-6"},ve.default.createElement("div",{className:"border rounded-lg p-6",style:z},ve.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Profile Information"),ve.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},ve.default.createElement("div",null,ve.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"First Name"),ve.default.createElement("input",{type:"text",defaultValue:e?.name?.split(" ")[0]||"",className:`w-full px-3 py-2 border rounded-lg ${r?"bg-gray-800 border-gray-700 text-white":"bg-white border-gray-300 text-gray-900"}`})),ve.default.createElement("div",null,ve.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Last Name"),ve.default.createElement("input",{type:"text",defaultValue:e?.name?.split(" ")[1]||"",className:`w-full px-3 py-2 border rounded-lg ${r?"bg-gray-800 border-gray-700 text-white":"bg-white border-gray-300 text-gray-900"}`})),ve.default.createElement("div",{className:"md:col-span-2"},ve.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Email"),ve.default.createElement("input",{type:"email",defaultValue:e?.email||"",disabled:!0,className:`w-full px-3 py-2 border rounded-lg cursor-not-allowed ${r?"bg-gray-900 border-gray-700 text-gray-500":"bg-gray-100 border-gray-300 text-gray-500"}`}))),ve.default.createElement("button",{className:"mt-4 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Save Changes")),ve.default.createElement("div",{className:"border rounded-lg p-6",style:z},ve.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Appearance"),ve.default.createElement("div",{className:"flex items-center justify-between"},ve.default.createElement("div",null,ve.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Dark Mode"),ve.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Use dark theme across the dashboard")),ve.default.createElement("button",{onClick:n,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${r?"bg-red-500":"bg-gray-300"}`},ve.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${r?"translate-x-6":"translate-x-1"}`}))))),o==="api-keys"&&ve.default.createElement("div",{className:"space-y-6"},ve.default.createElement("div",{className:"border rounded-lg p-6",style:z},ve.default.createElement("div",{className:"flex items-center justify-between mb-4"},ve.default.createElement("h3",{className:`text-lg font-semibold ${r?"text-white":"text-gray-900"}`},"API Keys"),ve.default.createElement("div",{className:"flex items-center space-x-2"},ve.default.createElement("input",{type:"text",value:f,onChange:E=>p(E.target.value),onKeyDown:E=>E.key==="Enter"&&X(),placeholder:"Key name (e.g. production)",className:`px-3 py-2 border rounded-lg text-sm ${r?"bg-gray-800 border-gray-700 text-white placeholder-gray-500":"bg-white border-gray-300 text-gray-900"}`}),ve.default.createElement("button",{onClick:X,disabled:!f.trim()||m,className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 disabled:opacity-50 whitespace-nowrap"},m?"Creating\u2026":"+ Create New Key"))),ve.default.createElement("div",{className:`p-4 rounded-lg mb-4 ${r?"bg-yellow-900/20 border border-yellow-800":"bg-yellow-50 border border-yellow-200"}`},ve.default.createElement("p",{className:`text-sm ${r?"text-yellow-300":"text-yellow-800"}`},"\u26A0\uFE0F API keys are secrets. Never share them or commit them to version control.")),x&&ve.default.createElement("div",{className:`p-4 rounded-lg mb-4 text-sm ${r?"bg-red-900/20 border border-red-800 text-red-300":"bg-red-50 border border-red-200 text-red-700"}`},x),h&&ve.default.createElement("div",{className:`p-4 rounded-lg mb-4 border ${r?"bg-green-900/20 border-green-800":"bg-green-50 border-green-200"}`},ve.default.createElement("p",{className:`text-sm font-medium mb-2 ${r?"text-green-300":"text-green-800"}`},"Key \u201C",h.name,"\u201D created. Copy it now \u2014 it won't be shown again."),ve.default.createElement("div",{className:"flex items-center space-x-2"},ve.default.createElement("code",{className:`flex-1 px-3 py-2 rounded text-sm font-mono break-all ${r?"bg-gray-900 text-green-300":"bg-white text-green-800 border border-green-200"}`},h.token),ve.default.createElement("button",{onClick:()=>_(h.token),className:`px-3 py-2 text-sm rounded ${r?"bg-gray-700 text-gray-200 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"}`},y?"Copied!":"Copy"),ve.default.createElement("button",{onClick:()=>v(null),className:`px-3 py-2 text-sm rounded ${r?"text-gray-400 hover:text-gray-200":"text-gray-500 hover:text-gray-700"}`},"Dismiss"))),i.length===0?ve.default.createElement("div",{className:`text-center py-8 ${r?"text-gray-400":"text-gray-500"}`},ve.default.createElement("p",null,c?"No API keys yet":"Loading\u2026"),c&&ve.default.createElement("p",{className:"text-sm"},"Create your first API key to authenticate requests")):ve.default.createElement("div",{className:"space-y-2"},i.map(E=>ve.default.createElement("div",{key:E.id,className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},ve.default.createElement("div",null,ve.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},E.name),ve.default.createElement("p",{className:`text-sm font-mono ${r?"text-gray-400":"text-gray-500"}`},E.masked_token,ve.default.createElement("span",{className:"font-sans"}," \xB7 created ",new Date(E.created_at).toLocaleDateString(),E.last_used_at?` \xB7 last used ${new Date(E.last_used_at).toLocaleDateString()}`:" \xB7 never used"))),ve.default.createElement("button",{onClick:()=>P(E.id),className:`px-3 py-1 text-sm rounded ${r?"bg-red-900/40 text-red-300 hover:bg-red-900/60":"bg-red-50 text-red-600 hover:bg-red-100"}`},"Revoke"))))),ve.default.createElement("div",{className:"border rounded-lg p-6",style:z},ve.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Provider API Keys"),ve.default.createElement("p",{className:`text-sm mb-4 ${r?"text-gray-400":"text-gray-500"}`},"Configure your own LLM provider credentials. Agent runs and evaluations on this account use these instead of the platform defaults. Keys are encrypted at rest."),ve.default.createElement("div",{className:"space-y-4"},s.map(({provider:E,host_based:j,configured:R,hint:U})=>{let L=RF[E]||{label:E,icon:"\u{1F511}",placeholder:""},q=w===E;return ve.default.createElement("div",{key:E,className:"p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},ve.default.createElement("div",{className:"flex items-center justify-between"},ve.default.createElement("div",{className:"flex items-center space-x-3"},ve.default.createElement("span",{className:"text-xl"},L.icon),ve.default.createElement("div",null,ve.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},L.label),ve.default.createElement("p",{className:`text-sm ${R?r?"text-green-400":"text-green-600":r?"text-gray-400":"text-gray-500"}`},R?j?U:`Configured (${U})`:"Not configured"))),ve.default.createElement("div",{className:"flex items-center space-x-2"},R&&!q&&ve.default.createElement("button",{onClick:()=>C(E),className:`px-3 py-1 text-sm rounded ${r?"text-red-300 hover:bg-red-900/40":"text-red-600 hover:bg-red-50"}`},"Remove"),ve.default.createElement("button",{onClick:()=>{T(q?null:E),A("")},className:`px-3 py-1 text-sm rounded ${r?"bg-gray-700 text-gray-300 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"}`},q?"Cancel":R?"Update":"Configure"))),q&&ve.default.createElement("div",{className:"mt-3 flex items-center space-x-2"},ve.default.createElement("input",{type:j?"text":"password",value:k,onChange:ae=>A(ae.target.value),onKeyDown:ae=>ae.key==="Enter"&&Y(E),placeholder:j?L.placeholder:`${L.label} API key (${L.placeholder})`,autoFocus:!0,className:`flex-1 px-3 py-2 border rounded-lg text-sm font-mono ${r?"bg-gray-800 border-gray-700 text-white placeholder-gray-500":"bg-white border-gray-300 text-gray-900"}`}),ve.default.createElement("button",{onClick:()=>Y(E),disabled:!k.trim()||M,className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 disabled:opacity-50 text-sm"},M?"Saving\u2026":"Save")),j&&q&&ve.default.createElement("p",{className:`mt-2 text-xs ${r?"text-gray-500":"text-gray-400"}`},"URL of your Ollama server's OpenAI-compatible endpoint. For a locally running Ollama use http://localhost:11434/v1 (the hosted platform needs a publicly reachable URL, e.g. a tunnel)."))})))),o==="notifications"&&ve.default.createElement("div",{className:"border rounded-lg p-6",style:z},ve.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Email Notifications"),ve.default.createElement("div",{className:"space-y-4"},[{label:"Agent execution alerts",desc:"Get notified when agents fail or complete",enabled:!0},{label:"Weekly usage reports",desc:"Summary of traces, costs, and performance",enabled:!0},{label:"Security alerts",desc:"Important security notifications",enabled:!0},{label:"Product updates",desc:"New features and improvements",enabled:!1}].map((E,j)=>ve.default.createElement("div",{key:j,className:"flex items-center justify-between py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},ve.default.createElement("div",null,ve.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},E.label),ve.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},E.desc)),ve.default.createElement("button",{className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${E.enabled?"bg-red-500":r?"bg-gray-700":"bg-gray-300"}`},ve.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${E.enabled?"translate-x-6":"translate-x-1"}`})))))),o==="billing"&&ve.default.createElement("div",{className:"space-y-6"},ve.default.createElement("div",{className:"border rounded-lg p-6",style:z},ve.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Subscription"),ve.default.createElement("div",{className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},ve.default.createElement("div",null,ve.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Free Plan"),ve.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Current plan")),ve.default.createElement("button",{className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Upgrade to Pro"))),ve.default.createElement("div",{className:"border rounded-lg p-6",style:z},ve.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Payment Method"),ve.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No payment method on file"),ve.default.createElement("button",{className:`mt-4 px-4 py-2 rounded-lg ${r?"bg-gray-700 text-gray-300":"bg-gray-200 text-gray-700"}`},"Add Payment Method")),ve.default.createElement("div",{className:"border rounded-lg p-6",style:z},ve.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Invoices"),ve.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No invoices yet"))))}var Pe=te(re());var bde=[{label:"Find demo questions",message:"What demo questions worked in our latest evaluations? Show the evidence and tell me whether they are verified on current main."},{label:"Explain a failed eval",message:"Show my latest evaluation reports and explain which failures need attention."},{label:"Draft an agent",message:"Prepare a read-only support agent that cites available evidence and explains missing information instead of inventing answers."}],O5={width:"100%",background:"var(--color-card)",color:"var(--color-text-primary)",border:"1px solid var(--color-border-strong)",borderRadius:8,padding:"9px 12px",font:"inherit"},Wa={color:"var(--color-text-muted)",fontSize:12};function eU(e){let t=e.latest_run?.path||e.path||"";return/^\/evaluations(?:\/\d+\/runs\/\d+\/report)?$/.test(t)?Re(t):null}function wde({card:e,onAsk:t,busy:r}){let n=eU(e),o=e.type==="demo_candidate",a=e.run_id||e.latest_run?.run_id,i=e.status||e.latest_run?.status;return Pe.default.createElement(ht,{padding:16,testId:"assistant-evidence-card",style:{display:"grid",gap:10}},Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},Pe.default.createElement(Tt,{tone:o?"warning":"info"},o?"Historical pass":"Recorded evaluation"),i&&Pe.default.createElement(Tt,{tone:i==="errored"||i==="failed"?"error":"muted"},i),e.check_strength&&Pe.default.createElement("span",{style:Wa},String(e.check_strength).replaceAll("_"," "))),Pe.default.createElement("div",{style:{fontWeight:600,overflowWrap:"anywhere"}},e.recorded_prompt||e.title),Pe.default.createElement("div",{style:{...Wa,fontFamily:fe}},[e.provider,e.model,a&&`run ${a}`].filter(Boolean).join(" \xB7 "),e.completed_at&&` \xB7 ${new Date(e.completed_at).toLocaleString()}`),e.output_excerpt&&Pe.default.createElement("div",{style:{fontSize:13,whiteSpace:"pre-wrap",color:"var(--color-text-secondary)"}},e.output_excerpt),(e.error||e.latest_run?.error)&&Pe.default.createElement("div",{style:{fontSize:13,whiteSpace:"pre-wrap",color:"var(--color-error)"}},e.error||e.latest_run.error),e.fault&&Pe.default.createElement("div",{style:Wa},"Fault: ",e.fault.replaceAll("_"," ")),e.samples_evaluated!=null&&Pe.default.createElement("div",{style:Wa},e.samples_passed||0," / ",e.samples_evaluated," scenarios passed"),e.tool_names?.length>0&&Pe.default.createElement("div",{style:Wa},"Tools recorded: ",e.tool_names.join(", ")),Array.isArray(e.caveats)&&e.caveats.length>0&&Pe.default.createElement("details",{style:Wa},Pe.default.createElement("summary",{style:{cursor:"pointer"}},"Evidence limits"),Pe.default.createElement("ul",{style:{paddingLeft:18,marginTop:8}},e.caveats.map((s,u)=>Pe.default.createElement("li",{key:u},s)))),Pe.default.createElement("div",{style:{display:"flex",gap:12,alignItems:"center",flexWrap:"wrap"}},n&&Pe.default.createElement("a",{href:n,target:"_blank",rel:"noopener noreferrer",style:{fontSize:13,color:"var(--color-accent-ui)"}},n===Re("/evaluations")?"Open evaluations \u2192":"Open report \u2192"),e.evaluation_id&&a&&Pe.default.createElement(mr,{size:"sm",disabled:r,onClick:()=>t(`Read evaluation ${e.evaluation_id}, run ${a}. Explain its results, the strength of its checks, and what needs fixing.`)},"Explain this run")))}function Sde({draft:e,onReview:t}){return Pe.default.createElement(ht,{padding:18,testId:"assistant-agent-draft",style:{display:"grid",gap:12,borderColor:"var(--color-accent-ui)"}},Pe.default.createElement(et,null,"Agent draft \xB7 not saved"),Pe.default.createElement("div",{style:{fontWeight:600,fontSize:18}},e.name),Pe.default.createElement("p",{style:{margin:0,color:"var(--color-text-secondary)",fontSize:13}},e.description),Pe.default.createElement("div",{style:{...Wa,fontFamily:fe}},e.provider," / ",e.model),Pe.default.createElement("details",null,Pe.default.createElement("summary",{style:{cursor:"pointer",fontSize:13}},"Review instructions and tools"),Pe.default.createElement("pre",{style:{whiteSpace:"pre-wrap",fontFamily:"inherit",fontSize:13,maxHeight:280,overflow:"auto"}},e.instructions),Pe.default.createElement("p",{style:Wa},"Tools: ",e.tools?.length?e.tools.join(", "):"None")),Pe.default.createElement(mr,{variant:"primary",onClick:()=>t(e),style:{justifySelf:"start"}},"Review in builder \u2192"))}function T5({session:e,onSessionChange:t,onReviewDraft:r,onOpenSettings:n,executionEnabled:o=!0}){let[a,i]=(0,Pe.useState)(null),[l,s]=(0,Pe.useState)(""),[u,c]=(0,Pe.useState)(!1),[d,f]=(0,Pe.useState)(null),[p,m]=(0,Pe.useState)(!1),g=(0,Pe.useRef)(null),h=(0,Pe.useRef)(null),v=(0,Pe.useRef)(e);v.current=e,(0,Pe.useEffect)(()=>{let k=new AbortController;return fetch("/api/dashboard_assistant",{signal:k.signal}).then(async A=>{let M=await A.json();if(!A.ok)throw new Error(M.error||"Could not load assistant configuration.");i(M),v.current.provider||t({...v.current,...M.defaults})}).catch(A=>{A.name!=="AbortError"&&f({message:A.message})}),()=>{k.abort(),g.current?.abort()}},[]);let y=e.messages||[],b=e.provider||a?.defaults?.provider||"",x=e.model||"",S=a?.limits?.message_characters||8e3,w=a?.providers?.find(k=>k.id===b),T=async k=>{let A=k.trim();if(!A||u||!a||!o||!x.trim()||!p)return;let M=y.map(X=>({role:X.role,content:X.content})).slice(-12);for(;M.reduce((X,P)=>X+P.content.length,0)>24e3;)M.shift();let H=[...y,{role:"user",content:A}];t({...e,messages:H}),s(""),f(null),c(!0);let F=new AbortController;g.current=F;try{let X=await fetch("/api/dashboard_assistant",{method:"POST",signal:F.signal,headers:{"Content-Type":"application/json"},body:JSON.stringify({message:A,history:M,provider:b,model:x.trim(),allow_provider_processing:!0})}),P=await X.json();if(!X.ok){f({message:typeof P.error=="string"?P.error:"The assistant could not complete this request.",setup:P.setup_required,retry:A}),t({...e,messages:y}),s(A);return}t({...e,messages:[...H,{role:"assistant",content:P.answer,cards:P.cards||[],references:P.references||[],drafts:P.drafts||[],limitations:P.limitations||[]}]})}catch(X){X.name!=="AbortError"&&(f({message:"Connection interrupted. No answer was received; the server may still be finishing the request."}),t({...e,messages:y}),s(A))}finally{c(!1)}};return Pe.default.createElement("div",{style:{maxWidth:980,margin:"0 auto",color:"var(--color-text-primary)",display:"grid",gap:22}},Pe.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",gap:16,alignItems:"start"}},Pe.default.createElement("div",null,Pe.default.createElement(et,null,"Workspace assistant"),Pe.default.createElement("h1",{style:{margin:"8px 0",fontSize:30,fontWeight:600,letterSpacing:"-0.035em"}},"Ask ActiveAgents"),Pe.default.createElement("p",{style:{margin:0,color:"var(--color-text-secondary)",fontSize:14}},"Find evaluation evidence. Understand failures. Build the next agent.")),y.length>0&&Pe.default.createElement(mr,{disabled:u,onClick:()=>{t({...e,messages:[]}),f(null),s(""),m(!1)}},"New conversation")),!y.length&&Pe.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:12}},bde.map(k=>Pe.default.createElement("button",{key:k.label,onClick:()=>{s(k.message),h.current?.querySelector("textarea")?.focus()},style:{textAlign:"left",padding:20,background:"var(--color-card)",color:"var(--color-text-primary)",border:"1px solid var(--color-border)",borderRadius:12,cursor:"pointer"}},Pe.default.createElement("div",{style:{fontSize:14,fontWeight:600,marginBottom:8}},k.label," \u2197"),Pe.default.createElement("div",{style:{fontSize:12,lineHeight:1.6,color:"var(--color-text-secondary)"}},k.message)))),Pe.default.createElement("div",{role:"log","aria-label":"Assistant conversation","aria-live":"polite",style:{display:"grid",gap:20}},y.map((k,A)=>Pe.default.createElement("div",{key:A,style:{display:"grid",gap:12}},Pe.default.createElement(et,{color:k.role==="user"?"var(--color-text-muted)":"var(--color-accent-ui)"},k.role==="user"?"You":"ActiveAgents"),Pe.default.createElement("div",{style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere",lineHeight:1.7,fontSize:14}},k.content),k.cards?.map(M=>Pe.default.createElement(wde,{key:M.id,card:M,onAsk:H=>{s(H),h.current?.querySelector("textarea")?.focus()},busy:u})),k.references?.length>0&&Pe.default.createElement("div",{"aria-label":"Evidence references",style:{...Wa,display:"flex",gap:12,flexWrap:"wrap"}},k.references.map(M=>{let H=eU(M);return H&&Pe.default.createElement("a",{key:M.id,href:H,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--color-accent-ui)"}},M.id)})),k.drafts?.map(M=>Pe.default.createElement(Sde,{key:M.id,draft:M,onReview:r})),k.limitations?.length>0&&Pe.default.createElement("details",{style:Wa},Pe.default.createElement("summary",{style:{cursor:"pointer"}},"Scope of this answer"),Pe.default.createElement("ul",{style:{paddingLeft:18}},k.limitations.map((M,H)=>Pe.default.createElement("li",{key:H},M)))))),u&&Pe.default.createElement("div",{role:"status",style:{color:"var(--color-text-secondary)",fontSize:13}},"Working with your workspace evidence\u2026")),d&&Pe.default.createElement(ht,{padding:16,role:"alert",style:{borderColor:"var(--color-warning)",display:"grid",gap:12}},Pe.default.createElement("div",{style:{fontSize:14}},d.message),d.setup&&Pe.default.createElement(mr,{onClick:n,style:{justifySelf:"start"}},"Configure provider \u2192")),Pe.default.createElement(ht,{padding:18},Pe.default.createElement("form",{ref:h,onSubmit:k=>{k.preventDefault(),T(l)},style:{display:"grid",gap:14}},Pe.default.createElement("label",{htmlFor:"assistant-question",style:{fontSize:13,fontWeight:600}},"What would you like to do?"),Pe.default.createElement("textarea",{id:"assistant-question",placeholder:"Ask about your evals, or describe an agent to build\u2026",value:l,onChange:k=>s(k.target.value),maxLength:S,rows:3,disabled:u,style:{...O5,resize:"vertical",boxSizing:"border-box"}}),Pe.default.createElement("div",{style:{display:"flex",gap:12,alignItems:"end",flexWrap:"wrap"}},Pe.default.createElement("label",{style:{display:"grid",gap:5,fontSize:11,flex:"1 1 140px"}},"Provider",Pe.default.createElement("select",{"aria-label":"Assistant provider",value:b,disabled:u||!a,onChange:k=>{let A=a.providers.find(M=>M.id===k.target.value);m(!1),t({...e,provider:A?.id||"",model:A?.default_model||""})},style:O5},Pe.default.createElement("option",{value:""},a?"Choose a provider\u2026":"Loading\u2026"),a?.providers?.map(k=>Pe.default.createElement("option",{key:k.id,value:k.id},k.id,k.configured?"":" \xB7 setup needed")))),Pe.default.createElement("label",{style:{display:"grid",gap:5,fontSize:11,flex:"2 1 200px"}},"Model",Pe.default.createElement("input",{"aria-label":"Assistant model",value:x,disabled:u||!a,maxLength:160,onChange:k=>{m(!1),t({...e,model:k.target.value})},style:O5})),Pe.default.createElement(mr,{variant:"primary",type:"submit",disabled:u||!a||!l.trim()||!x.trim()||!o||!p},u?"Working\u2026":"Ask ActiveAgents \u2192")),Pe.default.createElement("label",{style:{display:"flex",gap:9,alignItems:"start",fontSize:12,lineHeight:1.6,color:"var(--color-text-secondary)"}},Pe.default.createElement("input",{type:"checkbox",checked:p,disabled:u||!a,onChange:k=>m(k.target.checked),style:{marginTop:4}}),Pe.default.createElement("span",null,"Allow ",b||"the selected provider"," / ",x||"model"," to process my messages, recent conversation history, and authorized evaluation report excerpts for this conversation.")),Pe.default.createElement("div",{style:{...Wa,lineHeight:1.5}},o?w&&!w.configured?"This provider needs a credential in Settings before the assistant can respond.":"Uses your configured model provider. Agent drafts are reviewed before saving.":"Agent execution is disabled on this dashboard."," ","Reloading or starting a new conversation clears this conversation view. Your provider's data retention settings still apply."))))}function Ade({user:e,initialAgents:t=[],meta:r={},account:n=null,subscription:o=null}){let{darkMode:a}=Nt(),[i,l]=(0,rt.useState)(t),[s,u]=(0,rt.useState)("list"),[c,d]=(0,rt.useState)(null),[f,p]=(0,rt.useState)(!1),[m,g]=(0,rt.useState)(null),[h,v]=(0,rt.useState)(!1),[y,b]=(0,rt.useState)("recent"),[x,S]=(0,rt.useState)({messages:[]}),[w,T]=(0,rt.useState)(null),k=r.assistantEnabled!==!1,[A,M]=(0,rt.useState)(null);(0,rt.useEffect)(()=>{let U=()=>{let L=dl();if(L==="/assistant"&&k)u("assistant");else if(L.startsWith("/traces"))u("traces");else if(L.startsWith("/metrics"))u("metrics");else if(L.startsWith("/interactions"))u("interactions");else if(L.startsWith("/tools"))u("tools");else if(L.startsWith("/mcp")){let q=L.match(/^\/mcp\/([^/?#]+)/)?.[1];q&&M(decodeURIComponent(q)),u("mcp")}else if(L.startsWith("/evaluations"))u("evaluations");else if(L.startsWith("/analytics"))u("analytics");else if(L.startsWith("/agents/new"))u("builder");else if(L.match(/\/agents\/\d+\/(interactions|history)/)){let q=L.match(/\/agents\/(\d+)/)?.[1];L.includes("/history")&&window.history.replaceState({},"",L.replace("/history","/interactions")),q&&H(q,"history")}else if(L.match(/\/agents\/\d+\/analytics/)){let q=L.match(/\/agents\/(\d+)/)?.[1];q&&H(q,"agent-analytics")}else if(L.match(/\/agents\/\d+\/edit/)){let q=L.match(/\/agents\/(\d+)/)?.[1];q&&H(q,"editor")}else if(L.match(/\/agents\/\d+\/run/)){let q=L.match(/\/agents\/(\d+)/)?.[1];q&&H(q,"runner")}else if(L.match(/\/agents\/\d+\/?$/)){let q=L.match(/\/agents\/(\d+)/)?.[1];q&&H(q,"history")}else L.startsWith("/replay")?u("replay"):L.startsWith("/sandbox")||L.startsWith("/demo")?u("sandbox"):L.startsWith("/organization")?u("organization"):L.startsWith("/settings")?u("settings"):u("list")};return U(),window.addEventListener("popstate",U),window.addEventListener("dashboard:navigate",U),()=>{window.removeEventListener("popstate",U),window.removeEventListener("dashboard:navigate",U)}},[]);let H=async(U,L)=>{p(!0);try{let ae=await(await fetch(`/api/agents/${U}`)).json();d(ae.agent),u(L)}catch{P("Failed to load agent","error")}finally{p(!1)}},F=async(U=y)=>{p(!0);try{let q=await(await fetch(`/api/agents?sort=${U}`)).json();l(q.agents)}catch{P("Failed to refresh agents","error")}finally{p(!1)}},X=U=>{b(U),F(U)},P=(U,L="info")=>{g({message:U,type:L}),setTimeout(()=>g(null),3e3)},Y=async U=>{p(!0);try{let L=await fetch("/api/agents",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:U})});if(L.ok){let ce=await L.json();return l([ce.agent,...i]),d(ce.agent),u("editor"),P("Agent created successfully!","success"),window.history.pushState({},"",Re(`/agents/${ce.agent.id}/edit`)),null}let q=await L.json().catch(()=>({})),ae={errors:q.errors?.length?q.errors:[q.error||`Failed to create agent (${L.status})`],fieldErrors:q.field_errors||{}};return P(ae.errors.join(", "),"error"),ae}catch{return P("Failed to create agent","error"),{errors:["Failed to create agent: the request did not complete"],fieldErrors:{}}}finally{p(!1)}},C=async(U,L)=>{p(!0);try{let q=await fetch(`/api/agents/${U}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:L})});if(q.ok){let ae=await q.json();l(i.map(ce=>ce.id===U?ae.agent:ce)),d(ae.agent),P("Agent updated!","success")}else{let ae=await q.json();P(ae.errors?.join(", ")||"Failed to update agent","error")}}catch{P("Failed to update agent","error")}finally{p(!1)}},_=async U=>{if(confirm("Are you sure you want to delete this agent?")){p(!0);try{(await fetch(`/api/agents/${U}`,{method:"DELETE"})).ok&&(l(i.filter(q=>q.id!==U)),d(null),u("list"),P("Agent deleted","success"),window.history.pushState({},"",Re()))}catch{P("Failed to delete agent","error")}finally{p(!1)}}},z=async U=>{p(!0);try{let L=await fetch(`/api/agents/${U}/duplicate`,{method:"POST"});if(L.ok){let q=await L.json();l([q.agent,...i]),P("Agent duplicated!","success")}}catch{P("Failed to duplicate agent","error")}finally{p(!1)}},D=U=>{l([U,...i]),v(!1),P("Agent created from template!","success"),j("editor",U)},E=["editor","runner","agent-analytics","history"],j=(U,L=null)=>{if(U==="assistant"&&!k)return;U==="builder"&&T(null),L?.id&&E.includes(U)&&L.instructions===void 0?H(L.id,U):(d(L),u(U));let q=Re();U==="assistant"?q=Re("/assistant"):U==="builder"?q=Re("/agents/new"):U==="editor"&&L?q=Re(`/agents/${L.id}/edit`):U==="runner"&&L?q=Re(`/agents/${L.id}/run`):U==="agent-analytics"&&L?q=Re(`/agents/${L.id}/analytics`):U==="history"&&L?q=Re(`/agents/${L.id}/interactions`):U==="analytics"?q=Re("/analytics"):U==="traces"?q=Re("/traces"):U==="metrics"?q=Re("/metrics"):U==="interactions"?q=Re("/interactions"):U==="tools"?q=Re("/tools"):U==="mcp"?q=Re("/mcp"):U==="evaluations"?q=Re("/evaluations"):U==="replay"?q=Re("/replay"):U==="sandbox"?q=Re("/sandbox"):U==="organization"?q=Re("/organization"):U==="settings"&&(q=Re("/settings")),window.history.pushState({},"",q)},R=()=>{switch(s){case"assistant":return k?rt.default.createElement(T5,{session:x,onSessionChange:S,executionEnabled:r.executionEnabled!==!1,onOpenSettings:()=>j("settings"),onReviewDraft:U=>{T(U),u("builder"),window.history.pushState({},"",Re("/agents/new"))}}):null;case"builder":return rt.default.createElement(BA,{key:w?.id||"new-agent",initialDraft:w,meta:r,onSave:Y,onCancel:()=>j(w?"assistant":"list"),isLoading:f});case"editor":return c?rt.default.createElement(_w,{key:`editor-${c.id}`,agent:c,meta:r,onSave:U=>C(c.id,U),onDelete:()=>_(c.id),onRun:()=>j("runner",c),onDuplicate:()=>z(c.id),onRunReport:()=>j("history",c),onBack:()=>j("list"),isLoading:f}):null;case"runner":return c?rt.default.createElement(t5,{agent:c,onBack:()=>j("editor",c)}):null;case"agent-analytics":return c?rt.default.createElement(_w,{key:`agent-analytics-${c.id}`,agent:c,meta:r,initialTab:"metrics",onSave:U=>C(c.id,U),onDelete:()=>_(c.id),onRun:()=>j("runner",c),onDuplicate:()=>z(c.id),onRunReport:()=>j("history",c),onBack:()=>j("list"),isLoading:f}):null;case"history":return c?rt.default.createElement(n5,{agent:c,onBack:()=>j("editor",c)}):null;case"analytics":return rt.default.createElement(r5,{onSelectAgent:U=>{H(U.id,"agent-analytics")}});case"traces":return rt.default.createElement(fc,null);case"metrics":return rt.default.createElement(g5,null);case"interactions":return rt.default.createElement(pl,null);case"tools":return rt.default.createElement(y5,{onOpenServer:U=>{M(U),j("mcp")}});case"mcp":return rt.default.createElement(h5,{focusServer:A,onOpenTools:()=>{M(null),j("tools")}});case"evaluations":return rt.default.createElement(kg,null);case"replay":return rt.default.createElement(N5,{onHandoff:U=>{P("Taking over session...","info"),j("sandbox")},onClose:()=>j("list")});case"sandbox":return rt.default.createElement(k5,{initialType:"playwright_mcp",onClose:()=>j("list")});case"organization":return rt.default.createElement(_5,{user:e,account:n,subscription:o,agentCount:i.length});case"settings":return rt.default.createElement(E5,{user:e});default:return rt.default.createElement(LA,{agents:i,meta:r,onSelect:U=>j("editor",U),onNew:()=>j("builder"),onBrowseTemplates:()=>v(!0),onDuplicate:z,onDelete:_,onRefresh:F,sort:y,onSortChange:X,isLoading:f})}};return rt.default.createElement("div",{className:`aa-dashboard min-h-screen flex${a?" theme-dark":""}`,style:{backgroundColor:a?"#0f0f0f":"#f9fafb"}},rt.default.createElement(a5,{currentView:s,onNavigate:j,agentCount:i.length,account:n,user:e,gemVersion:r.activeagentVersion,assistantEnabled:k}),rt.default.createElement("div",{className:"flex-1 flex flex-col min-w-0"},rt.default.createElement(i5,{user:e,account:n}),rt.default.createElement("main",{className:"flex-1 p-6 overflow-auto"},R())),h&&rt.default.createElement(o5,{onUseTemplate:D,onClose:()=>v(!1)}),m&&rt.default.createElement("div",{className:`fixed bottom-4 right-4 z-[60] px-6 py-3 rounded-lg shadow-lg transition-all transform ${m.type==="error"?"bg-red-500":m.type==="success"?"bg-green-500":"bg-blue-500"} text-white`},m.message),f&&rt.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-20 flex items-center justify-center z-50"},rt.default.createElement("div",{className:`rounded-lg p-4 shadow-xl ${a?"bg-gray-800":"bg-white"}`},rt.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}))))}function M5(e){return rt.default.createElement(CM,null,rt.default.createElement(u$,null,rt.default.createElement(Ade,{...e})))}var kde=new Set(["POST","PUT","PATCH","DELETE"]);function Cde(e,t,{base:r="",csrfToken:n,origin:o}){let a;if(typeof e=="string"){if(!e.startsWith("/api/"))return null;a=`${r}${e}`}else if(typeof Request<"u"&&e instanceof Request){let u=new URL(e.url,o);if(u.origin!==o||!u.pathname.startsWith("/api/"))return null;a=`${o}${r}${u.pathname}${u.search}`}else return null;let i=typeof e=="string"?a:new Request(a,e),l=(t?.method||(typeof e=="string"?"GET":e.method)).toUpperCase();if(!kde.has(l)||!n)return[i,t];let s=new Headers(t?.headers??(typeof e=="string"?void 0:e.headers));return s.has("X-CSRF-Token")||s.set("X-CSRF-Token",n),[i,{...t,headers:s}]}function Nde(e=globalThis.document){return e?.querySelector('meta[name="csrf-token"]')?.content||null}function tU(e,t=globalThis){let r=e.replace(/\/$/,""),n=t.fetch.bind(t);t.fetch=(o,a)=>{let i=Cde(o,a,{base:r,csrfToken:Nde(),origin:t.location.origin});return i?n(...i):n(o,a)}}var _de="active-agent-dashboard";function rU(){let e=document.getElementById(_de);if(!e)return;let t=JSON.parse(e.dataset.props||"{}");window.ACTIVE_AGENT_DASHBOARD=t,tU(t.mountPath||"/"),(0,oU.createRoot)(e).render(nU.default.createElement(M5,{...t}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",rU):rU(); /*! Bundled license information: react/cjs/react.production.js: From cd436d26a58c274a79c902c46804c308696520f1 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 23 Sep 2026 02:03:11 +0000 Subject: [PATCH 6/6] Refuse an engine agent a provider whose client gem is missing Provider client gems are optional dependencies of activeagent, so an agent could be given openrouter in a host without the openai gem and only fail on its first run, mid-generation. The Agent model now checks the provider's client loads when the provider is chosen and reports the loader's own "add this gem" message as a validation error, which the builder and editor show on the form. Fixes #416 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01KfFzc97pARf86bj8LNR59B --- CHANGELOG.md | 4 ++ actionagent/app/models/action_agent/agent.rb | 16 ++++++++ .../test/agent_provider_client_test.rb | 40 +++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 actionagent/test/agent_provider_client_test.rb diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bd129258..d2bbcb5e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,6 +55,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 summary and a message under each field — instead of leaving the form silently in place. `POST`/`PATCH /api/agents` 422s carry `field_errors` beside `errors` (`actionagent`, #426). +- An engine agent is refused a provider whose client gem the host has not + installed (`openai` for OpenAI, Ollama and OpenRouter; `anthropic` for + Anthropic) when the provider is chosen, with a validation error naming + the gem, instead of failing on its first run (`actionagent`, #416). ### Security diff --git a/actionagent/app/models/action_agent/agent.rb b/actionagent/app/models/action_agent/agent.rb index 51da14511..29709cb81 100644 --- a/actionagent/app/models/action_agent/agent.rb +++ b/actionagent/app/models/action_agent/agent.rb @@ -37,6 +37,7 @@ def self.polymorphic_name validates :provider, presence: true validates :model, presence: true validate :validate_action_prompts + validate :provider_client_installed, if: :will_save_change_to_provider?, unless: :observed? # Status enum # `observed` agents were discovered from reported telemetry rather than @@ -491,6 +492,21 @@ def normalized_action(action) action && available_actions.include?(action) ? action : nil end + # Provider client gems are optional dependencies of activeagent (OpenAI, + # Ollama and OpenRouter need `openai`, Anthropic needs `anthropic`), so a + # provider can be picked here that the host never installed. Refuse it + # when it is chosen, naming the gem, rather than on the agent's first + # run. Only the providers the engine offers are checked; the host's + # config/active_agent.yml may point one at another service. + def provider_client_installed + return unless PROVIDERS.include?(provider) + + service = ActiveAgent::Base.provider_config_load(provider)[:service] || provider.camelize + ActiveAgent::Base.provider_load(service) + rescue LoadError => e + errors.add(:provider, "#{provider} can't be used yet: #{e.message}") + end + def validate_action_prompts return if action_prompts.blank? diff --git a/actionagent/test/agent_provider_client_test.rb b/actionagent/test/agent_provider_client_test.rb new file mode 100644 index 000000000..b208cbb27 --- /dev/null +++ b/actionagent/test/agent_provider_client_test.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +require "test_helper" + +# Provider client gems are optional, so an agent is refused a provider whose +# gem the host never installed when the provider is chosen, not on its first +# run (#416). +class AgentProviderClientTest < ActiveSupport::TestCase + def setup + ActionAgent::Agent.delete_all + end + + MISSING_OPENAI = lambda do |_service| + raise LoadError, "The 'openai' gem is required for OpenRouterProvider. " \ + "Please add it to your Gemfile and run `bundle install`." + end + + test "a provider whose client gem is installed is accepted" do + agent = ActionAgent::Agent.new(name: "Router", provider: "openrouter", model: "openai/gpt-4o-mini") + + assert agent.valid?, agent.errors.full_messages.to_sentence + end + + test "a provider whose client gem is missing is refused, naming the gem" do + agent = ActionAgent::Agent.new(name: "Router", provider: "openrouter", model: "openai/gpt-4o-mini") + + ActiveAgent::Base.stub(:provider_load, MISSING_OPENAI) do + assert_not agent.valid? + end + assert_match(/openrouter can't be used yet: The 'openai' gem is required/, agent.errors[:provider].first) + end + + test "an agent keeping its provider is not rechecked" do + agent = ActionAgent::Agent.create!(name: "Router", provider: "openrouter", model: "openai/gpt-4o-mini") + + ActiveAgent::Base.stub(:provider_load, MISSING_OPENAI) do + assert agent.update(description: "Routes models") + end + end +end