From 4efbf8c88f2ffe2da362a5e08d72c5f0a9a15acd Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 13 Aug 2026 17:33:46 +0000 Subject: [PATCH 1/2] Give traces, spans and interactions one expandable-object design MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ported from activeagents#103, which was written against the platform's copy of the dashboard before it moved into this gem. The engine's components were byte-identical to that copy apart from mount-relative paths, so this is that work plus those paths — and the portable rewrite the engine needs. Traces kept two render trees, a dark one built from the landing page's stylesheet and a light one built from Tailwind utilities, and they had drifted. Dark mode never got the Spans/Conversation toggle, the span sorting, the log-scale bars for non-chronological orders, or the tool roster in span details. Interactions showed the same runs from the conversation side with a third set of affordances again: no content preview on a collapsed row, and a mini waterfall whose spans couldn't be opened. Everything now composes the same primitives: - TelemetryObject: the card, chevron, input/output preview lines, segmented sub-view control, and content disclosure every expandable telemetry object shares, plus one theme-aware palette. - SpanWaterfall: a trace's spans, with per-span expansion and the detail panel — contents as a conversation, tool roster, attributes. - TraceDetail: the whole trace panel — Spans/Conversation, sort, context pressure, generation-vs-tools, tokens, error. - TraceCard: one trace as a row, rendered by both themes. - TraceSpanBar (was TraceSpanPills): reduced to the collapsed pill summary, since expansion is now the shared waterfall. Interactions gain the same Conversation/Spans toggle, and each generation is an expandable object opening the very panel Traces opens. Preview lines open in place: JSON indents, prose wraps, both cap and scroll — the value you are reading is the one you want in full. Collapsed rows carry input/output lines on both sides of the API. The platform version read them with DISTINCT ON; the engine runs on SQLite too, so this takes the min/max id per context instead — messages are only ever appended, which is the same pass the latest-model lookup beside it already uses. Client-side links go through dashboardPath so they follow the mount; fetches stay absolute for the entry point's shim. Build output is refreshed, since that is what lets a host app skip the JavaScript build. --- .../app/assets/builds/action_agent.css | 2 +- actionagent/app/assets/builds/action_agent.js | 86 +- .../api/interactions_controller.rb | 37 +- .../action_agent/interaction_preview.rb | 22 + .../trace_interaction_serializer.rb | 14 + .../components/dashboard/InteractionsView.jsx | 386 +++--- .../components/dashboard/SpanWaterfall.jsx | 530 ++++++++ .../components/dashboard/TelemetryObject.jsx | 274 ++++ .../components/dashboard/TraceCard.jsx | 107 ++ .../components/dashboard/TraceDetail.jsx | 284 +++++ .../components/dashboard/TraceSpanBar.jsx | 49 + .../components/dashboard/TraceSpanPills.jsx | 125 -- .../components/dashboard/TracesView.jsx | 1102 +---------------- actionagent/frontend/package-lock.json | 4 +- actionagent/test/interaction_preview_test.rb | 126 ++ 15 files changed, 1757 insertions(+), 1391 deletions(-) create mode 100644 actionagent/app/serializers/action_agent/interaction_preview.rb create mode 100644 actionagent/frontend/components/dashboard/SpanWaterfall.jsx create mode 100644 actionagent/frontend/components/dashboard/TelemetryObject.jsx create mode 100644 actionagent/frontend/components/dashboard/TraceCard.jsx create mode 100644 actionagent/frontend/components/dashboard/TraceDetail.jsx create mode 100644 actionagent/frontend/components/dashboard/TraceSpanBar.jsx delete mode 100644 actionagent/frontend/components/dashboard/TraceSpanPills.jsx create mode 100644 actionagent/test/interaction_preview_test.rb diff --git a/actionagent/app/assets/builds/action_agent.css b/actionagent/app/assets/builds/action_agent.css index 5363af7a..fd60b4ee 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-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-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-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-600:oklch(68.1% .162 75.834);--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-teal-400:oklch(77.7% .152 181.912);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-400:oklch(70.7% .165 254.624);--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-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-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)}.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-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}.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-32{width:calc(var(--spacing) * 32)}.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}.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-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-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-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}: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)}: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-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 6) * 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-400{background-color:var(--color-amber-400)}.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-400{background-color:var(--color-blue-400)}.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-400{background-color:var(--color-red-400)}.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-teal-400{background-color:var(--color-teal-400)}.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-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-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-2{padding-left: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}.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-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.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-600{color:var(--color-amber-600)}.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-600{color:var(--color-yellow-600)}.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}.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}.invert{--tw-invert:invert(100%);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,)}.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}@media (hover:hover){.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.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-emerald-600:hover{background-color:var(--color-emerald-600)}.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:hover{background-color:var(--color-white)}.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-500:hover{color:var(--color-red-500)}.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))}.md\:grid-cols-5{grid-template-columns:repeat(5,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))}}}@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-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-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-600:oklch(68.1% .162 75.834);--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-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)}.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-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}.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-32{width:calc(var(--spacing) * 32)}.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}.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-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-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-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}: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-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-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}.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-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.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-600{color:var(--color-yellow-600)}.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}.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}.invert{--tw-invert:invert(100%);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,)}.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}@media (hover:hover){.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.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-emerald-600:hover{background-color:var(--color-emerald-600)}.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-500:hover{color:var(--color-red-500)}.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))}.md\:grid-cols-5{grid-template-columns:repeat(5,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))}}}@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-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 d2cad541..4dffc0ff 100644 --- a/actionagent/app/assets/builds/action_agent.js +++ b/actionagent/app/assets/builds/action_agent.js @@ -1,68 +1,68 @@ -var Sj=Object.create;var Ig=Object.defineProperty;var Aj=Object.getOwnPropertyDescriptor;var Nj=Object.getOwnPropertyNames;var _j=Object.getPrototypeOf,Cj=Object.prototype.hasOwnProperty;var Or=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ej=(e,t)=>{for(var r in t)Ig(e,r,{get:t[r],enumerable:!0})},kj=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Nj(t))!Cj.call(e,a)&&a!==r&&Ig(e,a,{get:()=>t[a],enumerable:!(n=Aj(t,a))||n.enumerable});return e};var ee=(e,t,r)=>(r=e!=null?Sj(_j(e)):{},kj(t||!e||!e.__esModule?Ig(r,"default",{value:e,enumerable:!0}):r,e));var AA=Or(Be=>{"use strict";var Bg=Symbol.for("react.transitional.element"),Oj=Symbol.for("react.portal"),Tj=Symbol.for("react.fragment"),Mj=Symbol.for("react.strict_mode"),Dj=Symbol.for("react.profiler"),Pj=Symbol.for("react.consumer"),jj=Symbol.for("react.context"),Ij=Symbol.for("react.forward_ref"),zj=Symbol.for("react.suspense"),Lj=Symbol.for("react.memo"),gA=Symbol.for("react.lazy"),Bj=Symbol.for("react.activity"),pA=Symbol.iterator;function Uj(e){return e===null||typeof e!="object"?null:(e=pA&&e[pA]||e["@@iterator"],typeof e=="function"?e:null)}var yA={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},xA=Object.assign,bA={};function Ql(e,t,r){this.props=e,this.context=t,this.refs=bA,this.updater=r||yA}Ql.prototype.isReactComponent={};Ql.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")};Ql.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function wA(){}wA.prototype=Ql.prototype;function Ug(e,t,r){this.props=e,this.context=t,this.refs=bA,this.updater=r||yA}var $g=Ug.prototype=new wA;$g.constructor=Ug;xA($g,Ql.prototype);$g.isPureReactComponent=!0;var mA=Array.isArray;function Lg(){}var wt={H:null,A:null,T:null,S:null},SA=Object.prototype.hasOwnProperty;function Hg(e,t,r){var n=r.ref;return{$$typeof:Bg,type:e,key:t,ref:n!==void 0?n:null,props:r}}function $j(e,t){return Hg(e.type,t,e.props)}function Vg(e){return typeof e=="object"&&e!==null&&e.$$typeof===Bg}function Hj(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(r){return t[r]})}var vA=/\/+/g;function zg(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Hj(""+e.key):t.toString(36)}function Vj(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Lg,Lg):(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 Zl(e,t,r,n,a){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(i){case"bigint":case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case Bg:case Oj:o=!0;break;case gA:return o=e._init,Zl(o(e._payload),t,r,n,a)}}if(o)return a=a(e),o=n===""?"."+zg(e,0):n,mA(a)?(r="",o!=null&&(r=o.replace(vA,"$&/")+"/"),Zl(a,t,r,"",function(u){return u})):a!=null&&(Vg(a)&&(a=$j(a,r+(a.key==null||e&&e.key===a.key?"":(""+a.key).replace(vA,"$&/")+"/")+o)),t.push(a)),1;o=0;var l=n===""?".":n+":";if(mA(e))for(var s=0;s{"use strict";NA.exports=AA()});var jA=Or(Ot=>{"use strict";function Wg(e,t){var r=e.length;e.push(t);e:for(;0>>1,a=e[n];if(0>>1;ntp(l,r))stp(u,l)?(e[n]=u,e[s]=r,n=s):(e[n]=l,e[o]=r,n=o);else if(stp(u,r))e[n]=u,e[s]=r,n=s;else break e}}return t}function tp(e,t){var r=e.sortIndex-t.sortIndex;return r!==0?r:e.id-t.id}Ot.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(_A=performance,Ot.unstable_now=function(){return _A.now()}):(Fg=Date,CA=Fg.now(),Ot.unstable_now=function(){return Fg.now()-CA});var _A,Fg,CA,Va=[],Ii=[],Yj=1,Dn=null,Tr=3,Kg=!1,fc=!1,pc=!1,Gg=!1,OA=typeof setTimeout=="function"?setTimeout:null,TA=typeof clearTimeout=="function"?clearTimeout:null,EA=typeof setImmediate<"u"?setImmediate:null;function rp(e){for(var t=ya(Ii);t!==null;){if(t.callback===null)np(Ii);else if(t.startTime<=e)np(Ii),t.sortIndex=t.expirationTime,Wg(Va,t);else break;t=ya(Ii)}}function Xg(e){if(pc=!1,rp(e),!fc)if(ya(Va)!==null)fc=!0,Rl||(Rl=!0,Jl());else{var t=ya(Ii);t!==null&&Zg(Xg,t.startTime-e)}}var Rl=!1,mc=-1,MA=5,DA=-1;function PA(){return Gg?!0:!(Ot.unstable_now()-DAe&&PA());){var n=Dn.callback;if(typeof n=="function"){Dn.callback=null,Tr=Dn.priorityLevel;var a=n(Dn.expirationTime<=e);if(e=Ot.unstable_now(),typeof a=="function"){Dn.callback=a,rp(e),t=!0;break t}Dn===ya(Va)&&np(Va),rp(e)}else np(Va);Dn=ya(Va)}if(Dn!==null)t=!0;else{var i=ya(Ii);i!==null&&Zg(Xg,i.startTime-e),t=!1}}break e}finally{Dn=null,Tr=r,Kg=!1}t=void 0}}finally{t?Jl():Rl=!1}}}var Jl;typeof EA=="function"?Jl=function(){EA(qg)}:typeof MessageChannel<"u"?(Yg=new MessageChannel,kA=Yg.port2,Yg.port1.onmessage=qg,Jl=function(){kA.postMessage(null)}):Jl=function(){OA(qg,0)};var Yg,kA;function Zg(e,t){mc=OA(function(){e(Ot.unstable_now())},t)}Ot.unstable_IdlePriority=5;Ot.unstable_ImmediatePriority=1;Ot.unstable_LowPriority=4;Ot.unstable_NormalPriority=3;Ot.unstable_Profiling=null;Ot.unstable_UserBlockingPriority=2;Ot.unstable_cancelCallback=function(e){e.callback=null};Ot.unstable_forceFrameRate=function(e){0>e||125n?(e.sortIndex=r,Wg(Ii,e),ya(Va)===null&&e===ya(Ii)&&(pc?(TA(mc),mc=-1):pc=!0,Zg(Xg,r-n))):(e.sortIndex=a,Wg(Va,e),fc||Kg||(fc=!0,Rl||(Rl=!0,Jl()))),e};Ot.unstable_shouldYield=PA;Ot.unstable_wrapCallback=function(e){var t=Tr;return function(){var r=Tr;Tr=t;try{return e.apply(this,arguments)}finally{Tr=r}}}});var zA=Or((hQ,IA)=>{"use strict";IA.exports=jA()});var BA=Or(Vr=>{"use strict";var Wj=ne();function LA(e){var t="https://react.dev/errors/"+e;if(1{"use strict";function UA(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(UA)}catch(e){console.error(e)}}UA(),$A.exports=BA()});var JC=Or(Tm=>{"use strict";var or=zA(),fN=ne(),Xj=ip();function oe(e){var t="https://react.dev/errors/"+e;if(1os||(e.current=Iy[os],Iy[os]=null,os--)}function xt(e,t){os++,Iy[os]=e.current,e.current=t}var Sa=Aa(null),Hc=Aa(null),Gi=Aa(null),Up=Aa(null);function $p(e,t){switch(xt(Gi,t),xt(Hc,e),xt(Sa,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?X5(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=X5(t),e=BC(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}hr(Sa),xt(Sa,e)}function Ns(){hr(Sa),hr(Hc),hr(Gi)}function zy(e){e.memoizedState!==null&&xt(Up,e);var t=Sa.current,r=BC(t,e.type);t!==r&&(xt(Hc,e),xt(Sa,r))}function Hp(e){Hc.current===e&&(hr(Sa),hr(Hc)),Up.current===e&&(hr(Up),Jc._currentValue=Bo)}var Qg,FA;function jo(e){if(Qg===void 0)try{throw Error()}catch(r){var t=r.stack.trim().match(/\n( *(at )?)/);Qg=t&&t[1]||"",FA=-1()=>(t||e((t={exports:{}}).exports,t),t.exports),uj=(e,t)=>{for(var r in t)wy(e,r,{get:t[r],enumerable:!0})},cj=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of oj(t))!sj.call(e,a)&&a!==r&&wy(e,a,{get:()=>t[a],enumerable:!(n=ij(t,a))||n.enumerable});return e};var J=(e,t,r)=>(r=e!=null?aj(lj(e)):{},cj(t||!e||!e.__esModule?wy(r,"default",{value:e,enumerable:!0}):r,e));var oA=wr(De=>{"use strict";var Ny=Symbol.for("react.transitional.element"),dj=Symbol.for("react.portal"),fj=Symbol.for("react.fragment"),pj=Symbol.for("react.strict_mode"),mj=Symbol.for("react.profiler"),vj=Symbol.for("react.consumer"),hj=Symbol.for("react.context"),gj=Symbol.for("react.forward_ref"),yj=Symbol.for("react.suspense"),xj=Symbol.for("react.memo"),eA=Symbol.for("react.lazy"),bj=Symbol.for("react.activity"),ZS=Symbol.iterator;function wj(e){return e===null||typeof e!="object"?null:(e=ZS&&e[ZS]||e["@@iterator"],typeof e=="function"?e:null)}var tA={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},rA=Object.assign,nA={};function Ul(e,t,r){this.props=e,this.context=t,this.refs=nA,this.updater=r||tA}Ul.prototype.isReactComponent={};Ul.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")};Ul.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function aA(){}aA.prototype=Ul.prototype;function Cy(e,t,r){this.props=e,this.context=t,this.refs=nA,this.updater=r||tA}var _y=Cy.prototype=new aA;_y.constructor=Cy;rA(_y,Ul.prototype);_y.isPureReactComponent=!0;var QS=Array.isArray;function Ay(){}var dt={H:null,A:null,T:null,S:null},iA=Object.prototype.hasOwnProperty;function Ey(e,t,r){var n=r.ref;return{$$typeof:Ny,type:e,key:t,ref:n!==void 0?n:null,props:r}}function Sj(e,t){return Ey(e.type,t,e.props)}function Oy(e){return typeof e=="object"&&e!==null&&e.$$typeof===Ny}function Aj(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(r){return t[r]})}var JS=/\/+/g;function Sy(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Aj(""+e.key):t.toString(36)}function Nj(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Ay,Ay):(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 Bl(e,t,r,n,a){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(i){case"bigint":case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case Ny:case dj:o=!0;break;case eA:return o=e._init,Bl(o(e._payload),t,r,n,a)}}if(o)return a=a(e),o=n===""?"."+Sy(e,0):n,QS(a)?(r="",o!=null&&(r=o.replace(JS,"$&/")+"/"),Bl(a,t,r,"",function(u){return u})):a!=null&&(Oy(a)&&(a=Sj(a,r+(a.key==null||e&&e.key===a.key?"":(""+a.key).replace(JS,"$&/")+"/")+o)),t.push(a)),1;o=0;var l=n===""?".":n+":";if(QS(e))for(var s=0;s{"use strict";lA.exports=oA()});var gA=wr(xt=>{"use strict";function Dy(e,t){var r=e.length;e.push(t);e:for(;0>>1,a=e[n];if(0>>1;nYf(l,r))sYf(u,l)?(e[n]=u,e[s]=r,n=s):(e[n]=l,e[o]=r,n=o);else if(sYf(u,r))e[n]=u,e[s]=r,n=s;else break e}}return t}function Yf(e,t){var r=e.sortIndex-t.sortIndex;return r!==0?r:e.id-t.id}xt.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(sA=performance,xt.unstable_now=function(){return sA.now()}):(ky=Date,uA=ky.now(),xt.unstable_now=function(){return ky.now()-uA});var sA,ky,uA,ja=[],Ni=[],Ej=1,Nn=null,Sr=3,Py=!1,rc=!1,nc=!1,jy=!1,fA=typeof setTimeout=="function"?setTimeout:null,pA=typeof clearTimeout=="function"?clearTimeout:null,cA=typeof setImmediate<"u"?setImmediate:null;function qf(e){for(var t=ca(Ni);t!==null;){if(t.callback===null)Wf(Ni);else if(t.startTime<=e)Wf(Ni),t.sortIndex=t.expirationTime,Dy(ja,t);else break;t=ca(Ni)}}function Iy(e){if(nc=!1,qf(e),!rc)if(ca(ja)!==null)rc=!0,Hl||(Hl=!0,$l());else{var t=ca(Ni);t!==null&&zy(Iy,t.startTime-e)}}var Hl=!1,ac=-1,mA=5,vA=-1;function hA(){return jy?!0:!(xt.unstable_now()-vAe&&hA());){var n=Nn.callback;if(typeof n=="function"){Nn.callback=null,Sr=Nn.priorityLevel;var a=n(Nn.expirationTime<=e);if(e=xt.unstable_now(),typeof a=="function"){Nn.callback=a,qf(e),t=!0;break t}Nn===ca(ja)&&Wf(ja),qf(e)}else Wf(ja);Nn=ca(ja)}if(Nn!==null)t=!0;else{var i=ca(Ni);i!==null&&zy(Iy,i.startTime-e),t=!1}}break e}finally{Nn=null,Sr=r,Py=!1}t=void 0}}finally{t?$l():Hl=!1}}}var $l;typeof cA=="function"?$l=function(){cA(Ty)}:typeof MessageChannel<"u"?(My=new MessageChannel,dA=My.port2,My.port1.onmessage=Ty,$l=function(){dA.postMessage(null)}):$l=function(){fA(Ty,0)};var My,dA;function zy(e,t){ac=fA(function(){e(xt.unstable_now())},t)}xt.unstable_IdlePriority=5;xt.unstable_ImmediatePriority=1;xt.unstable_LowPriority=4;xt.unstable_NormalPriority=3;xt.unstable_Profiling=null;xt.unstable_UserBlockingPriority=2;xt.unstable_cancelCallback=function(e){e.callback=null};xt.unstable_forceFrameRate=function(e){0>e||125n?(e.sortIndex=r,Dy(Ni,e),ca(ja)===null&&e===ca(Ni)&&(nc?(pA(ac),ac=-1):nc=!0,zy(Iy,r-n))):(e.sortIndex=a,Dy(ja,e),rc||Py||(rc=!0,Hl||(Hl=!0,$l()))),e};xt.unstable_shouldYield=hA;xt.unstable_wrapCallback=function(e){var t=Sr;return function(){var r=Sr;Sr=t;try{return e.apply(this,arguments)}finally{Sr=r}}}});var xA=wr((vQ,yA)=>{"use strict";yA.exports=gA()});var wA=wr(Ir=>{"use strict";var Oj=R();function bA(e){var t="https://react.dev/errors/"+e;if(1{"use strict";function SA(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(SA)}catch(e){console.error(e)}}SA(),AA.exports=wA()});var I_=wr(xm=>{"use strict";var Jt=xA(),XN=R(),Mj=Gf();function ne(e){var t="https://react.dev/errors/"+e;if(1Gl||(e.current=w0[Gl],w0[Gl]=null,Gl--)}function ut(e,t){Gl++,w0[Gl]=e.current,e.current=t}var ma=va(null),Mc=va(null),Li=va(null),Op=va(null);function kp(e,t){switch(ut(Li,t),ut(Mc,e),ut(ma,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?DN(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=DN(t),e=w_(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}sr(ma),ut(ma,e)}function fs(){sr(ma),sr(Mc),sr(Li)}function S0(e){e.memoizedState!==null&&ut(Op,e);var t=ma.current,r=w_(t,e.type);t!==r&&(ut(Mc,e),ut(ma,r))}function Tp(e){Mc.current===e&&(sr(ma),sr(Mc)),Op.current===e&&(sr(Op),Vc._currentValue=_o)}var Ly,_A;function So(e){if(Ly===void 0)try{throw Error()}catch(r){var t=r.stack.trim().match(/\n( *(at )?)/);Ly=t&&t[1]||"",_A=-1)":-1a||s[n]!==u[a]){var c=` -`+s[n].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}while(1<=n&&0<=a);break}}}finally{Jg=!1,Error.prepareStackTrace=r}return(r=e?e.displayName||e.name:"")?jo(r):""}function eI(e,t){switch(e.tag){case 26:case 27:case 5:return jo(e.type);case 16:return jo("Lazy");case 13:return e.child!==t&&t!==null?jo("Suspense Fallback"):jo("Suspense");case 19:return jo("SuspenseList");case 0:case 15:return Rg(e.type,!1);case 11:return Rg(e.type.render,!1);case 1:return Rg(e.type,!0);case 31:return jo("Activity");default:return""}}function qA(e){try{var t="",r=null;do t+=eI(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<=a);break}}}finally{By=!1,Error.prepareStackTrace=r}return(r=e?e.displayName||e.name:"")?So(r):""}function zj(e,t){switch(e.tag){case 26:case 27:case 5:return So(e.type);case 16:return So("Lazy");case 13:return e.child!==t&&t!==null?So("Suspense Fallback"):So("Suspense");case 19:return So("SuspenseList");case 0:case 15:return Uy(e.type,!1);case 11:return Uy(e.type.render,!1);case 1:return Uy(e.type,!0);case 31:return So("Activity");default:return""}}function EA(e){try{var t="",r=null;do t+=zj(e,r),r=e,e=e.return;while(e);return t}catch(n){return` Error generating stack: `+n.message+` -`+n.stack}}var Ly=Object.prototype.hasOwnProperty,Ex=or.unstable_scheduleCallback,ey=or.unstable_cancelCallback,tI=or.unstable_shouldYield,rI=or.unstable_requestPaint,vn=or.unstable_now,nI=or.unstable_getCurrentPriorityLevel,xN=or.unstable_ImmediatePriority,bN=or.unstable_UserBlockingPriority,Vp=or.unstable_NormalPriority,aI=or.unstable_LowPriority,wN=or.unstable_IdlePriority,iI=or.log,oI=or.unstable_setDisableYieldValue,rd=null,hn=null;function Fi(e){if(typeof iI=="function"&&oI(e),hn&&typeof hn.setStrictMode=="function")try{hn.setStrictMode(rd,e)}catch{}}var gn=Math.clz32?Math.clz32:uI,lI=Math.log,sI=Math.LN2;function uI(e){return e>>>=0,e===0?32:31-(lI(e)/sI|0)|0}var lp=256,sp=262144,up=4194304;function Io(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 mm(e,t,r){var n=e.pendingLanes;if(n===0)return 0;var a=0,i=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var l=n&134217727;return l!==0?(n=l&~i,n!==0?a=Io(n):(o&=l,o!==0?a=Io(o):r||(r=l&~e,r!==0&&(a=Io(r))))):(l=n&~i,l!==0?a=Io(l):o!==0?a=Io(o):r||(r=n&~e,r!==0&&(a=Io(r)))),a===0?0:t!==0&&t!==a&&(t&i)===0&&(i=a&-a,r=t&-t,i>=r||i===32&&(r&4194048)!==0)?t:a}function nd(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function cI(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 SN(){var e=up;return up<<=1,(up&62914560)===0&&(up=4194304),e}function ty(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}function ad(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function dI(e,t,r,n,a,i){var o=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=o&~r;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var gI=/[\n"\\]/g;function Ln(e){return e.replace(gI,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function $y(e,t,r,n,a,i,o,l){e.name="",o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.type=o:e.removeAttribute("type"),t!=null?o==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+jn(t)):e.value!==""+jn(t)&&(e.value=""+jn(t)):o!=="submit"&&o!=="reset"||e.removeAttribute("value"),t!=null?Hy(e,o,jn(t)):r!=null?Hy(e,o,jn(r)):n!=null&&e.removeAttribute("value"),a==null&&i!=null&&(e.defaultChecked=!!i),a!=null&&(e.checked=a&&typeof a!="function"&&typeof a!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+jn(l):e.removeAttribute("name")}function MN(e,t,r,n,a,i,o,l){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||r!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){Uy(e);return}r=r!=null?""+jn(r):"",t=t!=null?""+jn(t):r,l||t===e.value||(e.value=t),e.defaultValue=t}n=n??a,n=typeof n!="function"&&typeof n!="symbol"&&!!n,e.checked=l?e.checked:!!n,e.defaultChecked=!!n,o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.name=o),Uy(e)}function Hy(e,t,r){t==="number"&&Fp(e.ownerDocument)===e||e.defaultValue===""+r||(e.defaultValue=""+r)}function ys(e,t,r,n){if(e=e.options,t){t={};for(var a=0;a"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Fy=!1;if(ri)try{es={},Object.defineProperty(es,"passive",{get:function(){Fy=!0}}),window.addEventListener("test",es,es),window.removeEventListener("test",es,es)}catch{Fy=!1}var es,qi=null,Px=null,Cp=null;function zN(){if(Cp)return Cp;var e,t=Px,r=t.length,n,a="value"in qi?qi.value:qi.textContent,i=a.length;for(e=0;e=kc),t5=" ",r5=!1;function BN(e,t){switch(e){case"keyup":return YI.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function UN(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var us=!1;function KI(e,t){switch(e){case"compositionend":return UN(t);case"keypress":return t.which!==32?null:(r5=!0,t5);case"textInput":return e=t.data,e===t5&&r5?null:e;default:return null}}function GI(e,t){if(us)return e==="compositionend"||!Ix&&BN(e,t)?(e=zN(),Cp=Px=qi=null,us=!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=o5(r)}}function FN(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?FN(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function qN(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Fp(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=Fp(e.document)}return t}function zx(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 r7=ri&&"documentMode"in document&&11>=document.documentMode,cs=null,qy=null,Tc=null,Yy=!1;function s5(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;Yy||cs==null||cs!==Fp(n)||(n=cs,"selectionStart"in n&&zx(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}),Tc&&qc(Tc,n)||(Tc=n,n=lm(qy,"onSelect"),0>=o,a-=o,xa=1<<32-gn(t)+a|r<E?(L=M,M=null):L=M.sibling;var I=f(m,M,x[E],A);if(I===null){M===null&&(M=L);break}e&&M&&I.alternate===null&&t(m,M),g=i(I,g,E),_===null?k=I:_.sibling=I,_=I,M=L}if(E===x.length)return r(m,M),Xe&&Ga(m,E),k;if(M===null){for(;EE?(L=M,M=null):L=M.sibling;var j=f(m,M,I.value,A);if(j===null){M===null&&(M=L);break}e&&M&&j.alternate===null&&t(m,M),g=i(j,g,E),_===null?k=j:_.sibling=j,_=j,M=L}if(I.done)return r(m,M),Xe&&Ga(m,E),k;if(M===null){for(;!I.done;E++,I=x.next())I=d(m,I.value,A),I!==null&&(g=i(I,g,E),_===null?k=I:_.sibling=I,_=I);return Xe&&Ga(m,E),k}for(M=n(M);!I.done;E++,I=x.next())I=p(M,m,E,I.value,A),I!==null&&(e&&I.alternate!==null&&M.delete(I.key===null?E:I.key),g=i(I,g,E),_===null?k=I:_.sibling=I,_=I);return e&&M.forEach(function(z){return t(m,z)}),Xe&&Ga(m,E),k}function b(m,g,x,A){if(typeof x=="object"&&x!==null&&x.type===is&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case op:e:{for(var k=x.key;g!==null;){if(g.key===k){if(k=x.type,k===is){if(g.tag===7){r(m,g.sibling),A=a(g,x.props.children),A.return=m,m=A;break e}}else if(g.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===Li&&zo(k)===g.type){r(m,g.sibling),A=a(g,x.props),yc(A,x),A.return=m,m=A;break e}r(m,g);break}else t(m,g);g=g.sibling}x.type===is?(A=Uo(x.props.children,m.mode,A,x.key),A.return=m,m=A):(A=kp(x.type,x.key,x.props,null,m.mode,A),yc(A,x),A.return=m,m=A)}return o(m);case Ac:e:{for(k=x.key;g!==null;){if(g.key===k)if(g.tag===4&&g.stateNode.containerInfo===x.containerInfo&&g.stateNode.implementation===x.implementation){r(m,g.sibling),A=a(g,x.children||[]),A.return=m,m=A;break e}else{r(m,g);break}else t(m,g);g=g.sibling}A=uy(x,m.mode,A),A.return=m,m=A}return o(m);case Li:return x=zo(x),b(m,g,x,A)}if(Nc(x))return v(m,g,x,A);if(hc(x)){if(k=hc(x),typeof k!="function")throw Error(oe(150));return x=k.call(x),h(m,g,x,A)}if(typeof x.then=="function")return b(m,g,vp(x),A);if(x.$$typeof===Za)return b(m,g,mp(m,x),A);hp(m,x)}return typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint"?(x=""+x,g!==null&&g.tag===6?(r(m,g.sibling),A=a(g,x),A.return=m,m=A):(r(m,g),A=sy(x,m.mode,A),A.return=m,m=A),o(m)):r(m,g)}return function(m,g,x,A){try{Kc=0;var k=b(m,g,x,A);return ws=null,k}catch(M){if(M===Bs||M===bm)throw M;var _=pn(29,M,null,m.mode);return _.lanes=A,_.return=m,_}}}var Yo=i_(!0),o_=i_(!1),Bi=!1;function Yx(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Jy(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 Zi(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Qi(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(it&2)!==0){var a=n.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),n.pending=t,t=Yp(e),QN(e,null,r),t}return xm(e,n,t,r),Yp(e)}function Dc(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,NN(e,r)}}function dy(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var a=null,i=null;if(r=r.firstBaseUpdate,r!==null){do{var o={lane:r.lane,tag:r.tag,payload:r.payload,callback:null,next:null};i===null?a=i=o:i=i.next=o,r=r.next}while(r!==null);i===null?a=i=t:i=i.next=t}else a=i=t;r={baseState:n.baseState,firstBaseUpdate:a,lastBaseUpdate:i,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 Ry=!1;function Pc(){if(Ry){var e=bs;if(e!==null)throw e}}function jc(e,t,r,n){Ry=!1;var a=e.updateQueue;Bi=!1;var i=a.firstBaseUpdate,o=a.lastBaseUpdate,l=a.shared.pending;if(l!==null){a.shared.pending=null;var s=l,u=s.next;s.next=null,o===null?i=u:o.next=u,o=s;var c=e.alternate;c!==null&&(c=c.updateQueue,l=c.lastBaseUpdate,l!==o&&(l===null?c.firstBaseUpdate=u:l.next=u,c.lastBaseUpdate=s))}if(i!==null){var d=a.baseState;o=0,c=u=s=null,l=i;do{var f=l.lane&-536870913,p=f!==l.lane;if(p?(Ye&f)===f:(n&f)===f){f!==0&&f===Es&&(Ry=!0),c!==null&&(c=c.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var v=e,h=l;f=t;var b=r;switch(h.tag){case 1:if(v=h.payload,typeof v=="function"){d=v.call(b,d,f);break e}d=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=h.payload,f=typeof v=="function"?v.call(b,d,f):v,f==null)break e;d=Nt({},d,f);break e;case 2:Bi=!0}}f=l.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=a.callbacks,p===null?a.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,o|=f;if(l=l.next,l===null){if(l=a.shared.pending,l===null)break;p=l,l=p.next,p.next=null,a.lastBaseUpdate=p,a.shared.pending=null}}while(!0);c===null&&(s=d),a.baseState=s,a.firstBaseUpdate=u,a.lastBaseUpdate=c,i===null&&(a.shared.lanes=0),oo|=o,e.lanes=o,e.memoizedState=d}}function l_(e,t){if(typeof e!="function")throw Error(oe(191,e));e.call(t)}function s_(e,t){var r=e.callbacks;if(r!==null)for(e.callbacks=null,e=0;ei?i:8;var o=De.T,l={};De.T=l,ab(e,!1,t,r);try{var s=a(),u=De.S;if(u!==null&&u(l,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var c=d7(s,n);Ic(e,t,c,yn(e))}else Ic(e,t,n,yn(e))}catch(d){Ic(e,t,{then:function(){},status:"rejected",reason:d},yn())}finally{ot.p=i,o!==null&&l.types!==null&&(o.types=l.types),De.T=o}}function g7(){}function ax(e,t,r,n){if(e.tag!==5)throw Error(oe(476));var a=P_(e).queue;D_(e,a,t,Bo,r===null?g7:function(){return j_(e),r(n)})}function P_(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Bo,baseState:Bo,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ai,lastRenderedState:Bo},next:null};var r={};return t.next={memoizedState:r,baseState:r,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ai,lastRenderedState:r},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function j_(e){var t=P_(e);t.next===null&&(t=e.alternate.memoizedState),Ic(e,t.next.queue,{},yn())}function nb(){return Nr(Jc)}function I_(){return Wt().memoizedState}function z_(){return Wt().memoizedState}function y7(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var r=yn();e=Zi(r);var n=Qi(t,e,r);n!==null&&(Rr(n,t,r),Dc(n,t,r)),t={cache:Vx()},e.payload=t;return}t=t.return}}function x7(e,t,r){var n=yn();r={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Nm(e)?B_(t,r):(r=Bx(e,t,r,n),r!==null&&(Rr(r,e,n),U_(r,t,n)))}function L_(e,t,r){var n=yn();Ic(e,t,r,n)}function Ic(e,t,r,n){var a={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null};if(Nm(e))B_(t,a);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var o=t.lastRenderedState,l=i(o,r);if(a.hasEagerState=!0,a.eagerState=l,xn(l,o))return xm(e,t,a,0),ht===null&&ym(),!1}catch{}if(r=Bx(e,t,a,n),r!==null)return Rr(r,e,n),U_(r,t,n),!0}return!1}function ab(e,t,r,n){if(n={lane:2,revertLane:pb(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Nm(e)){if(t)throw Error(oe(479))}else t=Bx(e,r,n,2),t!==null&&Rr(t,e,2)}function Nm(e){var t=e.alternate;return e===Ue||t!==null&&t===Ue}function B_(e,t){Ss=Qp=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function U_(e,t,r){if((r&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,NN(e,r)}}var Xc={readContext:Nr,use:Sm,useCallback:Ut,useContext:Ut,useEffect:Ut,useImperativeHandle:Ut,useLayoutEffect:Ut,useInsertionEffect:Ut,useMemo:Ut,useReducer:Ut,useRef:Ut,useState:Ut,useDebugValue:Ut,useDeferredValue:Ut,useTransition:Ut,useSyncExternalStore:Ut,useId:Ut,useHostTransitionStatus:Ut,useFormState:Ut,useActionState:Ut,useOptimistic:Ut,useMemoCache:Ut,useCacheRefresh:Ut};Xc.useEffectEvent=Ut;var $_={readContext:Nr,use:Sm,useCallback:function(e,t){return Fr().memoizedState=[e,t===void 0?null:t],e},useContext:Nr,useEffect:A5,useImperativeHandle:function(e,t,r){r=r!=null?r.concat([e]):null,Mp(4194308,4,E_.bind(null,t,e),r)},useLayoutEffect:function(e,t){return Mp(4194308,4,e,t)},useInsertionEffect:function(e,t){Mp(4,2,e,t)},useMemo:function(e,t){var r=Fr();t=t===void 0?null:t;var n=e();if(Wo){Fi(!0);try{e()}finally{Fi(!1)}}return r.memoizedState=[n,t],n},useReducer:function(e,t,r){var n=Fr();if(r!==void 0){var a=r(t);if(Wo){Fi(!0);try{r(t)}finally{Fi(!1)}}}else a=t;return n.memoizedState=n.baseState=a,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:a},n.queue=e,e=e.dispatch=x7.bind(null,Ue,e),[n.memoizedState,e]},useRef:function(e){var t=Fr();return e={current:e},t.memoizedState=e},useState:function(e){e=rx(e);var t=e.queue,r=L_.bind(null,Ue,t);return t.dispatch=r,[e.memoizedState,r]},useDebugValue:tb,useDeferredValue:function(e,t){var r=Fr();return rb(r,e,t)},useTransition:function(){var e=rx(!1);return e=D_.bind(null,Ue,e.queue,!0,!1),Fr().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,r){var n=Ue,a=Fr();if(Xe){if(r===void 0)throw Error(oe(407));r=r()}else{if(r=t(),ht===null)throw Error(oe(349));(Ye&127)!==0||p_(n,t,r)}a.memoizedState=r;var i={value:r,getSnapshot:t};return a.queue=i,A5(v_.bind(null,n,i,e),[e]),n.flags|=2048,Os(9,{destroy:void 0},m_.bind(null,n,i,r,t),null),r},useId:function(){var e=Fr(),t=ht.identifierPrefix;if(Xe){var r=ba,n=xa;r=(n&~(1<<32-gn(n)-1)).toString(32)+r,t="_"+t+"R_"+r,r=Jp++,0<\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof n.is=="string"?o.createElement("select",{is:n.is}):o.createElement("select"),n.multiple?i.multiple=!0:n.size&&(i.size=n.size);break;default:i=typeof n.is=="string"?o.createElement(a,{is:n.is}):o.createElement(a)}}i[Sr]=t,i[en]=n;e:for(o=t.child;o!==null;){if(o.tag===5||o.tag===6)i.appendChild(o.stateNode);else if(o.tag!==4&&o.tag!==27&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===t)break e;for(;o.sibling===null;){if(o.return===null||o.return===t)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}t.stateNode=i;e:switch(_r(i,a,n),a){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}n&&qa(t)}}return St(t),xy(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,r),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&qa(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(oe(166));if(e=Gi.current,ts(t)){if(e=t.stateNode,r=t.memoizedProps,n=null,a=Ar,a!==null)switch(a.tag){case 27:case 5:n=a.memoizedProps}e[Sr]=t,e=!!(e.nodeValue===r||n!==null&&n.suppressHydrationWarning===!0||LC(e.nodeValue,r)),e||ao(t,!0)}else e=sm(e).createTextNode(n),e[Sr]=t,t.stateNode=e}return St(t),null;case 31:if(r=t.memoizedState,e===null||e.memoizedState!==null){if(n=ts(t),r!==null){if(e===null){if(!n)throw Error(oe(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(oe(557));e[Sr]=t}else Fo(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;St(t),e=!1}else r=cy(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),e=!0;if(!e)return t.flags&256?(fn(t),t):(fn(t),null);if((t.flags&128)!==0)throw Error(oe(558))}return St(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=ts(t),n!==null&&n.dehydrated!==null){if(e===null){if(!a)throw Error(oe(318));if(a=t.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(oe(317));a[Sr]=t}else Fo(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;St(t),a=!1}else a=cy(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(fn(t),t):(fn(t),null)}return fn(t),(t.flags&128)!==0?(t.lanes=r,t):(r=n!==null,e=e!==null&&e.memoizedState!==null,r&&(n=t.child,a=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(a=n.alternate.memoizedState.cachePool.pool),i=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(i=n.memoizedState.cachePool.pool),i!==a&&(n.flags|=2048)),r!==e&&r&&(t.child.flags|=8192),gp(t,t.updateQueue),St(t),null);case 4:return Ns(),e===null&&mb(t.stateNode.containerInfo),St(t),null;case 10:return ei(t.type),St(t),null;case 19:if(hr(Yt),n=t.memoizedState,n===null)return St(t),null;if(a=(t.flags&128)!==0,i=n.rendering,i===null)if(a)xc(n,!1);else{if($t!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=Zp(e),i!==null){for(t.flags|=128,xc(n,!1),e=i.updateQueue,t.updateQueue=e,gp(t,e),t.subtreeFlags=0,e=r,r=t.child;r!==null;)JN(r,e),r=r.sibling;return xt(Yt,Yt.current&1|2),Xe&&Ga(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&&vn()>rm&&(t.flags|=128,a=!0,xc(n,!1),t.lanes=4194304)}else{if(!a)if(e=Zp(i),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,gp(t,e),xc(n,!0),n.tail===null&&n.tailMode==="hidden"&&!i.alternate&&!Xe)return St(t),null}else 2*vn()-n.renderingStartTime>rm&&r!==536870912&&(t.flags|=128,a=!0,xc(n,!1),t.lanes=4194304);n.isBackwards?(i.sibling=t.child,t.child=i):(e=n.last,e!==null?e.sibling=i:t.child=i,n.last=i)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=vn(),e.sibling=null,r=Yt.current,xt(Yt,a?r&1|2:r&1),Xe&&Ga(t,n.treeForkCount),e):(St(t),null);case 22:case 23:return fn(t),Wx(),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&&(St(t),t.subtreeFlags&6&&(t.flags|=8192)):St(t),r=t.updateQueue,r!==null&&gp(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&&hr($o),null;case 24:return r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ei(er),St(t),null;case 25:return null;case 30:return null}throw Error(oe(156,t.tag))}function N7(e,t){switch(Hx(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ei(er),Ns(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Hp(t),null;case 31:if(t.memoizedState!==null){if(fn(t),t.alternate===null)throw Error(oe(340));Fo()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(fn(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(oe(340));Fo()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return hr(Yt),null;case 4:return Ns(),null;case 10:return ei(t.type),null;case 22:case 23:return fn(t),Wx(),e!==null&&hr($o),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ei(er),null;case 25:return null;default:return null}}function J_(e,t){switch(Hx(t),t.tag){case 3:ei(er),Ns();break;case 26:case 27:case 5:Hp(t);break;case 4:Ns();break;case 31:t.memoizedState!==null&&fn(t);break;case 13:fn(t);break;case 19:hr(Yt);break;case 10:ei(t.type);break;case 22:case 23:fn(t),Wx(),e!==null&&hr($o);break;case 24:ei(er)}}function ud(e,t){try{var r=t.updateQueue,n=r!==null?r.lastEffect:null;if(n!==null){var a=n.next;r=a;do{if((r.tag&e)===e){n=void 0;var i=r.create,o=r.inst;n=i(),o.destroy=n}r=r.next}while(r!==a)}}catch(l){ct(t,t.return,l)}}function io(e,t,r){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var i=a.next;n=i;do{if((n.tag&e)===e){var o=n.inst,l=o.destroy;if(l!==void 0){o.destroy=void 0,a=t;var s=r,u=l;try{u()}catch(c){ct(a,s,c)}}}n=n.next}while(n!==i)}}catch(c){ct(t,t.return,c)}}function R_(e){var t=e.updateQueue;if(t!==null){var r=e.stateNode;try{s_(t,r)}catch(n){ct(e,e.return,n)}}}function eC(e,t,r){r.props=Ko(e.type,e.memoizedProps),r.state=e.memoizedState;try{r.componentWillUnmount()}catch(n){ct(e,t,n)}}function zc(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(a){ct(e,t,a)}}function wa(e,t){var r=e.ref,n=e.refCleanup;if(r!==null)if(typeof n=="function")try{n()}catch(a){ct(e,t,a)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof r=="function")try{r(null)}catch(a){ct(e,t,a)}else r.current=null}function tC(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(a){ct(e,e.return,a)}}function by(e,t,r){try{var n=e.stateNode;q7(n,e.type,r,t),n[en]=t}catch(a){ct(e,e.return,a)}}function rC(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&so(e.type)||e.tag===4}function wy(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||rC(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&&so(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 ux(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=Qa));else if(n!==4&&(n===27&&so(e.type)&&(r=e.stateNode,t=null),e=e.child,e!==null))for(ux(e,t,r),e=e.sibling;e!==null;)ux(e,t,r),e=e.sibling}function tm(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&&so(e.type)&&(r=e.stateNode),e=e.child,e!==null))for(tm(e,t,r),e=e.sibling;e!==null;)tm(e,t,r),e=e.sibling}function nC(e){var t=e.stateNode,r=e.memoizedProps;try{for(var n=e.type,a=t.attributes;a.length;)t.removeAttributeNode(a[0]);_r(t,n,r),t[Sr]=e,t[en]=r}catch(i){ct(e,e.return,i)}}var Xa=!1,Rt=!1,Sy=!1,z5=typeof WeakSet=="function"?WeakSet:Set,mr=null;function _7(e,t){if(e=e.containerInfo,hx=fm,e=qN(e),zx(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 a=n.anchorOffset,i=n.focusNode;n=n.focusOffset;try{r.nodeType,i.nodeType}catch{r=null;break e}var o=0,l=-1,s=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var p;d!==r||a!==0&&d.nodeType!==3||(l=o+a),d!==i||n!==0&&d.nodeType!==3||(s=o+n),d.nodeType===3&&(o+=d.nodeValue.length),(p=d.firstChild)!==null;)f=d,d=p;for(;;){if(d===e)break t;if(f===r&&++u===a&&(l=o),f===i&&++c===n&&(s=o),(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(gx={focusedElem:e,selectionRange:r},fm=!1,mr=t;mr!==null;)if(t=mr,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,mr=e;else for(;mr!==null;){switch(t=mr,i=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"))),_r(i,n,r),i[Sr]=e,vr(i),n=i;break e;case"link":var o=aN("link","href",a).get(n+(r.href||""));if(o){for(var l=0;lb&&(o=b,b=h,h=o);var m=l5(l,h),g=l5(l,b);if(m&&g&&(p.rangeCount!==1||p.anchorNode!==m.node||p.anchorOffset!==m.offset||p.focusNode!==g.node||p.focusOffset!==g.offset)){var x=d.createRange();x.setStart(m.node,m.offset),p.removeAllRanges(),h>b?(p.addRange(x),p.extend(g.node,g.offset)):(x.setEnd(g.node,g.offset),p.addRange(x))}}}}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,De.T=null,r=fx,fx=null;var i=Ri,o=ti;if(ir=0,Ms=Ri=null,ti=0,(it&6)!==0)throw Error(oe(331));var l=it;if(it|=4,mC(i.current),dC(i,i.current,o,r),it=l,cd(0,!1),hn&&typeof hn.onPostCommitFiberRoot=="function")try{hn.onPostCommitFiberRoot(rd,i)}catch{}return!0}finally{ot.p=a,De.T=n,OC(e,t)}}function $5(e,t,r){t=Bn(r,t),t=ox(e.stateNode,t,2),e=Qi(e,t,2),e!==null&&(ad(e,2),Na(e))}function ct(e,t,r){if(e.tag===3)$5(e,e,r);else for(;t!==null;){if(t.tag===3){$5(t,e,r);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Ji===null||!Ji.has(n))){e=Bn(r,e),r=Y_(2),n=Qi(t,r,2),n!==null&&(W_(r,n,t,e),ad(n,2),Na(n));break}}t=t.return}}function Ny(e,t,r){var n=e.pingCache;if(n===null){n=e.pingCache=new k7;var a=new Set;n.set(t,a)}else a=n.get(t),a===void 0&&(a=new Set,n.set(t,a));a.has(r)||(cb=!0,a.add(r),e=P7.bind(null,e,t,r),t.then(e,e))}function P7(e,t,r){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&r,e.warmLanes&=~r,ht===e&&(Ye&r)===r&&($t===4||$t===3&&(Ye&62914560)===Ye&&300>vn()-_m?(it&2)===0&&Ds(e,0):db|=r,Ts===Ye&&(Ts=0)),Na(e)}function MC(e,t){t===0&&(t=SN()),e=Qo(e,t),e!==null&&(ad(e,t),Na(e))}function j7(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),MC(e,r)}function I7(e,t){var r=0;switch(e.tag){case 31:case 13:var n=e.stateNode,a=e.memoizedState;a!==null&&(r=a.retryLane);break;case 19:n=e.stateNode;break;case 22:n=e.stateNode._retryCache;break;default:throw Error(oe(314))}n!==null&&n.delete(t),MC(e,r)}function z7(e,t){return Ex(e,t)}var im=null,as=null,mx=!1,om=!1,_y=!1,Ki=0;function Na(e){e!==as&&e.next===null&&(as===null?im=as=e:as=as.next=e),om=!0,mx||(mx=!0,B7())}function cd(e,t){if(!_y&&om){_y=!0;do for(var r=!1,n=im;n!==null;){if(!t)if(e!==0){var a=n.pendingLanes;if(a===0)var i=0;else{var o=n.suspendedLanes,l=n.pingedLanes;i=(1<<31-gn(42|e)+1)-1,i&=a&~(o&~l),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(r=!0,H5(n,i))}else i=Ye,i=mm(n,n===ht?i:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(i&3)===0||nd(n,i)||(r=!0,H5(n,i));n=n.next}while(r);_y=!1}}function L7(){DC()}function DC(){om=mx=!1;var e=0;Ki!==0&&W7()&&(e=Ki);for(var t=vn(),r=null,n=im;n!==null;){var a=n.next,i=PC(n,t);i===0?(n.next=null,r===null?im=a:r.next=a,a===null&&(as=r)):(r=n,(e!==0||(i&3)!==0)&&(om=!0)),n=a}ir!==0&&ir!==5||cd(e,!1),Ki!==0&&(Ki=0)}function PC(e,t){for(var r=e.suspendedLanes,n=e.pingedLanes,a=e.expirationTimes,i=e.pendingLanes&-62914561;0l)break;var c=s.transferSize,d=s.initiatorType;c&&G5(d)&&(s=s.responseEnd,o+=c*(s"u"?null:document;function VC(e,t,r){var n=$s;if(n&&typeof t=="string"&&t){var a=Ln(t);a='link[rel="'+e+'"][href="'+a+'"]',typeof r=="string"&&(a+='[crossorigin="'+r+'"]'),tN.has(a)||(tN.add(a),e={rel:e,crossOrigin:r,href:t},n.querySelector(a)===null&&(t=n.createElement("link"),_r(t,"link",e),vr(t),n.head.appendChild(t)))}}function tz(e){li.D(e),VC("dns-prefetch",e,null)}function rz(e,t){li.C(e,t),VC("preconnect",e,t)}function nz(e,t,r){li.L(e,t,r);var n=$s;if(n&&e&&t){var a='link[rel="preload"][as="'+Ln(t)+'"]';t==="image"&&r&&r.imageSrcSet?(a+='[imagesrcset="'+Ln(r.imageSrcSet)+'"]',typeof r.imageSizes=="string"&&(a+='[imagesizes="'+Ln(r.imageSizes)+'"]')):a+='[href="'+Ln(e)+'"]';var i=a;switch(t){case"style":i=Ps(e);break;case"script":i=Hs(e)}Vn.has(i)||(e=Nt({rel:"preload",href:t==="image"&&r&&r.imageSrcSet?void 0:e,as:t},r),Vn.set(i,e),n.querySelector(a)!==null||t==="style"&&n.querySelector(dd(i))||t==="script"&&n.querySelector(fd(i))||(t=n.createElement("link"),_r(t,"link",e),vr(t),n.head.appendChild(t)))}}function az(e,t){li.m(e,t);var r=$s;if(r&&e){var n=t&&typeof t.as=="string"?t.as:"script",a='link[rel="modulepreload"][as="'+Ln(n)+'"][href="'+Ln(e)+'"]',i=a;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=Hs(e)}if(!Vn.has(i)&&(e=Nt({rel:"modulepreload",href:e},t),Vn.set(i,e),r.querySelector(a)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(r.querySelector(fd(i)))return}n=r.createElement("link"),_r(n,"link",e),vr(n),r.head.appendChild(n)}}}function iz(e,t,r){li.S(e,t,r);var n=$s;if(n&&e){var a=gs(n).hoistableStyles,i=Ps(e);t=t||"default";var o=a.get(i);if(!o){var l={loading:0,preload:null};if(o=n.querySelector(dd(i)))l.loading=5;else{e=Nt({rel:"stylesheet",href:e,"data-precedence":t},r),(r=Vn.get(i))&&vb(e,r);var s=o=n.createElement("link");vr(s),_r(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,Ip(o,t,n)}o={type:"stylesheet",instance:o,count:1,state:l},a.set(i,o)}}}function oz(e,t){li.X(e,t);var r=$s;if(r&&e){var n=gs(r).hoistableScripts,a=Hs(e),i=n.get(a);i||(i=r.querySelector(fd(a)),i||(e=Nt({src:e,async:!0},t),(t=Vn.get(a))&&hb(e,t),i=r.createElement("script"),vr(i),_r(i,"link",e),r.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},n.set(a,i))}}function lz(e,t){li.M(e,t);var r=$s;if(r&&e){var n=gs(r).hoistableScripts,a=Hs(e),i=n.get(a);i||(i=r.querySelector(fd(a)),i||(e=Nt({src:e,async:!0,type:"module"},t),(t=Vn.get(a))&&hb(e,t),i=r.createElement("script"),vr(i),_r(i,"link",e),r.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},n.set(a,i))}}function rN(e,t,r,n){var a=(a=Gi.current)?um(a):null;if(!a)throw Error(oe(446));switch(e){case"meta":case"title":return null;case"style":return typeof r.precedence=="string"&&typeof r.href=="string"?(t=Ps(r.href),r=gs(a).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=Ps(r.href);var i=gs(a).hoistableStyles,o=i.get(e);if(o||(a=a.ownerDocument||a,o={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,o),(i=a.querySelector(dd(e)))&&!i._p&&(o.instance=i,o.state.loading=5),Vn.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},Vn.set(e,r),i||sz(a,e,r,o.state))),t&&n===null)throw Error(oe(528,""));return o}if(t&&n!==null)throw Error(oe(529,""));return null;case"script":return t=r.async,r=r.src,typeof r=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Hs(r),r=gs(a).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(oe(444,e))}}function Ps(e){return'href="'+Ln(e)+'"'}function dd(e){return'link[rel="stylesheet"]['+e+"]"}function FC(e){return Nt({},e,{"data-precedence":e.precedence,precedence:null})}function sz(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}),_r(t,"link",r),vr(t),e.head.appendChild(t))}function Hs(e){return'[src="'+Ln(e)+'"]'}function fd(e){return"script[async]"+e}function nN(e,t,r){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+Ln(r.href)+'"]');if(n)return t.instance=n,vr(n),n;var a=Nt({},r,{"data-href":r.href,"data-precedence":r.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),vr(n),_r(n,"style",a),Ip(n,r.precedence,e),t.instance=n;case"stylesheet":a=Ps(r.href);var i=e.querySelector(dd(a));if(i)return t.state.loading|=4,t.instance=i,vr(i),i;n=FC(r),(a=Vn.get(a))&&vb(n,a),i=(e.ownerDocument||e).createElement("link"),vr(i);var o=i;return o._p=new Promise(function(l,s){o.onload=l,o.onerror=s}),_r(i,"link",n),t.state.loading|=4,Ip(i,r.precedence,e),t.instance=i;case"script":return i=Hs(r.src),(a=e.querySelector(fd(i)))?(t.instance=a,vr(a),a):(n=r,(a=Vn.get(i))&&(n=Nt({},r),hb(n,a)),e=e.ownerDocument||e,a=e.createElement("script"),vr(a),_r(a,"link",n),e.head.appendChild(a),t.instance=a);case"void":return null;default:throw Error(oe(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,Ip(n,r.precedence,e));return t.instance}function Ip(e,t,r){for(var n=r.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=n.length?n[n.length-1]:null,i=a,o=0;o title"):null)}function uz(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 qC(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function cz(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 a=Ps(n.href),i=t.querySelector(dd(a));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=cm.bind(e),t.then(e,e)),r.state.loading|=4,r.instance=i,vr(i);return}i=t.ownerDocument||t,n=FC(n),(a=Vn.get(a))&&vb(n,a),i=i.createElement("link"),vr(i);var o=i;o._p=new Promise(function(l,s){o.onload=l,o.onerror=s}),_r(i,"link",n),r.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(r,t),(t=r.state.preload)&&(r.state.loading&3)===0&&(e.count++,r=cm.bind(e),t.addEventListener("load",r),t.addEventListener("error",r))}}var Oy=0;function dz(e,t){return e.stylesheets&&e.count===0&&Lp(e,e.stylesheets),0Oy?50:800)+t);return e.unsuspend=r,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(a)}}:null}function cm(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Lp(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var dm=null;function Lp(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,dm=new Map,t.forEach(fz,e),dm=null,cm.call(e))}function fz(e,t){if(!(t.state.loading&4)){var r=dm.get(e);if(r)var n=r.get(null);else{r=new Map,dm.set(e,r);for(var a=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i{"use strict";function RC(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(RC)}catch(e){console.error(e)}}RC(),eE.exports=JC()});var RE=Or(JE=>{"use strict";var iu=ne();function r9(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var n9=typeof Object.is=="function"?Object.is:r9,a9=iu.useState,i9=iu.useEffect,o9=iu.useLayoutEffect,l9=iu.useDebugValue;function s9(e,t){var r=t(),n=a9({inst:{value:r,getSnapshot:t}}),a=n[0].inst,i=n[1];return o9(function(){a.value=r,a.getSnapshot=t,e1(a)&&i({inst:a})},[e,r,t]),i9(function(){return e1(a)&&i({inst:a}),e(function(){e1(a)&&i({inst:a})})},[e]),l9(r),r}function e1(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!n9(e,r)}catch{return!0}}function u9(e,t){return t()}var c9=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?u9:s9;JE.useSyncExternalStore=iu.useSyncExternalStore!==void 0?iu.useSyncExternalStore:c9});var tk=Or((ate,ek)=>{"use strict";ek.exports=RE()});var nk=Or(rk=>{"use strict";var vv=ne(),d9=tk();function f9(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var p9=typeof Object.is=="function"?Object.is:f9,m9=d9.useSyncExternalStore,v9=vv.useRef,h9=vv.useEffect,g9=vv.useMemo,y9=vv.useDebugValue;rk.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var i=v9(null);if(i.current===null){var o={hasValue:!1,value:null};i.current=o}else o=i.current;i=g9(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),a!==void 0&&o.hasValue){var v=o.value;if(a(v,p))return d=v}return d=p}if(v=d,p9(c,p))return v;var h=n(p);return a!==void 0&&a(v,h)?(c=p,v):(c=p,d=h)}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,a]);var l=m9(e,i[0],i[1]);return h9(function(){o.hasValue=!0,o.value=l},[l]),y9(l),l}});var ik=Or((ote,ak)=>{"use strict";ak.exports=nk()});var KO=Or(WO=>{"use strict";var Md=ne();function SB(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var AB=typeof Object.is=="function"?Object.is:SB,NB=Md.useSyncExternalStore,_B=Md.useRef,CB=Md.useEffect,EB=Md.useMemo,kB=Md.useDebugValue;WO.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var i=_B(null);if(i.current===null){var o={hasValue:!1,value:null};i.current=o}else o=i.current;i=EB(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),a!==void 0&&o.hasValue){var v=o.value;if(a(v,p))return d=v}return d=p}if(v=d,AB(c,p))return v;var h=n(p);return a!==void 0&&a(v,h)?(c=p,v):(c=p,d=h)}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,a]);var l=NB(e,i[0],i[1]);return CB(function(){o.hasValue=!0,o.value=l},[l]),kB(l),l}});var XO=Or((ine,GO)=>{"use strict";GO.exports=KO()});var K1=Or((y3,gh)=>{(function(e){"use strict";var t=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},n=!0,a="[DecimalError] ",i=a+"Invalid argument: ",o=a+"Exponent out of range: ",l=Math.floor,s=Math.pow,u=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,c,d=1e7,f=7,p=9007199254740991,v=l(p/f),h={};h.absoluteValue=h.abs=function(){var y=new this.constructor(this);return y.s&&(y.s=1),y},h.comparedTo=h.cmp=function(y){var C,O,D,N,T=this;if(y=new T.constructor(y),T.s!==y.s)return T.s||-y.s;if(T.e!==y.e)return T.e>y.e^T.s<0?1:-1;for(D=T.d.length,N=y.d.length,C=0,O=Dy.d[C]^T.s<0?1:-1;return D===N?0:D>N^T.s<0?1:-1},h.decimalPlaces=h.dp=function(){var y=this,C=y.d.length-1,O=(C-y.e)*f;if(C=y.d[C],C)for(;C%10==0;C/=10)O--;return O<0?0:O},h.dividedBy=h.div=function(y){return x(this,new this.constructor(y))},h.dividedToIntegerBy=h.idiv=function(y){var C=this,O=C.constructor;return I(x(C,new O(y),0,1),O.precision)},h.equals=h.eq=function(y){return!this.cmp(y)},h.exponent=function(){return k(this)},h.greaterThan=h.gt=function(y){return this.cmp(y)>0},h.greaterThanOrEqualTo=h.gte=function(y){return this.cmp(y)>=0},h.isInteger=h.isint=function(){return this.e>this.d.length-2},h.isNegative=h.isneg=function(){return this.s<0},h.isPositive=h.ispos=function(){return this.s>0},h.isZero=function(){return this.s===0},h.lessThan=h.lt=function(y){return this.cmp(y)<0},h.lessThanOrEqualTo=h.lte=function(y){return this.cmp(y)<1},h.logarithm=h.log=function(y){var C,O=this,D=O.constructor,N=D.precision,T=N+5;if(y===void 0)y=new D(10);else if(y=new D(y),y.s<1||y.eq(c))throw Error(a+"NaN");if(O.s<1)throw Error(a+(O.s?"NaN":"-Infinity"));return O.eq(c)?new D(0):(n=!1,C=x(E(O,T),E(y,T),T),n=!0,I(C,N))},h.minus=h.sub=function(y){var C=this;return y=new C.constructor(y),C.s==y.s?j(C,y):b(C,(y.s=-y.s,y))},h.modulo=h.mod=function(y){var C,O=this,D=O.constructor,N=D.precision;if(y=new D(y),!y.s)throw Error(a+"NaN");return O.s?(n=!1,C=x(O,y,0,1).times(y),n=!0,O.minus(C)):I(new D(O),N)},h.naturalExponential=h.exp=function(){return A(this)},h.naturalLogarithm=h.ln=function(){return E(this)},h.negated=h.neg=function(){var y=new this.constructor(this);return y.s=-y.s||0,y},h.plus=h.add=function(y){var C=this;return y=new C.constructor(y),C.s==y.s?b(C,y):j(C,(y.s=-y.s,y))},h.precision=h.sd=function(y){var C,O,D,N=this;if(y!==void 0&&y!==!!y&&y!==1&&y!==0)throw Error(i+y);if(C=k(N)+1,D=N.d.length-1,O=D*f+1,D=N.d[D],D){for(;D%10==0;D/=10)O--;for(D=N.d[0];D>=10;D/=10)O++}return y&&C>O?C:O},h.squareRoot=h.sqrt=function(){var y,C,O,D,N,T,H,Y=this,J=Y.constructor;if(Y.s<1){if(!Y.s)return new J(0);throw Error(a+"NaN")}for(y=k(Y),n=!1,N=Math.sqrt(+Y),N==0||N==1/0?(C=g(Y.d),(C.length+y)%2==0&&(C+="0"),N=Math.sqrt(C),y=l((y+1)/2)-(y<0||y%2),N==1/0?C="5e"+y:(C=N.toExponential(),C=C.slice(0,C.indexOf("e")+1)+y),D=new J(C)):D=new J(N.toString()),O=J.precision,N=H=O+3;;)if(T=D,D=T.plus(x(Y,T,H+2)).times(.5),g(T.d).slice(0,H)===(C=g(D.d)).slice(0,H)){if(C=C.slice(H-3,H+1),N==H&&C=="4999"){if(I(T,O+1,0),T.times(T).eq(Y)){D=T;break}}else if(C!="9999")break;H+=4}return n=!0,I(D,O)},h.times=h.mul=function(y){var C,O,D,N,T,H,Y,J,fe,pe=this,ge=pe.constructor,ze=pe.d,se=(y=new ge(y)).d;if(!pe.s||!y.s)return new ge(0);for(y.s*=pe.s,O=pe.e+y.e,J=ze.length,fe=se.length,J=0;){for(C=0,N=J+D;N>D;)Y=T[N]+se[D]*ze[N-D-1]+C,T[N--]=Y%d|0,C=Y/d|0;T[N]=(T[N]+C)%d|0}for(;!T[--H];)T.pop();return C?++O:T.shift(),y.d=T,y.e=O,n?I(y,ge.precision):y},h.toDecimalPlaces=h.todp=function(y,C){var O=this,D=O.constructor;return O=new D(O),y===void 0?O:(m(y,0,t),C===void 0?C=D.rounding:m(C,0,8),I(O,y+k(O)+1,C))},h.toExponential=function(y,C){var O,D=this,N=D.constructor;return y===void 0?O=z(D,!0):(m(y,0,t),C===void 0?C=N.rounding:m(C,0,8),D=I(new N(D),y+1,C),O=z(D,!0,y+1)),O},h.toFixed=function(y,C){var O,D,N=this,T=N.constructor;return y===void 0?z(N):(m(y,0,t),C===void 0?C=T.rounding:m(C,0,8),D=I(new T(N),y+k(N)+1,C),O=z(D.abs(),!1,y+k(D)+1),N.isneg()&&!N.isZero()?"-"+O:O)},h.toInteger=h.toint=function(){var y=this,C=y.constructor;return I(new C(y),k(y)+1,C.rounding)},h.toNumber=function(){return+this},h.toPower=h.pow=function(y){var C,O,D,N,T,H,Y=this,J=Y.constructor,fe=12,pe=+(y=new J(y));if(!y.s)return new J(c);if(Y=new J(Y),!Y.s){if(y.s<1)throw Error(a+"Infinity");return Y}if(Y.eq(c))return Y;if(D=J.precision,y.eq(c))return I(Y,D);if(C=y.e,O=y.d.length-1,H=C>=O,T=Y.s,H){if((O=pe<0?-pe:pe)<=p){for(N=new J(c),C=Math.ceil(D/f+4),n=!1;O%2&&(N=N.times(Y),X(N.d,C)),O=l(O/2),O!==0;)Y=Y.times(Y),X(Y.d,C);return n=!0,y.s<0?new J(c).div(N):I(N,D)}}else if(T<0)throw Error(a+"NaN");return T=T<0&&y.d[Math.max(C,O)]&1?-1:1,Y.s=1,n=!1,N=y.times(E(Y,D+fe)),n=!0,N=A(N),N.s=T,N},h.toPrecision=function(y,C){var O,D,N=this,T=N.constructor;return y===void 0?(O=k(N),D=z(N,O<=T.toExpNeg||O>=T.toExpPos)):(m(y,1,t),C===void 0?C=T.rounding:m(C,0,8),N=I(new T(N),y,C),O=k(N),D=z(N,y<=O||O<=T.toExpNeg,y)),D},h.toSignificantDigits=h.tosd=function(y,C){var O=this,D=O.constructor;return y===void 0?(y=D.precision,C=D.rounding):(m(y,1,t),C===void 0?C=D.rounding:m(C,0,8)),I(new D(O),y,C)},h.toString=h.valueOf=h.val=h.toJSON=function(){var y=this,C=k(y),O=y.constructor;return z(y,C<=O.toExpNeg||C>=O.toExpPos)};function b(y,C){var O,D,N,T,H,Y,J,fe,pe=y.constructor,ge=pe.precision;if(!y.s||!C.s)return C.s||(C=new pe(y)),n?I(C,ge):C;if(J=y.d,fe=C.d,H=y.e,N=C.e,J=J.slice(),T=H-N,T){for(T<0?(D=J,T=-T,Y=fe.length):(D=fe,N=H,Y=J.length),H=Math.ceil(ge/f),Y=H>Y?H+1:Y+1,T>Y&&(T=Y,D.length=1),D.reverse();T--;)D.push(0);D.reverse()}for(Y=J.length,T=fe.length,Y-T<0&&(T=Y,D=fe,fe=J,J=D),O=0;T;)O=(J[--T]=J[T]+fe[T]+O)/d|0,J[T]%=d;for(O&&(J.unshift(O),++N),Y=J.length;J[--Y]==0;)J.pop();return C.d=J,C.e=N,n?I(C,ge):C}function m(y,C,O){if(y!==~~y||yO)throw Error(i+y)}function g(y){var C,O,D,N=y.length-1,T="",H=y[0];if(N>0){for(T+=H,C=1;CH?1:-1;else for(Y=J=0;YN[Y]?1:-1;break}return J}function O(D,N,T){for(var H=0;T--;)D[T]-=H,H=D[T]1;)D.shift()}return function(D,N,T,H){var Y,J,fe,pe,ge,ze,se,Ne,F,$,q,ae,ie,G,xe,Ae,we,Ke,br=D.constructor,Mo=D.s==N.s?1:-1,Gr=D.d,zt=N.d;if(!D.s)return new br(D);if(!N.s)throw Error(a+"Division by zero");for(J=D.e-N.e,we=zt.length,xe=Gr.length,se=new br(Mo),Ne=se.d=[],fe=0;zt[fe]==(Gr[fe]||0);)++fe;if(zt[fe]>(Gr[fe]||0)&&--J,T==null?ae=T=br.precision:H?ae=T+(k(D)-k(N))+1:ae=T,ae<0)return new br(0);if(ae=ae/f+2|0,fe=0,we==1)for(pe=0,zt=zt[0],ae++;(fe1&&(zt=y(zt,pe),Gr=y(Gr,pe),we=zt.length,xe=Gr.length),G=we,F=Gr.slice(0,we),$=F.length;$=d/2&&++Ae;do pe=0,Y=C(zt,F,we,$),Y<0?(q=F[0],we!=$&&(q=q*d+(F[1]||0)),pe=q/Ae|0,pe>1?(pe>=d&&(pe=d-1),ge=y(zt,pe),ze=ge.length,$=F.length,Y=C(ge,F,ze,$),Y==1&&(pe--,O(ge,we16)throw Error(o+k(y));if(!y.s)return new pe(c);for(C==null?(n=!1,Y=ge):Y=C,H=new pe(.03125);y.abs().gte(.1);)y=y.times(H),fe+=5;for(D=Math.log(s(2,fe))/Math.LN10*2+5|0,Y+=D,O=N=T=new pe(c),pe.precision=Y;;){if(N=I(N.times(y),Y),O=O.times(++J),H=T.plus(x(N,O,Y)),g(H.d).slice(0,Y)===g(T.d).slice(0,Y)){for(;fe--;)T=I(T.times(T),Y);return pe.precision=ge,C==null?(n=!0,I(T,ge)):T}T=H}}function k(y){for(var C=y.e*f,O=y.d[0];O>=10;O/=10)C++;return C}function _(y,C,O){if(C>y.LN10.sd())throw n=!0,O&&(y.precision=O),Error(a+"LN10 precision limit exceeded");return I(new y(y.LN10),C)}function M(y){for(var C="";y--;)C+="0";return C}function E(y,C){var O,D,N,T,H,Y,J,fe,pe,ge=1,ze=10,se=y,Ne=se.d,F=se.constructor,$=F.precision;if(se.s<1)throw Error(a+(se.s?"NaN":"-Infinity"));if(se.eq(c))return new F(0);if(C==null?(n=!1,fe=$):fe=C,se.eq(10))return C==null&&(n=!0),_(F,fe);if(fe+=ze,F.precision=fe,O=g(Ne),D=O.charAt(0),T=k(se),Math.abs(T)<15e14){for(;D<7&&D!=1||D==1&&O.charAt(1)>3;)se=se.times(y),O=g(se.d),D=O.charAt(0),ge++;T=k(se),D>1?(se=new F("0."+O),T++):se=new F(D+"."+O.slice(1))}else return J=_(F,fe+2,$).times(T+""),se=E(new F(D+"."+O.slice(1)),fe-ze).plus(J),F.precision=$,C==null?(n=!0,I(se,$)):se;for(Y=H=se=x(se.minus(c),se.plus(c),fe),pe=I(se.times(se),fe),N=3;;){if(H=I(H.times(pe),fe),J=Y.plus(x(H,new F(N),fe)),g(J.d).slice(0,fe)===g(Y.d).slice(0,fe))return Y=Y.times(2),T!==0&&(Y=Y.plus(_(F,fe+2,$).times(T+""))),Y=x(Y,new F(ge),fe),F.precision=$,C==null?(n=!0,I(Y,$)):Y;Y=J,N+=2}}function L(y,C){var O,D,N;for((O=C.indexOf("."))>-1&&(C=C.replace(".","")),(D=C.search(/e/i))>0?(O<0&&(O=D),O+=+C.slice(D+1),C=C.substring(0,D)):O<0&&(O=C.length),D=0;C.charCodeAt(D)===48;)++D;for(N=C.length;C.charCodeAt(N-1)===48;)--N;if(C=C.slice(D,N),C){if(N-=D,O=O-D-1,y.e=l(O/f),y.d=[],D=(O+1)%f,O<0&&(D+=f),Dv||y.e<-v))throw Error(o+O)}else y.s=0,y.e=0,y.d=[0];return y}function I(y,C,O){var D,N,T,H,Y,J,fe,pe,ge=y.d;for(H=1,T=ge[0];T>=10;T/=10)H++;if(D=C-H,D<0)D+=f,N=C,fe=ge[pe=0];else{if(pe=Math.ceil((D+1)/f),T=ge.length,pe>=T)return y;for(fe=T=ge[pe],H=1;T>=10;T/=10)H++;D%=f,N=D-f+H}if(O!==void 0&&(T=s(10,H-N-1),Y=fe/T%10|0,J=C<0||ge[pe+1]!==void 0||fe%T,J=O<4?(Y||J)&&(O==0||O==(y.s<0?3:2)):Y>5||Y==5&&(O==4||J||O==6&&(D>0?N>0?fe/s(10,H-N):0:ge[pe-1])%10&1||O==(y.s<0?8:7))),C<1||!ge[0])return J?(T=k(y),ge.length=1,C=C-T-1,ge[0]=s(10,(f-C%f)%f),y.e=l(-C/f)||0):(ge.length=1,ge[0]=y.e=y.s=0),y;if(D==0?(ge.length=pe,T=1,pe--):(ge.length=pe+1,T=s(10,f-D),ge[pe]=N>0?(fe/s(10,H-N)%s(10,N)|0)*T:0),J)for(;;)if(pe==0){(ge[0]+=T)==d&&(ge[0]=1,++y.e);break}else{if(ge[pe]+=T,ge[pe]!=d)break;ge[pe--]=0,T=1}for(D=ge.length;ge[--D]===0;)ge.pop();if(n&&(y.e>v||y.e<-v))throw Error(o+k(y));return y}function j(y,C){var O,D,N,T,H,Y,J,fe,pe,ge,ze=y.constructor,se=ze.precision;if(!y.s||!C.s)return C.s?C.s=-C.s:C=new ze(y),n?I(C,se):C;if(J=y.d,ge=C.d,D=C.e,fe=y.e,J=J.slice(),H=fe-D,H){for(pe=H<0,pe?(O=J,H=-H,Y=ge.length):(O=ge,D=fe,Y=J.length),N=Math.max(Math.ceil(se/f),Y)+2,H>N&&(H=N,O.length=1),O.reverse(),N=H;N--;)O.push(0);O.reverse()}else{for(N=J.length,Y=ge.length,pe=N0;--N)J[Y++]=0;for(N=ge.length;N>H;){if(J[--N]0?T=T.charAt(0)+"."+T.slice(1)+M(D):H>1&&(T=T.charAt(0)+"."+T.slice(1)),T=T+(N<0?"e":"e+")+N):N<0?(T="0."+M(-N-1)+T,O&&(D=O-H)>0&&(T+=M(D))):N>=H?(T+=M(N+1-H),O&&(D=O-N-1)>0&&(T=T+"."+M(D))):((D=N+1)0&&(N+1===H&&(T+="."),T+=M(D))),y.s<0?"-"+T:T}function X(y,C){if(y.length>C)return y.length=C,!0}function R(y){var C,O,D;function N(T){var H=this;if(!(H instanceof N))return new N(T);if(H.constructor=N,T instanceof N){H.s=T.s,H.e=T.e,H.d=(T=T.d)?T.slice():T;return}if(typeof T=="number"){if(T*0!==0)throw Error(i+T);if(T>0)H.s=1;else if(T<0)T=-T,H.s=-1;else{H.s=0,H.e=0,H.d=[0];return}if(T===~~T&&T<1e7){H.e=0,H.d=[T];return}return L(H,T.toString())}else if(typeof T!="string")throw Error(i+T);if(T.charCodeAt(0)===45?(T=T.slice(1),H.s=-1):H.s=1,u.test(T))L(H,T);else throw Error(i+T)}if(N.prototype=h,N.ROUND_UP=0,N.ROUND_DOWN=1,N.ROUND_CEIL=2,N.ROUND_FLOOR=3,N.ROUND_HALF_UP=4,N.ROUND_HALF_DOWN=5,N.ROUND_HALF_EVEN=6,N.ROUND_HALF_CEIL=7,N.ROUND_HALF_FLOOR=8,N.clone=R,N.config=N.set=Q,y===void 0&&(y={}),y)for(D=["precision","rounding","toExpNeg","toExpPos","LN10"],C=0;C=N[C+1]&&D<=N[C+2])this[O]=D;else throw Error(i+O+": "+D);if((D=y[O="LN10"])!==void 0)if(D==Math.LN10)this[O]=new this(D);else throw Error(i+O+": "+D);return this}r=R(r),r.default=r.Decimal=r,c=new r(1),typeof define=="function"&&define.amd?define(function(){return r}):typeof gh<"u"&&gh.exports?gh.exports=r:(e||(e=typeof self<"u"&&self&&self.self==self?self:Function("return this")()),e.Decimal=r)})(y3)});var y8=Or((Mpe,$w)=>{"use strict";var cY=Object.prototype.hasOwnProperty,Kr="~";function yf(){}Object.create&&(yf.prototype=Object.create(null),new yf().__proto__||(Kr=!1));function dY(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function g8(e,t,r,n,a){if(typeof r!="function")throw new TypeError("The listener must be a function");var i=new dY(r,n||e,a),o=Kr?Kr+t:t;return e._events[o]?e._events[o].fn?e._events[o]=[e._events[o],i]:e._events[o].push(i):(e._events[o]=i,e._eventsCount++),e}function z0(e,t){--e._eventsCount===0?e._events=new yf:delete e._events[t]}function zr(){this._events=new yf,this._eventsCount=0}zr.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)cY.call(r,n)&&t.push(Kr?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};zr.prototype.listeners=function(t){var r=Kr?Kr+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var a=0,i=n.length,o=new Array(i);att.default.createElement("g",{stroke:"none",fill:"none",fillRule:"evenodd",strokeWidth:"1"},tt.default.createElement("g",{transform:"translate(25, 475) scale(-1, 1) rotate(-180) translate(-25, -475) translate(0, 450)"},tt.default.createElement("g",{fillRule:"nonzero"},tt.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"})),tt.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"}),tt.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"}),tt.default.createElement("g",{transform:"translate(75.105, 196.182)"},tt.default.createElement("ellipse",{fill:"#F5E6D3",cx:"87",cy:"55",rx:"35",ry:"29"}),tt.default.createElement("ellipse",{fill:"#5D4037",cx:"87",cy:"57",rx:"20",ry:"20"}),tt.default.createElement("ellipse",{fill:"#2D1F1F",cx:"87",cy:"57",rx:"12",ry:"12"}),tt.default.createElement("ellipse",{fill:"#FFFFFF",cx:"80",cy:"51",rx:"5",ry:"5"}),tt.default.createElement("ellipse",{fill:"#F5E6D3",cx:"259",cy:"55",rx:"35",ry:"29"}),tt.default.createElement("ellipse",{fill:"#5D4037",cx:"259",cy:"57",rx:"20",ry:"20"}),tt.default.createElement("ellipse",{fill:"#2D1F1F",cx:"259",cy:"57",rx:"12",ry:"12"}),tt.default.createElement("ellipse",{fill:"#FFFFFF",cx:"252",cy:"51",rx:"5",ry:"5"})),tt.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},tt.default.createElement("g",{transform:"translate(267.395, 54.835) scale(-1, 1) translate(-267.395, -54.835)"},tt.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"})),tt.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"})),tt.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},tt.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"})),tt.default.createElement("g",{transform:"translate(83.563, 252.212)",fill:"#FFFFFF",fillRule:"nonzero"},tt.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"}),tt.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 Mt({size:e=200,instructions:t=[],tools:r=[],showDecorations:n=!1,className:a="",hat:i,hatAccessory:o,heldItem:l,theme:s,customColors:u}){return tt.default.createElement("div",{className:`inline-flex flex-col items-center ${a}`},n&&t.length>0&&tt.default.createElement("div",{className:"flex gap-1 mb-1"},t.map(c=>{let d=Ro[c];return d?tt.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})),tt.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"},tt.default.createElement("title",null,"ActiveAgent"),tt.default.createElement(bz,null)),n&&r.length>0&&tt.default.createElement("div",{className:"flex gap-1 mt-1"},r.map(c=>{let d=el[c];return d?tt.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})))}var rn=ee(ne());var la=ee(ne()),rE=(0,la.createContext)();function nE({children:e}){let[t,r]=(0,la.useState)(()=>{let a=localStorage.getItem("dashboard-theme");return a?a==="dark":window.matchMedia("(prefers-color-scheme: dark)").matches});(0,la.useEffect)(()=>{localStorage.setItem("dashboard-theme",t?"dark":"light")},[t]),(0,la.useEffect)(()=>{let a=window.matchMedia("(prefers-color-scheme: dark)"),i=o=>{localStorage.getItem("dashboard-theme")||r(o.matches)};return a.addEventListener("change",i),()=>a.removeEventListener("change",i)},[]);let n=()=>r(!t);return la.default.createElement(rE.Provider,{value:{darkMode:t,toggleDarkMode:n}},e)}function mt(){let e=(0,la.useContext)(rE);if(!e)throw new Error("useTheme must be used within a ThemeProvider");return e}function Fs({name:e,subtitle:t,badge:r,accentColor:n,stats:a=[],footer:i,onClick:o,actions:l}){let{darkMode:s}=mt(),[u,c]=rn.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 rn.default.createElement("div",{"data-testid":"agent-card","data-agent-name":typeof e=="string"?e:void 0,onClick:o,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),role:o?"button":void 0,tabIndex:o?0:void 0,onKeyDown:p=>{o&&(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),o(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:o?"pointer":"default",transition:"border-color 0.15s ease, box-shadow 0.15s ease",boxShadow:u&&o?"0 4px 16px rgba(0,0,0,0.08)":"none",display:"flex",flexDirection:"column",gap:"12px"}},rn.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"8px"}},rn.default.createElement("div",{style:{minWidth:0}},rn.default.createElement("div",{style:{fontWeight:600,fontSize:"15px",color:u&&o?"#ef4444":d.textPrimary,transition:"color 0.15s ease",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e},e),t&&rn.default.createElement("div",{style:{fontSize:"13px",color:d.textSecondary,marginTop:"2px",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"}},t)),r&&rn.default.createElement("div",{style:{flexShrink:0}},r)),a.length>0&&rn.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"6px"}},a.map(p=>rn.default.createElement("div",{key:p.label,title:p.title,style:{background:d.tileBg,borderRadius:"8px",padding:"6px 8px",textAlign:"center"}},rn.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,lineHeight:1.2,color:f(p.tone)}},p.value),rn.default.createElement("div",{style:{fontSize:"10px",textTransform:"uppercase",letterSpacing:"0.04em",color:d.textMuted,whiteSpace:"nowrap"}},p.label)))),i&&rn.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"8px",fontSize:"12px",color:d.textMuted}},i),l&&rn.default.createElement("div",{style:{opacity:u?1:0,transition:"opacity 0.15s ease"}},l))}function wb(e){return e==null?"muted":e>=.85?"good":e>=.7?"warn":"bad"}var wz=[{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 Sb({agents:e,meta:t,onSelect:r,onNew:n,onBrowseTemplates:a,onDuplicate:i,onDelete:o,onRefresh:l,sort:s="recent",onSortChange:u,isLoading:c}){let[d,f]=(0,Ee.useState)(""),[p,v]=(0,Ee.useState)(""),[h,b]=(0,Ee.useState)(""),m=e.filter(E=>{let L=!d||E.name.toLowerCase().includes(d.toLowerCase())||E.description?.toLowerCase().includes(d.toLowerCase()),I=!p||E.provider===p,j=!h||E.status===h;return L&&I&&j}),g=E=>{let L=new Date(E),j=new Date-L,z=Math.floor(j/(1e3*60*60*24));return z===0?"Today":z===1?"Yesterday":z<7?`${z} days ago`:L.toLocaleDateString()},x=E=>{switch(E){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"}},A=E=>E==null?"\u2014":E<1e3?`${Math.round(E)}ms`:`${(E/1e3).toFixed(1)}s`,k=E=>E==null?"\u2014":E>=1e6?`${(E/1e6).toFixed(1)}M`:E>=1e3?`${(E/1e3).toFixed(1)}k`:`${E}`,_=E=>E==null?"\u2014":E>0&&E<.01?"<$0.01":`$${E.toFixed(2)}`,M=E=>{if(!E)return"\u2014";let L=Math.floor((new Date-new Date(E))/(1e3*60*60*24));return L<=0?"Today":L<30?`${L}d ago`:new Date(E).toLocaleDateString()};return Ee.default.createElement("div",{className:"space-y-6"},Ee.default.createElement("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4"},Ee.default.createElement("div",{className:"flex-1 flex items-center space-x-4"},Ee.default.createElement("div",{className:"relative flex-1 max-w-md"},Ee.default.createElement("input",{type:"text",placeholder:"Search agents...",value:d,onChange:E=>f(E.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"}),Ee.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"},Ee.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"}))),Ee.default.createElement("select",{value:p,onChange:E=>v(E.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Ee.default.createElement("option",{value:""},"All Providers"),t.providers?.map(E=>Ee.default.createElement("option",{key:E,value:E},E.charAt(0).toUpperCase()+E.slice(1)))),Ee.default.createElement("select",{value:h,onChange:E=>b(E.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Ee.default.createElement("option",{value:""},"All Status"),Ee.default.createElement("option",{value:"active"},"Active"),Ee.default.createElement("option",{value:"draft"},"Draft"),Ee.default.createElement("option",{value:"archived"},"Archived")),Ee.default.createElement("select",{value:s,onChange:E=>u?.(E.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"},wz.map(E=>Ee.default.createElement("option",{key:E.value,value:E.value},E.label)))),Ee.default.createElement("div",{className:"flex items-center space-x-3"},Ee.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"},Ee.default.createElement("svg",{className:`h-5 w-5 ${c?"animate-spin":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ee.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"}))),Ee.default.createElement("button",{onClick:a,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"},Ee.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ee.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"})),Ee.default.createElement("span",null,"Browse Templates")),Ee.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"},Ee.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ee.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Ee.default.createElement("span",null,"New Agent")))),m.length>0?Ee.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6"},m.map(E=>{let L=E.stats||{},I=L.run_sources||[],j=I.length?`Counted from ${I.map(z=>z==="platform"?"dashboard runs":"reported telemetry").join(" + ")}`:void 0;return Ee.default.createElement(Fs,{key:E.id,name:E.name,subtitle:E.description||"No description",badge:Ee.default.createElement("span",{className:`px-2 py-0.5 text-xs font-medium rounded-full ${x(E.status)}`},E.status),onClick:()=>r(E),stats:[{label:`Runs ${L.window_days||30}d`,value:L.runs??0,title:j},{label:"Success",value:L.success_rate!=null?`${Math.round(L.success_rate)}%`:"\u2014",tone:wb(L.success_rate!=null?L.success_rate/100:null)},{label:"Avg time",value:A(L.avg_duration_ms)},{label:L.eval_samples_evaluated?`Eval ${L.eval_samples_passed}/${L.eval_samples_evaluated}`:"Eval",title:L.eval_samples_evaluated?`Latest evaluation: ${L.eval_samples_passed} of ${L.eval_samples_evaluated} samples passed`:void 0,value:L.eval_score!=null?`${Math.round(L.eval_score*100)}%`:"\u2014",tone:wb(L.eval_score)},{label:"Tokens",value:k(L.tokens)},{label:"Cost",value:_(L.cost),title:"Estimated from token counts at each model's published rates",tone:L.cost==null?"muted":void 0}],footer:Ee.default.createElement(Ee.default.Fragment,null,Ee.default.createElement("span",{style:{display:"flex",alignItems:"center",gap:"6px",minWidth:0}},Ee.default.createElement("span",{style:{padding:"2px 6px",borderRadius:"4px",background:"rgba(128,128,128,0.15)",whiteSpace:"nowrap",flexShrink:0}},E.provider),Ee.default.createElement("span",{title:E.model,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},E.model)),Ee.default.createElement("span",{style:{whiteSpace:"nowrap"},title:`Updated ${g(E.updatedAt||E.updated_at)}`},L.last_run_at?`Last run ${M(L.last_run_at)}`:`Updated ${g(E.updatedAt||E.updated_at)}`)),actions:Ee.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"13px"}},Ee.default.createElement("button",{onClick:z=>{z.stopPropagation(),i(E.id)},className:"text-gray-500 hover:text-red-600 transition-colors"},"Duplicate"),Ee.default.createElement("button",{onClick:z=>{z.stopPropagation(),o(E.id)},className:"text-red-500 hover:text-red-700 transition-colors"},"Delete"))})})):Ee.default.createElement("div",{className:"text-center py-16"},Ee.default.createElement("div",{className:"inline-block mb-4"},Ee.default.createElement(Mt,{size:100})),Ee.default.createElement("h3",{className:"text-lg font-medium text-gray-900 mb-2"},e.length===0?"No agents yet":"No matching agents"),Ee.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&&Ee.default.createElement("div",{className:"flex items-center justify-center space-x-4"},Ee.default.createElement("button",{onClick:a,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"},Ee.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ee.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"})),Ee.default.createElement("span",null,"Browse Templates")),Ee.default.createElement("span",{className:"text-gray-400"},"or"),Ee.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"},Ee.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ee.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Ee.default.createElement("span",null,"Create From Scratch")))))}var ue=ee(ne());var lr={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:"[>]",docs:"?",github:"*"},spans:{root:">",prompt:"*",generate:"|>",llm:">>",thinking:"..",tool:"[]",response:"<|"}};var Oe={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 qs={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 Mm(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 qs[e]||[]}var Dm=[{id:"basics",label:"Basics",icon:"1"},{id:"configure",label:"Configure",icon:"2"},{id:"review",label:"Review",icon:"3"}];function Ab({meta:e,onSave:t,onCancel:r,isLoading:n}){let[a,i]=(0,ue.useState)(0),[o,l]=(0,ue.useState)(qs),[s,u]=(0,ue.useState)({name:"",description:"",provider:"openai",model:qs.openai[0],instructions:"",preset_type:"terminal",instruction_sets:["github"],tools:["terminal","code"],model_config:{temperature:.7}});(0,ue.useEffect)(()=>{let h=!1;return Mm(s.provider).then(b=>{h||b.length===0||(l(m=>({...m,[s.provider]:b})),u(m=>b.includes(m.model)?m:{...m,model:b[0]}))}),()=>{h=!0}},[s.provider]);let c=(h,b)=>{u(m=>({...m,[h]:b}))},d=(h,b)=>{u(m=>{let g=m[h]||[],x=g.includes(b)?g.filter(A=>A!==b):[...g,b];return{...m,[h]:x}})},f=h=>{if(c("preset_type",h),Vs[h]){let b=Vs[h];c("instruction_sets",[...b.instructions]),c("tools",[...b.tools])}},p=()=>{switch(a){case 0:return s.name.trim().length>=2;case 1:return!0;case 2:return!0;default:return!1}},v=()=>{t(s)};return ue.default.createElement("div",{className:"max-w-4xl mx-auto"},ue.default.createElement("div",{className:"mb-8"},ue.default.createElement("div",{className:"flex items-center justify-between"},Dm.map((h,b)=>ue.default.createElement("div",{key:h.id,className:"flex items-center"},ue.default.createElement("div",{className:`flex items-center justify-center w-10 h-10 rounded-full border-2 transition-colors ${bi(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"),ue.default.createElement("button",{onClick:a===Dm.length-1?v:()=>i(a+1),disabled:!p()||n,className:`px-6 py-2 rounded-lg transition-colors ${p()&&!n?"bg-red-500 text-white hover:bg-red-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},a===Dm.length-1?"Create Agent":"Continue")))}function Sz({formData:e,updateField:t,providerModels:r}){return ue.default.createElement("div",{className:"space-y-6"},ue.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Basic Information"),ue.default.createElement("p",{className:"text-gray-500"},"Give your agent a name and configure its AI provider."),ue.default.createElement("div",{className:"space-y-4"},ue.default.createElement("div",null,ue.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Agent Name *"),ue.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"})),ue.default.createElement("div",null,ue.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Description"),ue.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"})),ue.default.createElement("div",{className:"grid grid-cols-2 gap-4"},ue.default.createElement("div",null,ue.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Provider"),ue.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=>ue.default.createElement("option",{key:n,value:n},n.charAt(0).toUpperCase()+n.slice(1))))),ue.default.createElement("div",null,ue.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Model"),ue.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=>ue.default.createElement("option",{key:n,value:n},n))))),ue.default.createElement("div",null,ue.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Temperature: ",e.model_config.temperature),ue.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"}),ue.default.createElement("div",{className:"flex justify-between text-xs text-gray-400"},ue.default.createElement("span",null,"Precise"),ue.default.createElement("span",null,"Creative")))))}function Az({formData:e,meta:t,toggleArrayItem:r,updateField:n,selectPreset:a}){let i=Object.keys(Vs),o=Object.keys(Ro),l=Object.keys(el);return ue.default.createElement("div",{className:"space-y-6"},ue.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Configure Agent"),ue.default.createElement("p",{className:"text-gray-500"},"Choose a preset or customize instructions and tools."),ue.default.createElement("div",{className:"flex justify-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},ue.default.createElement("div",{className:"flex flex-col items-center"},ue.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(s=>{let u=Ro[s];return u?ue.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})),ue.default.createElement(Mt,{size:120}),ue.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(s=>{let u=el[s];return u?ue.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})))),ue.default.createElement("div",null,ue.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},"Quick Presets"),ue.default.createElement("div",{className:"flex flex-wrap gap-2"},i.map(s=>ue.default.createElement("button",{key:s,onClick:()=>a(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"}`},ue.default.createElement("span",{className:"capitalize"},s.replace(/([A-Z])/g," $1").trim()))))),ue.default.createElement("div",null,ue.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},ue.default.createElement("strong",null,"Instructions"),ue.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"System/developer messages")),ue.default.createElement("div",{className:"flex flex-wrap gap-2"},o.map(s=>{let u=Ro[s];return ue.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"}`},ue.default.createElement("span",null,u.emoji),ue.default.createElement("span",null,u.label))}))),ue.default.createElement("div",null,ue.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},ue.default.createElement("strong",null,"Tools"),ue.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"MCPs and integrations")),ue.default.createElement("div",{className:"flex flex-wrap gap-2"},l.map(s=>{let u=el[s];return ue.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"}`},ue.default.createElement("span",null,u.emoji),ue.default.createElement("span",null,u.label))}))),ue.default.createElement("div",null,ue.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-2"},"System Instructions"),ue.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 Nz({formData:e}){return ue.default.createElement("div",{className:"space-y-6"},ue.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Review Your Agent"),ue.default.createElement("p",{className:"text-gray-500"},"Confirm the configuration before creating your agent."),ue.default.createElement("div",{className:"grid grid-cols-2 gap-8"},ue.default.createElement("div",{className:"flex flex-col items-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},ue.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(t=>{let r=Ro[t];return r?ue.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),ue.default.createElement(Mt,{size:100}),ue.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(t=>{let r=el[t];return r?ue.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),ue.default.createElement("h3",{className:"mt-4 text-lg font-semibold text-gray-900"},e.name),ue.default.createElement("p",{className:"text-sm text-gray-500"},e.description||"No description")),ue.default.createElement("div",{className:"space-y-4"},ue.default.createElement("div",null,ue.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Provider / Model"),ue.default.createElement("p",{className:"text-gray-900"},e.provider," / ",e.model)),ue.default.createElement("div",null,ue.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Temperature"),ue.default.createElement("p",{className:"text-gray-900"},e.model_config.temperature)),ue.default.createElement("div",null,ue.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Instructions"),ue.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.instruction_sets.length>0?e.instruction_sets.map(t=>{let r=Ro[t];return r?ue.default.createElement("span",{key:t,className:"px-2 py-0.5 bg-gray-100 rounded text-xs"},r.emoji," ",r.label):null}):ue.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))),ue.default.createElement("div",null,ue.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Tools"),ue.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.tools.length>0?e.tools.map(t=>{let r=el[t];return r?ue.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}):ue.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))))),e.instructions&&ue.default.createElement("div",null,ue.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"System Instructions"),ue.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 K=ee(ne());var Ys=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"}),sa="#ef4444";var w=ee(ne());var Pm=ee(ne()),sE=ee(ne());function aE(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t{var r=e.children,n=e.width,a=e.height,i=e.viewBox,o=e.className,l=e.style,s=e.title,u=e.desc,c=Oz(e,kz),d=i||{width:n,height:a,x:0,y:0},f=Le("recharts-surface",o);return Pm.createElement("svg",Cb({},Kt(c),{className:f,width:n,height:a,style:l,viewBox:"".concat(d.x," ").concat(d.y," ").concat(d.width," ").concat(d.height),ref:t}),Pm.createElement("title",null,s),Pm.createElement("desc",null,u),r)});var jm=ee(ne());var Mz=["children","className"];function kb(){return kb=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,a=Dz(e,Mz),i=Le("recharts-layer",n);return jm.createElement("g",kb({className:i},Kt(a),{ref:t}),r)});function Im(e){return e==="__proto__"}var jz=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function zm(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e===""||e.startsWith(".")||e.endsWith(".")?!1:jz.test(e);default:return!1}}function Ws(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function Ob(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(Ob).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function Ks(e){if(Array.isArray(e))return e.map(Ws);if(typeof e=="symbol")return[e];e=Ob(e);let t=[],r=e.length;if(r===0)return t;let n=0,a="",i="",o=!1;for(e.charCodeAt(0)===46&&t.push("");n1&&arguments[1]!==void 0?arguments[1]:zz,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function ur(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var l=r[o-1];return typeof l=="string"?a+l+i:l!==void 0?a+_a(l)+i:a+i},"")}var cr=e=>e===0?0:e>0?1:-1,Mr=e=>typeof e=="number"&&e!=+e,si=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,ye=e=>(typeof e=="number"||e instanceof Number)&&!Mr(e),qr=e=>ye(e)||typeof e=="string",Lz=0,ui=e=>{var t=++Lz;return"".concat(e||"").concat(t)},Fn=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!ye(t)&&typeof t!="string")return n;var i;if(si(t)){if(r==null)return n;var o=t.indexOf("%");i=r*parseFloat(t.slice(0,o))/100}else i=+t;return Mr(i)&&(i=n),a&&r!=null&&i>r&&(i=r),i},Tb=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):wn(n,t))===r)}var Dt=e=>e===null||typeof e>"u",Gs=e=>Dt(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function dr(e){return e!=null}function ua(){}function md(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 uE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Ca(e){for(var t=1;t{var t=e.viewBox,r=e.position,n=e.offset,a=n===void 0?0:n,i=e.parentViewBox,o=e.clamp,l=md(t),s=l.x,u=l.y,c=l.height,d=l.upperWidth,f=l.lowerWidth,p=s,v=s+(d-f)/2,h=(p+v)/2,b=(d+f)/2,m=p+d/2,g=c>=0?1:-1,x=g*a,A=g>0?"end":"start",k=g>0?"start":"end",_=d>=0?1:-1,M=_*a,E=_>0?"end":"start",L=_>0?"start":"end",I=i;if(r==="top"){var j={x:p+d/2,y:u-x,horizontalAnchor:"middle",verticalAnchor:A};return o&&I&&(j.height=Math.max(u-I.y,0),j.width=d),j}if(r==="bottom"){var z={x:v+f/2,y:u+c+x,horizontalAnchor:"middle",verticalAnchor:k};return o&&I&&(z.height=Math.max(I.y+I.height-(u+c),0),z.width=f),z}if(r==="left"){var X={x:h-M,y:u+c/2,horizontalAnchor:E,verticalAnchor:"middle"};return o&&I&&(X.width=Math.max(X.x-I.x,0),X.height=c),X}if(r==="right"){var R={x:h+b+M,y:u+c/2,horizontalAnchor:L,verticalAnchor:"middle"};return o&&I&&(R.width=Math.max(I.x+I.width-R.x,0),R.height=c),R}var Q=o&&I?{width:b,height:c}:{};return r==="insideLeft"?Ca({x:h+M,y:u+c/2,horizontalAnchor:L,verticalAnchor:"middle"},Q):r==="insideRight"?Ca({x:h+b-M,y:u+c/2,horizontalAnchor:E,verticalAnchor:"middle"},Q):r==="insideTop"?Ca({x:p+d/2,y:u+x,horizontalAnchor:"middle",verticalAnchor:k},Q):r==="insideBottom"?Ca({x:v+f/2,y:u+c-x,horizontalAnchor:"middle",verticalAnchor:A},Q):r==="insideTopLeft"?Ca({x:p+M,y:u+x,horizontalAnchor:L,verticalAnchor:k},Q):r==="insideTopRight"?Ca({x:p+d-M,y:u+x,horizontalAnchor:E,verticalAnchor:k},Q):r==="insideBottomLeft"?Ca({x:v+M,y:u+c-x,horizontalAnchor:L,verticalAnchor:A},Q):r==="insideBottomRight"?Ca({x:v+f-M,y:u+c-x,horizontalAnchor:E,verticalAnchor:A},Q):r&&typeof r=="object"&&(ye(r.x)||si(r.x))&&(ye(r.y)||si(r.y))?Ca({x:s+Fn(r.x,b),y:u+Fn(r.y,c),horizontalAnchor:"end",verticalAnchor:"end"},Q):Ca({x:m,y:u+c/2,horizontalAnchor:"middle",verticalAnchor:"middle"},Q)},Hz=["top","left","right","bottom"];function dE(e){return e==null?!1:typeof e=="object"?!0:Hz.includes(e)}var Mb=ee(ne()),fE=(0,Mb.createContext)(null);function _t(e){return function(){return e}}var Db=Math.PI,Pb=2*Db,tl=1e-6,Vz=Pb-tl;function pE(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return pE;let r=10**t;return function(n){this._+=n[0];for(let a=1,i=n.length;atl)if(!(Math.abs(d*s-u*c)>tl)||!i)this._append`L${this._x1=t},${this._y1=r}`;else{let p=n-o,v=a-l,h=s*s+u*u,b=p*p+v*v,m=Math.sqrt(h),g=Math.sqrt(f),x=i*Math.tan((Db-Math.acos((h+f-b)/(2*m*g)))/2),A=x/g,k=x/m;Math.abs(A-1)>tl&&this._append`L${t+A*c},${r+A*d}`,this._append`A${i},${i},0,0,${+(d*p>c*v)},${this._x1=t+k*s},${this._y1=r+k*u}`}}arc(t,r,n,a,i,o){if(t=+t,r=+r,n=+n,o=!!o,n<0)throw new Error(`negative radius: ${n}`);let l=n*Math.cos(a),s=n*Math.sin(a),u=t+l,c=r+s,d=1^o,f=o?a-i:i-a;this._x1===null?this._append`M${u},${c}`:(Math.abs(this._x1-u)>tl||Math.abs(this._y1-c)>tl)&&this._append`L${u},${c}`,n&&(f<0&&(f=f%Pb+Pb),f>Vz?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>tl&&this._append`A${n},${n},0,${+(f>=Db)},${d},${this._x1=t+n*Math.cos(i)},${this._y1=r+n*Math.sin(i)}`)}rect(t,r,n,a){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+a}h${-n}Z`}toString(){return this._}};function mE(){return new rl}mE.prototype=rl.prototype;function Bm(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 rl(t)}var NJ=Array.prototype.slice;function Xs(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function vE(e){this._context=e}vE.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 co(e){return new vE(e)}function Um(e){return e[0]}function $m(e){return e[1]}function vd(e,t){var r=_t(!0),n=null,a=co,i=null,o=Bm(l);e=typeof e=="function"?e:e===void 0?Um:_t(e),t=typeof t=="function"?t:t===void 0?$m:_t(t);function l(s){var u,c=(s=Xs(s)).length,d,f=!1,p;for(n==null&&(i=a(p=o())),u=0;u<=c;++u)!(u=p;--v)l.point(x[v],A[v]);l.lineEnd(),l.areaEnd()}m&&(x[f]=+e(b,f,d),A[f]=+t(b,f,d),l.point(n?+n(b,f,d):x[f],r?+r(b,f,d):A[f]))}if(g)return l=null,g+""||null}function c(){return vd().defined(a).curve(o).context(i)}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?(a=typeof d=="function"?d:_t(!!d),u):a},u.curve=function(d){return arguments.length?(o=d,i!=null&&(l=o(i)),u):o},u.context=function(d){return arguments.length?(d==null?i=l=null:l=o(i=d),u):i},u}var Hm=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 jb(e){return new Hm(e,!0)}function Ib(e){return new Hm(e,!1)}function Qs(){}function Js(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 hE(e){this._context=e}hE.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:Js(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:Js(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function zb(e){return new hE(e)}function gE(e){this._context=e}gE.prototype={areaStart:Qs,areaEnd:Qs,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:Js(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Lb(e){return new gE(e)}function yE(e){this._context=e}yE.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:Js(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Bb(e){return new yE(e)}function xE(e){this._context=e}xE.prototype={areaStart:Qs,areaEnd:Qs,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 Ub(e){return new xE(e)}function bE(e){return e<0?-1:1}function wE(e,t,r){var n=e._x1-e._x0,a=t-e._x1,i=(e._y1-e._y0)/(n||a<0&&-0),o=(r-e._y1)/(a||n<0&&-0),l=(i*a+o*n)/(n+a);return(bE(i)+bE(o))*Math.min(Math.abs(i),Math.abs(o),.5*Math.abs(l))||0}function SE(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function $b(e,t,r){var n=e._x0,a=e._y0,i=e._x1,o=e._y1,l=(i-n)/3;e._context.bezierCurveTo(n+l,a+l*t,i-l,o-l*r,i,o)}function Vm(e){this._context=e}Vm.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:$b(this,this._t0,SE(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,$b(this,SE(this,r=wE(this,e,t)),r);break;default:$b(this,this._t0,r=wE(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function AE(e){this._context=new NE(e)}(AE.prototype=Object.create(Vm.prototype)).point=function(e,t){Vm.prototype.point.call(this,t,e)};function NE(e){this._context=e}NE.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,a,i){this._context.bezierCurveTo(t,e,n,r,i,a)}};function Hb(e){return new Vm(e)}function Vb(e){return new AE(e)}function CE(e){this._context=e}CE.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=_E(e),a=_E(t),i=0,o=1;o=0;--t)a[t]=(o[t]-a[t+1])/i[t];for(i[r-1]=(e[r]+a[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 qb(e){return new Fm(e,.5)}function Yb(e){return new Fm(e,0)}function Wb(e){return new Fm(e,1)}function Sn(e,t){if((o=e.length)>1)for(var r=1,n,a,i=e[t[0]],o,l=i.length;r=0;)r[t]=t;return r}function qz(e,t){return e[t]}function Yz(e){let t=[];return t.key=e,t}function Kb(){var e=_t([]),t=Rs,r=Sn,n=qz;function a(i){var o=Array.from(e.apply(this,arguments),Yz),l,s=o.length,u=-1,c;for(let d of i)for(l=0,++u;l0){for(var r,n,a=0,i=e[0].length,o;a0){for(var r=0,n=e[t[0]],a,i=n.length;r0)||!((i=(a=e[t[0]]).length)>0))){for(var r=0,n=1,a,i,o;n"radius"in e&&"startAngle"in e&&"endAngle"in e,eu=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if((0,EE.isValidElement)(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(a=>{pd(a)&&typeof r[a]=="function"&&(n[a]=t||(i=>r[a](r,i)))}),n},Wz=(e,t,r)=>n=>(e(t,r,n),null),kE=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(a=>{var i=e[a];pd(a)&&typeof i=="function"&&(n||(n={}),n[a]=Wz(i,t,r))}),n};function OE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Kz(e){for(var t=1;t(o[l]===void 0&&n[l]!==void 0&&(o[l]=n[l]),o),r);return i}function TE(e,t){let r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function ci(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var Wm="[object RegExp]",tu="[object String]",ru="[object Number]",nu="[object Boolean]",Km="[object Arguments]",Gm="[object Symbol]",Xm="[object Date]",Zm="[object Map]",Qm="[object Set]",Jm="[object Array]",jE="[object Function]",Rm="[object ArrayBuffer]",au="[object Object]",IE="[object Error]",ev="[object DataView]",tv="[object Uint8Array]",rv="[object Uint8ClampedArray]",nv="[object Uint16Array]",av="[object Uint32Array]",zE="[object BigUint64Array]",iv="[object Int8Array]",ov="[object Int16Array]",lv="[object Int32Array]",LE="[object BigInt64Array]",sv="[object Float32Array]",uv="[object Float64Array]";var Qb=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function yd(e){return typeof Qb.Buffer<"u"&&Qb.Buffer.isBuffer(e)}function BE(e,t){return fo(e,void 0,e,new Map,t)}function fo(e,t,r,n=new Map,a=void 0){let i=a?.(e,t,r,n);if(i!==void 0)return i;if(hd(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){let o=new Array(e.length);n.set(e,o);for(let l=0;l{}):Jb(e,t,function n(a,i,o,l,s,u){let c=r(a,i,o,l,s,u);return c!==void 0?!!c:Jb(a,i,n,u,!1)},new Map,!0)}function Jb(e,t,r,n,a=!1){if(t===e)return!0;switch(typeof t){case"object":return Jz(e,t,r,n);case"function":return Object.keys(t).length>0?Jb(e,{...t},r,n,a):po(e,t);default:return cv(e)?a?typeof t=="string"?t==="":!0:po(e,t):po(e,t)}}function Jz(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return $E(e,t,r,n);if(t instanceof Map)return Rz(e,t,r,n);if(t instanceof Set)return e9(e,t,r,n);let a=Object.keys(t);if(e==null||hd(e))return a.length===0;if(a.length===0)return!0;if(n?.has(t))return n.get(t)===e;n?.set(t,e);try{for(let i=0;i{})}function HE(e){return e=UE(e),t=>dv(t,e)}function VE(e,t){return BE(e,(r,n,a,i)=>{let o=t?.(r,n,a,i);if(o!==void 0)return o;if(typeof e=="object"){if(ci(e)==="[object Object]"&&typeof e.constructor!="function"){let l={};return i.set(e,l),Yn(l,e,a,i),l}switch(Object.prototype.toString.call(e)){case ru:case tu:case nu:{let l=new e.constructor(e?.valueOf());return Yn(l,e),l}case Km:{let l={};return Yn(l,e),l.length=e.length,l[Symbol.iterator]=e[Symbol.iterator],l}default:return}}})}function FE(e){return VE(e)}var t9=/^(?:0|[1-9]\d*)$/;function fv(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function pv(e){return e!=null&&typeof e!="function"&&GE(e.length)}function XE(e){return typeof e=="object"&&e!==null}function ZE(e){return XE(e)&&pv(e)}function mv(e,t=Ym){return ZE(e)?TE(Array.from(e),ME(KE(t),1)):[]}function QE(e,t,r){return t===!0?mv(e,r):typeof t=="function"?mv(e,t):e}var lk=ee(ik()),bd=ee(ne());var ok=ee(ne()),xd=(0,ok.createContext)(null);var x9=e=>e,Ve=()=>{var e=(0,bd.useContext)(xd);return e?e.store.dispatch:x9},hv=()=>{},b9=()=>hv,w9=(e,t)=>e===t;function Se(e){var t=(0,bd.useContext)(xd),r=(0,bd.useMemo)(()=>t?n=>{if(n!=null)return e(n)}:hv,[t,e]);return(0,lk.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:b9,t?t.store.getState:hv,t?t.store.getState:hv,r,w9)}function S9(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function A9(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 sk=e=>Array.isArray(e)?e:[e];function N9(e){let t=Array.isArray(e[0])?e[0]:e;return A9(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function _9(e,t){let r=[],{length:n}=e;for(let a=0;atypeof WeakRef>"u"?C9:WeakRef,ck=E9(),k9=0,uk=1;function gv(){return{s:k9,v:void 0,o:null,p:null}}function O9(e){return e instanceof ck?e.deref():e}function dk(e,t={}){let r=gv(),{resultEqualityCheck:n}=t,a,i=0;function o(){let l=r,{length:s}=arguments;for(let d=0,f=s;d{r=gv(),o.resetResultsCount()},o.resultsCount=()=>i,o.resetResultsCount=()=>{i=0},o}function T9(e,...t){let r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...a)=>{let i=0,o=0,l,s={},u=a.pop();typeof u=="object"&&(s=u,u=a.pop()),S9(u,`createSelector expects an output function after the inputs, but received: [${typeof u}]`);let c={...r,...s},{memoize:d,memoizeOptions:f=[],argsMemoize:p=dk,argsMemoizeOptions:v=[]}=c,h=sk(f),b=sk(v),m=N9(a),g=d(function(){return i++,u.apply(null,arguments)},...h),x=!0,A=p(function(){o++;let _=_9(m,arguments);return l=g.apply(null,_),l},...b);return Object.assign(A,{resultFunc:u,memoizedResultFunc:g,dependencies:m,dependencyRecomputations:()=>o,resetDependencyRecomputations:()=>{o=0},lastResult:()=>l,recomputations:()=>i,resetRecomputations:()=>{i=0},memoize:d,argsMemoize:p})};return Object.assign(n,{withTypes:()=>n}),n}var V=T9(dk);function fk(e,t=1){let r=[],n=Math.floor(t),a=(i,o)=>{for(let l=0;l{if(e!==t){let n=pk(e),a=pk(t);if(n===a&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?a-n:n-a}return 0};function yv(e){return typeof e=="symbol"||e instanceof Symbol}var M9=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,D9=/^\w*$/;function vk(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||yv(e)?!0:typeof e=="string"&&(D9.test(e)||!M9.test(e))||t!=null&&Object.hasOwn(t,e)}function hk(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 a=(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]:a(s,l.path):typeof l=="function"?l(s):Array.isArray(l)?a(s,l):typeof s=="object"?s[l]:s,o=t.map(l=>(Array.isArray(l)&&l.length===1&&(l=l[0]),l==null||typeof l=="function"||Array.isArray(l)||vk(l)?l:{key:l,path:Ks(l)}));return e.map(l=>({original:l,criteria:o.map(s=>i(s,l))})).slice().sort((l,s)=>{for(let u=0;ul.original)}function di(e,...t){let r=t.length;return r>1&&wd(e,t[0],t[1])?t=[]:r>2&&wd(t[0],t[1],t[2])&&(t=[t[0]]),hk(e,fk(t),["asc"])}var t1=e=>e.legend.settings,gk=e=>e.legend.size,P9=e=>e.legend.payload,jte=V([P9,t1],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?di(n,r):n});var fi=ee(ne());function j9(e,t){return B9(e)||L9(e,t)||z9(e,t)||I9()}function I9(){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 z9(e,t){if(e){if(typeof e=="string")return yk(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)?yk(e,t):void 0}}function yk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rxv||Math.abs(e.left-t.left)>xv||Math.abs(e.top-t.top)>xv||Math.abs(e.width-t.width)>xv}function bk(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function wk(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=(0,fi.useState)({height:0,left:0,top:0,width:0}),r=j9(t,2),n=r[0],a=r[1],i=(0,fi.useRef)(null),o=(0,fi.useRef)(n);o.current=n;var l=(0,fi.useCallback)(s=>{if(i.current!=null&&(i.current.disconnect(),i.current=null),s!=null){var u=bk(s);if(xk(u,o.current)&&a(u),typeof ResizeObserver<"u"){var c=new ResizeObserver(()=>{var d=bk(s);xk(d,o.current)&&a(d)});c.observe(s),i.current=c}}},[...e]);return(0,fi.useEffect)(()=>()=>{var s;(s=i.current)===null||s===void 0||s.disconnect()},[]),[n,l]}var UO=ee(ne());function Cr(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 U9=typeof Symbol=="function"&&Symbol.observable||"@@observable",Sk=U9,r1=()=>Math.random().toString(36).substring(7).split("").join("."),$9={INIT:`@@redux/INIT${r1()}`,REPLACE:`@@redux/REPLACE${r1()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${r1()}`},bv=$9;function wv(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 n1(e,t,r){if(typeof e!="function")throw new Error(Cr(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(Cr(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(Cr(1));return r(n1)(e,t)}let n=e,a=t,i=new Map,o=i,l=0,s=!1;function u(){o===i&&(o=new Map,i.forEach((b,m)=>{o.set(m,b)}))}function c(){if(s)throw new Error(Cr(3));return a}function d(b){if(typeof b!="function")throw new Error(Cr(4));if(s)throw new Error(Cr(5));let m=!0;u();let g=l++;return o.set(g,b),function(){if(m){if(s)throw new Error(Cr(6));m=!1,u(),o.delete(g),i=null}}}function f(b){if(!wv(b))throw new Error(Cr(7));if(typeof b.type>"u")throw new Error(Cr(8));if(typeof b.type!="string")throw new Error(Cr(17));if(s)throw new Error(Cr(9));try{s=!0,a=n(a,b)}finally{s=!1}return(i=o).forEach(g=>{g()}),b}function p(b){if(typeof b!="function")throw new Error(Cr(10));n=b,f({type:bv.REPLACE})}function v(){let b=d;return{subscribe(m){if(typeof m!="object"||m===null)throw new Error(Cr(11));function g(){let A=m;A.next&&A.next(c())}return g(),{unsubscribe:b(g)}},[Sk](){return this}}}return f({type:bv.INIT}),{dispatch:f,subscribe:d,getState:c,replaceReducer:p,[Sk]:v}}function H9(e){Object.keys(e).forEach(t=>{let r=e[t];if(typeof r(void 0,{type:bv.INIT})>"u")throw new Error(Cr(12));if(typeof r(void 0,{type:bv.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Cr(13))})}function Sv(e){let t=Object.keys(e),r={};for(let o=0;o"u"){let b=s&&s.type;throw new Error(Cr(14))}c[f]=h,u=u||h!==v}return u=u||n.length!==Object.keys(l).length,u?c:l}}function Sd(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function Ak(...e){return t=>(r,n)=>{let a=t(r,n),i=()=>{throw new Error(Cr(15))},o={getState:a.getState,dispatch:(s,...u)=>i(s,...u)},l=e.map(s=>s(o));return i=Sd(...l)(a.dispatch),{...a,dispatch:i}}}function a1(e){return wv(e)&&"type"in e&&typeof e.type=="string"}var Dk=Symbol.for("immer-nothing"),Nk=Symbol.for("immer-draftable"),Dr=Symbol.for("immer-state");function ca(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var An=Object,lu=An.getPrototypeOf,Cv="constructor",Dv="prototype",s1="configurable",Ev="enumerable",Nv="writable",Ad="value",Ea=e=>!!e&&!!e[Dr];function Nn(e){return e?Pk(e)||jv(e)||!!e[Nk]||!!e[Cv]?.[Nk]||Iv(e)||zv(e):!1}var V9=An[Dv][Cv].toString(),_k=new WeakMap;function Pk(e){if(!e||!h1(e))return!1;let t=lu(e);if(t===null||t===An[Dv])return!0;let r=An.hasOwnProperty.call(t,Cv)&&t[Cv];if(r===Object)return!0;if(!ou(r))return!1;let n=_k.get(r);return n===void 0&&(n=Function.toString.call(r),_k.set(r,n)),n===V9}function Pv(e,t,r=!0){Cd(e)===0?(r?Reflect.ownKeys(e):An.keys(e)).forEach(a=>{t(a,e[a],e)}):e.forEach((n,a)=>t(a,n,e))}function Cd(e){let t=e[Dr];return t?t.type_:jv(e)?1:Iv(e)?2:zv(e)?3:0}var i1=(e,t,r=Cd(e))=>r===2?e.has(t):An[Dv].hasOwnProperty.call(e,t),u1=(e,t,r=Cd(e))=>r===2?e.get(t):e[t],kv=(e,t,r,n=Cd(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function F9(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var jv=Array.isArray,Iv=e=>e instanceof Map,zv=e=>e instanceof Set,h1=e=>typeof e=="object",ou=e=>typeof e=="function",o1=e=>typeof e=="boolean";function q9(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var pi=e=>e.copy_||e.base_;var g1=e=>e.modified_?e.copy_:e.base_;function c1(e,t){if(Iv(e))return new Map(e);if(zv(e))return new Set(e);if(jv(e))return Array[Dv].slice.call(e);let r=Pk(e);if(t===!0||t==="class_only"&&!r){let n=An.getOwnPropertyDescriptors(e);delete n[Dr];let a=Reflect.ownKeys(n);for(let i=0;i1&&An.defineProperties(e,{set:Av,add:Av,clear:Av,delete:Av}),An.freeze(e),t&&Pv(e,(r,n)=>{y1(n,!0)},!1)),e}function Y9(){ca(2)}var Av={[Ad]:Y9};function Lv(e){return e===null||!h1(e)?!0:An.isFrozen(e)}var Ov="MapSet",d1="Patches",Ck="ArrayMethods",jk={};function nl(e){let t=jk[e];return t||ca(0,e),t}var Ek=e=>!!jk[e];var Nd,Ik=()=>Nd,W9=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Ek(Ov)?nl(Ov):void 0,arrayMethodsPlugin_:Ek(Ck)?nl(Ck):void 0});function kk(e,t){t&&(e.patchPlugin_=nl(d1),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function f1(e){p1(e),e.drafts_.forEach(K9),e.drafts_=null}function p1(e){e===Nd&&(Nd=e.parent_)}var Ok=e=>Nd=W9(Nd,e);function K9(e){let t=e[Dr];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function Tk(e,t){t.unfinalizedDrafts_=t.drafts_.length;let r=t.drafts_[0];if(e!==void 0&&e!==r){r[Dr].modified_&&(f1(t),ca(4)),Nn(e)&&(e=Mk(t,e));let{patchPlugin_:a}=t;a&&a.generateReplacementPatches_(r[Dr].base_,e,t)}else e=Mk(t,r);return G9(t,e,!0),f1(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Dk?e:void 0}function Mk(e,t){if(Lv(t))return t;let r=t[Dr];if(!r)return Tv(t,e.handledSet_,e);if(!Bv(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);Bk(r,e)}return r.copy_}function G9(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&y1(t,r)}function zk(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Bv=(e,t)=>e.scope_===t,X9=[];function Lk(e,t,r,n){let a=pi(e),i=e.type_;if(n!==void 0&&u1(a,n,i)===t){kv(a,n,r,i);return}if(!e.draftLocations_){let l=e.draftLocations_=new Map;Pv(a,(s,u)=>{if(Ea(u)){let c=l.get(u)||[];c.push(s),l.set(u,c)}})}let o=e.draftLocations_.get(t)??X9;for(let l of o)kv(a,l,r,i)}function Z9(e,t,r){e.callbacks_.push(function(a){let i=t;if(!i||!Bv(i,a))return;a.mapSetPlugin_?.fixSetContents(i);let o=g1(i);Lk(e,i.draft_??i,o,r),Bk(i,a)})}function Bk(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 a=n.getPath(e);a&&n.generatePatches_(e,a,t)}zk(e)}}function Q9(e,t,r){let{scope_:n}=e;if(Ea(r)){let a=r[Dr];Bv(a,n)&&a.callbacks_.push(function(){_v(e);let o=g1(a);Lk(e,r,o,t)})}else Nn(r)&&e.callbacks_.push(function(){let i=pi(e);e.type_===3?i.has(r)&&Tv(r,n.handledSet_,n):u1(i,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Tv(u1(e.copy_,t,e.type_),n.handledSet_,n)})}function Tv(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||Ea(e)||t.has(e)||!Nn(e)||Lv(e)||(t.add(e),Pv(e,(n,a)=>{if(Ea(a)){let i=a[Dr];if(Bv(i,r)){let o=g1(i);kv(e,n,o,e.type_),zk(i)}}else Nn(a)&&Tv(a,t,r)})),e}function J9(e,t){let r=jv(e),n={type_:r?1:0,scope_:t?t.scope_:Ik(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},a=n,i=Mv;r&&(a=[n],i=_d);let{revoke:o,proxy:l}=Proxy.revocable(a,i);return n.draft_=l,n.revoke_=o,[l,n]}var Mv={get(e,t){if(t===Dr)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 a=pi(e);if(!i1(a,t,e.type_))return eL(e,a,t);let i=a[t];if(e.finalized_||!Nn(i)||n&&e.operationMethod&&r?.isMutatingArrayMethod(e.operationMethod)&&q9(t))return i;if(i===l1(e.base_,t)||R9(e,t,i)){_v(e);let o=e.type_===1?+t:t,l=v1(e.scope_,i,e,o);return e.copy_[o]=l}return i},has(e,t){return t in pi(e)},ownKeys(e){return Reflect.ownKeys(pi(e))},set(e,t,r){let n=Uk(pi(e),t);if(n?.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){let a=l1(pi(e),t),i=a?.[Dr];if(i&&i.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(F9(r,a)&&(r!==void 0||i1(e.base_,t,e.type_)))return!0;_v(e),m1(e)}return e.copy_[t]===r&&(r!==void 0||i1(e.copy_,t,e.type_))||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),Q9(e,t,r)),!0},deleteProperty(e,t){return _v(e),l1(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),m1(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let r=pi(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[Nv]:!0,[s1]:e.type_!==1||t!=="length",[Ev]:n[Ev],[Ad]:r[t]}},defineProperty(){ca(11)},getPrototypeOf(e){return lu(e.base_)},setPrototypeOf(){ca(12)}},_d={};for(let e in Mv){let t=Mv[e];_d[e]=function(){let r=arguments;return r[0]=r[0][0],t.apply(this,r)}}_d.deleteProperty=function(e,t){return _d.set.call(this,e,t,void 0)};_d.set=function(e,t,r){return Mv.set.call(this,e[0],t,r,e[0])};function l1(e,t){let r=e[Dr];return(r?pi(r):e)[t]}function R9(e,t,r){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!Nn(r)||r[Dr]?!1:e.baseRefs_.has(r)}function eL(e,t,r){let n=Uk(t,r);return n?Ad in n?n[Ad]:n.get?.call(e.draft_):void 0}function Uk(e,t){if(!(t in e))return;let r=lu(e);for(;r;){let n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=lu(r)}}function m1(e){e.modified_||(e.modified_=!0,e.parent_&&m1(e.parent_))}function _v(e){e.copy_||(e.assigned_=new Map,e.copy_=c1(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var tL=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(t,r,n)=>{if(ou(t)&&!ou(r)){let i=r;r=t;let o=this;return function(s=i,...u){return o.produce(s,c=>r.call(this,c,...u))}}ou(r)||ca(6),n!==void 0&&!ou(n)&&ca(7);let a;if(Nn(t)){let i=Ok(this),o=v1(i,t,void 0),l=!0;try{a=r(o),l=!1}finally{l?f1(i):p1(i)}return kk(i,n),Tk(a,i)}else if(!t||!h1(t)){if(a=r(t),a===void 0&&(a=t),a===Dk&&(a=void 0),this.autoFreeze_&&y1(a,!0),n){let i=[],o=[];nl(d1).generateReplacementPatches_(t,a,{patches_:i,inversePatches_:o}),n(i,o)}return a}else ca(1,t)},this.produceWithPatches=(t,r)=>{if(ou(t))return(o,...l)=>this.produceWithPatches(o,s=>t(s,...l));let n,a;return[this.produce(t,r,(o,l)=>{n=o,a=l}),n,a]},o1(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),o1(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),o1(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Nn(e)||ca(8),Ea(e)&&(e=Er(e));let t=Ok(this),r=v1(t,e,void 0);return r[Dr].isManual_=!0,p1(t),r}finishDraft(e,t){let r=e&&e[Dr];(!r||!r.isManual_)&&ca(9);let{scope_:n}=r;return kk(n,t),Tk(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 a=t[r];if(a.path.length===0&&a.op==="replace"){e=a.value;break}}r>-1&&(t=t.slice(r+1));let n=nl(d1).applyPatches_;return Ea(e)?n(e,t):this.produce(e,a=>n(a,t))}};function v1(e,t,r,n){let[a,i]=Iv(t)?nl(Ov).proxyMap_(t,r):zv(t)?nl(Ov).proxySet_(t,r):J9(t,r);return(r?.scope_??Ik()).drafts_.push(a),i.callbacks_=r?.callbacks_??[],i.key_=n,r&&n!==void 0?Z9(r,i,n):i.callbacks_.push(function(s){s.mapSetPlugin_?.fixSetContents(i);let{patchPlugin_:u}=s;i.modified_&&u&&u.generatePatches_(i,[],s)}),a}function Er(e){return Ea(e)||ca(10,e),$k(e)}function $k(e){if(!Nn(e)||Lv(e))return e;let t=e[Dr],r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=c1(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=c1(e,!0);return Pv(r,(a,i)=>{kv(r,a,$k(i))},n),t&&(t.finalized_=!1),r}var rL=new tL,x1=rL.produce;var $e=e=>e;function Hk(e){return({dispatch:r,getState:n})=>a=>i=>typeof i=="function"?i(r,n,e):a(i)}var Vk=Hk(),Fk=Hk;var nL=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?Sd:Sd.apply(null,arguments)},qte=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__?window.__REDUX_DEVTOOLS_EXTENSION__:function(){return function(e){return e}},aL=e=>e&&typeof e.match=="function";function rr(e,t){function r(...n){if(t){let a=t(...n);if(!a)throw new Error(_n(0));return{type:e,payload:a.payload,..."meta"in a&&{meta:a.meta},..."error"in a&&{error:a.error}}}return{type:e,payload:n[0]}}return r.toString=()=>`${e}`,r.type=e,r.match=n=>a1(n)&&n.type===e,r}var Qk=class Ed extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,Ed.prototype)}static get[Symbol.species](){return Ed}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new Ed(...t[0].concat(this)):new Ed(...t.concat(this))}};function qk(e){return Nn(e)?x1(e,()=>{}):e}function Uv(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function iL(e){return typeof e=="boolean"}var oL=()=>function(t){let{thunk:r=!0,immutableCheck:n=!0,serializableCheck:a=!0,actionCreatorCheck:i=!0}=t??{},o=new Qk;return r&&(iL(r)?o.push(Vk):o.push(Fk(r.extraArgument))),o},Jk="RTK_autoBatch",st=()=>e=>({payload:e,meta:{[Jk]:!0}}),Yk=e=>t=>{setTimeout(t,e)},lL=(e,t)=>r=>{let n=!1,a=()=>{n||(n=!0,cancelAnimationFrame(i),clearTimeout(o),r())},i=e(a),o=setTimeout(a,t)},A1=(e={type:"raf"})=>t=>(...r)=>{let n=t(...r),a=!0,i=!1,o=!1,l=new Set,s=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?lL(window.requestAnimationFrame,100):Yk(10):e.type==="callback"?e.queueNotification:Yk(e.timeout),u=()=>{o=!1,i&&(i=!1,l.forEach(c=>c()))};return Object.assign({},n,{subscribe(c){let d=()=>a&&c(),f=n.subscribe(d);return l.add(c),()=>{f(),l.delete(c)}},dispatch(c){try{return a=!c?.meta?.[Jk],i=!a,i&&(o||(o=!0,s(u))),n.dispatch(c)}finally{a=!0}}})},sL=e=>function(r){let{autoBatch:n=!0}=r??{},a=new Qk(e);return n&&a.push(A1(typeof n=="object"?n:void 0)),a};function Rk(e){let t=oL(),{reducer:r=void 0,middleware:n,devTools:a=!0,duplicateMiddlewareCheck:i=!0,preloadedState:o=void 0,enhancers:l=void 0}=e||{},s;if(typeof r=="function")s=r;else if(wv(r))s=Sv(r);else throw new Error(_n(1));let u;typeof n=="function"?u=n(t):u=t();let c=Sd;a&&(c=nL({trace:!1,...typeof a=="object"&&a}));let d=Ak(...u),f=sL(d),p=typeof l=="function"?l(f):f(),v=c(...p);return n1(s,o,v)}function eO(e){let t={},r=[],n,a={addCase(i,o){let l=typeof i=="string"?i:i.type;if(!l)throw new Error(_n(28));if(l in t)throw new Error(_n(29));return t[l]=o,a},addAsyncThunk(i,o){return o.pending&&(t[i.pending.type]=o.pending),o.rejected&&(t[i.rejected.type]=o.rejected),o.fulfilled&&(t[i.fulfilled.type]=o.fulfilled),o.settled&&r.push({matcher:i.settled,reducer:o.settled}),a},addMatcher(i,o){return r.push({matcher:i,reducer:o}),a},addDefaultCase(i){return n=i,a}};return e(a),[t,r,n]}function uL(e){return typeof e=="function"}function cL(e,t){let[r,n,a]=eO(t),i;if(uL(e))i=()=>qk(e());else{let l=qk(e);i=()=>l}function o(l=i(),s){let u=[r[s.type],...n.filter(({matcher:c})=>c(s)).map(({reducer:c})=>c)];return u.filter(c=>!!c).length===0&&(u=[a]),u.reduce((c,d)=>{if(d)if(Ea(c)){let p=d(c,s);return p===void 0?c:p}else{if(Nn(c))return x1(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 o.getInitialState=i,o}var dL=(e,t)=>aL(e)?e.match(t):e(t);function fL(...e){return t=>e.some(r=>dL(r,t))}var pL="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",tO=(e=21)=>{let t="",r=e;for(;r--;)t+=pL[Math.random()*64|0];return t},mL=["name","message","stack","code"],b1=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},Wk=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},vL=e=>{if(typeof e=="object"&&e!==null){let t={};for(let r of mL)typeof e[r]=="string"&&(t[r]=e[r]);return t}return{message:String(e)}},Kk="External signal was aborted",hL=(()=>{function e(t,r,n){let a=rr(t+"/fulfilled",(s,u,c,d)=>({payload:s,meta:{...d||{},arg:c,requestId:u,requestStatus:"fulfilled"}})),i=rr(t+"/pending",(s,u,c)=>({payload:void 0,meta:{...c||{},arg:u,requestId:s,requestStatus:"pending"}})),o=rr(t+"/rejected",(s,u,c,d,f)=>({payload:d,error:(n&&n.serializeError||vL)(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):tO(),v=new AbortController,h,b;function m(x){b=x,v.abort()}u&&(u.aborted?m(Kk):u.addEventListener("abort",()=>m(Kk),{once:!0}));let g=(async function(){let x;try{let k=n?.condition?.(s,{getState:d,extra:f});if(yL(k)&&(k=await k),k===!1||v.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};let _=new Promise((M,E)=>{h=()=>{E({name:"AbortError",message:b||"Aborted"})},v.signal.addEventListener("abort",h,{once:!0})});c(i(p,s,n?.getPendingMeta?.({requestId:p,arg:s},{getState:d,extra:f}))),x=await Promise.race([_,Promise.resolve(r(s,{dispatch:c,getState:d,extra:f,requestId:p,signal:v.signal,abort:m,rejectWithValue:((M,E)=>new b1(M,E)),fulfillWithValue:((M,E)=>new Wk(M,E))})).then(M=>{if(M instanceof b1)throw M;return M instanceof Wk?a(M.payload,p,s,M.meta):a(M,p,s)})])}catch(k){x=k instanceof b1?o(null,p,s,k.payload,k.meta):o(k,p,s)}finally{h&&v.signal.removeEventListener("abort",h)}return n&&!n.dispatchConditionRejection&&o.match(x)&&x.meta.condition||c(x),x})();return Object.assign(g,{abort:m,requestId:p,arg:s,unwrap(){return g.then(gL)}})}}return Object.assign(l,{pending:i,rejected:o,fulfilled:a,settled:fL(o,a),typePrefix:t})}return e.withTypes=()=>e,e})();function gL(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}function yL(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}var rO=Symbol.for("rtk-slice-createasyncthunk"),Wte={[rO]:hL};function xL(e,t){return`${e}/${t}`}function bL({creators:e}={}){let t=e?.asyncThunk?.[rO];return function(n){let{name:a,reducerPath:i=a}=n;if(!a)throw new Error(_n(11));typeof process<"u";let o=(typeof n.reducers=="function"?n.reducers(SL()):n.reducers)||{},l=Object.keys(o),s={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},u={addCase(x,A){let k=typeof x=="string"?x:x.type;if(!k)throw new Error(_n(12));if(k in s.sliceCaseReducersByType)throw new Error(_n(13));return s.sliceCaseReducersByType[k]=A,u},addMatcher(x,A){return s.sliceMatchers.push({matcher:x,reducer:A}),u},exposeAction(x,A){return s.actionCreators[x]=A,u},exposeCaseReducer(x,A){return s.sliceCaseReducersByName[x]=A,u}};l.forEach(x=>{let A=o[x],k={reducerName:x,type:xL(a,x),createNotation:typeof n.reducers=="function"};NL(A)?CL(k,A,u,t):AL(k,A,u)});function c(){let[x={},A=[],k=void 0]=typeof n.extraReducers=="function"?eO(n.extraReducers):[n.extraReducers],_={...x,...s.sliceCaseReducersByType};return cL(n.initialState,M=>{for(let E in _)M.addCase(E,_[E]);for(let E of s.sliceMatchers)M.addMatcher(E.matcher,E.reducer);for(let E of A)M.addMatcher(E.matcher,E.reducer);k&&M.addDefaultCase(k)})}let d=x=>x,f=new Map,p=new WeakMap,v;function h(x,A){return v||(v=c()),v(x,A)}function b(){return v||(v=c()),v.getInitialState()}function m(x,A=!1){function k(M){let E=M[x];return typeof E>"u"&&A&&(E=Uv(p,k,b)),E}function _(M=d){let E=Uv(f,A,()=>new WeakMap);return Uv(E,M,()=>{let L={};for(let[I,j]of Object.entries(n.selectors??{}))L[I]=wL(j,M,()=>Uv(p,M,b),A);return L})}return{reducerPath:x,getSelectors:_,get selectors(){return _(k)},selectSlice:k}}let g={name:a,reducer:h,actions:s.actionCreators,caseReducers:s.sliceCaseReducersByName,getInitialState:b,...m(i),injectInto(x,{reducerPath:A,...k}={}){let _=A??i;return x.inject({reducerPath:_,reducer:h},k),{...g,...m(_,!0)}}};return g}}function wL(e,t,r,n){function a(i,...o){let l=t(i);return typeof l>"u"&&n&&(l=r()),e(l,...o)}return a.unwrapped=e,a}var nt=bL();function SL(){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 AL({type:e,reducerName:t,createNotation:r},n,a){let i,o;if("reducer"in n){if(r&&!_L(n))throw new Error(_n(17));i=n.reducer,o=n.prepare}else i=n;a.addCase(e,i).exposeCaseReducer(t,i).exposeAction(t,o?rr(e,o):rr(e))}function NL(e){return e._reducerDefinitionType==="asyncThunk"}function _L(e){return e._reducerDefinitionType==="reducerWithPrepare"}function CL({type:e,reducerName:t},r,n,a){if(!a)throw new Error(_n(18));let{payloadCreator:i,fulfilled:o,pending:l,rejected:s,settled:u,options:c}=r,d=a(e,i,c);n.exposeAction(t,d),o&&n.addCase(d.fulfilled,o),l&&n.addCase(d.pending,l),s&&n.addCase(d.rejected,s),u&&n.addMatcher(d.settled,u),n.exposeCaseReducer(t,{fulfilled:o||$v,pending:l||$v,rejected:s||$v,settled:u||$v})}function $v(){}var EL="task",nO="listener",aO="completed",N1="cancelled",kL=`task-${N1}`,OL=`task-${aO}`,w1=`${nO}-${N1}`,TL=`${nO}-${aO}`,Fv=class{constructor(e){this.code=e,this.message=`${EL} ${N1} (reason: ${e})`}code;name="TaskAbortError";message},_1=(e,t)=>{if(typeof e!="function")throw new TypeError(_n(32))},Hv=()=>{},iO=(e,t=Hv)=>(e.catch(t),e),oO=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),al=e=>{if(e.aborted)throw new Fv(e.reason)};function lO(e,t){let r=Hv;return new Promise((n,a)=>{let i=()=>a(new Fv(e.reason));if(e.aborted){i();return}r=oO(e,i),t.finally(()=>r()).then(n,a)}).finally(()=>{r=Hv})}var ML=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof Fv?"cancelled":"rejected",error:r}}finally{t?.()}},Vv=e=>t=>iO(lO(e,t).then(r=>(al(e),r))),sO=e=>{let t=Vv(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:su}=Object,Gk={},qv="listenerMiddleware",DL=(e,t)=>{let r=n=>oO(e,()=>n.abort(e.reason));return(n,a)=>{_1(n,"taskExecutor");let i=new AbortController;r(i);let o=ML(async()=>{al(e),al(i.signal);let l=await n({pause:Vv(i.signal),delay:sO(i.signal),signal:i.signal});return al(i.signal),l},()=>i.abort(OL));return a?.autoJoin&&t.push(o.catch(Hv)),{result:Vv(e)(o),cancel(){i.abort(kL)}}}},PL=(e,t)=>{let r=async(n,a)=>{al(t);let i=()=>{},l=[new Promise((s,u)=>{let c=e({predicate:n,effect:(d,f)=>{f.unsubscribe(),s([d,f.getState(),f.getOriginalState()])}});i=()=>{c(),u()}})];a!=null&&l.push(new Promise(s=>setTimeout(s,a,null)));try{let s=await lO(t,Promise.race(l));return al(t),s}finally{i()}};return((n,a)=>iO(r(n,a)))},uO=e=>{let{type:t,actionCreator:r,matcher:n,predicate:a,effect:i}=e;if(t)a=rr(t).match;else if(r)t=r.type,a=r.match;else if(n)a=n;else if(!a)throw new Error(_n(21));return _1(i,"options.listener"),{predicate:a,type:t,effect:i}},cO=su(e=>{let{type:t,predicate:r,effect:n}=uO(e);return{id:tO(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(_n(22))}}},{withTypes:()=>cO}),Xk=(e,t)=>{let{type:r,effect:n,predicate:a}=uO(t);return Array.from(e.values()).find(i=>(typeof r=="string"?i.type===r:i.predicate===a)&&i.effect===n)},S1=e=>{e.pending.forEach(t=>{t.abort(w1)})},jL=(e,t)=>()=>{for(let r of t.keys())S1(r);e.clear()},Zk=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},dO=su(rr(`${qv}/add`),{withTypes:()=>dO}),IL=rr(`${qv}/removeAll`),fO=su(rr(`${qv}/remove`),{withTypes:()=>fO}),zL=(...e)=>{console.error(`${qv}/error`,...e)},mi=(e={})=>{let t=new Map,r=new Map,n=p=>{let v=r.get(p)??0;r.set(p,v+1)},a=p=>{let v=r.get(p)??1;v===1?r.delete(p):r.set(p,v-1)},{extra:i,onError:o=zL}=e;_1(o,"onError");let l=p=>(p.unsubscribe=()=>t.delete(p.id),t.set(p.id,p),v=>{p.unsubscribe(),v?.cancelActive&&S1(p)}),s=(p=>{let v=Xk(t,p)??cO(p);return l(v)});su(s,{withTypes:()=>s});let u=p=>{let v=Xk(t,p);return v&&(v.unsubscribe(),p.cancelActive&&S1(v)),!!v};su(u,{withTypes:()=>u});let c=async(p,v,h,b)=>{let m=new AbortController,g=PL(s,m.signal),x=[];try{p.pending.add(m),n(p),await Promise.resolve(p.effect(v,su({},h,{getOriginalState:b,condition:(A,k)=>g(A,k).then(Boolean),take:g,delay:sO(m.signal),pause:Vv(m.signal),extra:i,signal:m.signal,fork:DL(m.signal,x),unsubscribe:p.unsubscribe,subscribe:()=>{t.set(p.id,p)},cancelActiveListeners:()=>{p.pending.forEach((A,k,_)=>{A!==m&&(A.abort(w1),_.delete(A))})},cancel:()=>{m.abort(w1),p.pending.delete(m)},throwIfCancelled:()=>{al(m.signal)}})))}catch(A){A instanceof Fv||Zk(o,A,{raisedBy:"effect"})}finally{await Promise.all(x),m.abort(TL),a(p),p.pending.delete(m)}},d=jL(t,r);return{middleware:p=>v=>h=>{if(!a1(h))return v(h);if(dO.match(h))return s(h.payload);if(IL.match(h)){d();return}if(fO.match(h))return u(h.payload);let b=p.getState(),m=()=>{if(b===Gk)throw new Error(_n(23));return b},g;try{if(g=v(h),t.size>0){let x=p.getState(),A=Array.from(t.values());for(let k of A){let _=!1;try{_=k.predicate(h,x,b)}catch(M){_=!1,Zk(o,M,{raisedBy:"predicate"})}_&&c(k,h,p,m)}}}finally{b=Gk}return g},startListening:s,stopListening:u,clearListeners:d}};function _n(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 LL={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},pO=nt({name:"chartLayout",initialState:LL,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,a,i;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=(a=t.payload.bottom)!==null&&a!==void 0?a:0,e.margin.left=(i=t.payload.left)!==null&&i!==void 0?i:0},setScale(e,t){e.scale=t.payload}}}),Yv=pO.actions,C1=Yv.setMargin,mO=Yv.setLayout,vO=Yv.setChartSize,hO=Yv.setScale;var gO=pO.reducer;function Wv(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function Ie(e){return Number.isFinite(e)}function nn(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function yO(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function an(e){for(var t=1;t{if(t&&r){var n=r.width,a=r.height,i=t.align,o=t.verticalAlign,l=t.layout,s=t.position,u=t.offset,c=u===void 0?0:u;if(s!=null){if(dE(s)){if(s==="top"&&ye(e.top))return an(an({},e),{},{top:e.top+(a||0)+c});if(s==="bottom"&&ye(e.bottom))return an(an({},e),{},{bottom:e.bottom+(a||0)+c});if(s==="left"&&ye(e.left))return an(an({},e),{},{left:e.left+(n||0)+c});if(s==="right"&&ye(e.right))return an(an({},e),{},{right:e.right+(n||0)+c})}return e}if((l==="vertical"||l==="horizontal"&&o==="middle")&&i!=="center"&&ye(e[i]))return an(an({},e),{},{[i]:e[i]+(n||0)});if((l==="horizontal"||l==="vertical"&&i==="center")&&o!=="middle"&&ye(e[o]))return an(an({},e),{},{[o]:e[o]+(a||0)})}return e},on=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",E1=(e,t,r,n)=>{if(n)return e.map(l=>l.coordinate);var a,i,o=e.map(l=>(l.coordinate===t&&(a=!0),l.coordinate===r&&(i=!0),l.coordinate));return a||o.push(t),i||o.push(r),o},k1=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,a=e.type,i=e.range,o=e.scale,l=e.realScaleType,s=e.isCategorical,u=e.categoricalDomain,c=e.tickCount,d=e.ticks,f=e.niceTicks,p=e.axisType;if(!o)return null;var v=l==="scaleBand"&&o.bandwidth?o.bandwidth()/2:2,h=(t||r)&&a==="category"&&o.bandwidth?o.bandwidth()/v:0;if(h=p==="angleAxis"&&i&&i.length>=2?cr(i[0]-i[1])*2*h:h,t&&(d||f)){var b=(d||f||[]).map((m,g)=>{var x=n?n.indexOf(m):m,A=o.map(x);return Ie(A)?{coordinate:A+h,value:m,offset:h,index:g}:null}).filter(dr);return b}return s&&u?u.map((m,g)=>{var x=o.map(m);return Ie(x)?{coordinate:x+h,value:m,index:g,offset:h}:null}).filter(dr):o.ticks&&!r&&c!=null?o.ticks(c).map((m,g)=>{var x=o.map(m);return Ie(x)?{coordinate:x+h,value:m,index:g,offset:h}:null}).filter(dr):o.domain().map((m,g)=>{var x=o.map(m);return Ie(x)?{coordinate:x+h,value:n?n[m]:m,index:g,offset:h}:null}).filter(dr)};var HL=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 a=0;a=0?(u[0]=i,i+=f,u[1]=i):(u[0]=o,o+=f,u[1]=o)}}}},VL=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 a=0;a=0?(s[0]=i,i+=u,s[1]=i):(s[0]=0,s[1]=0)}}}},FL={sign:HL,expand:Gb,none:Sn,silhouette:Xb,wiggle:Zb,positive:VL},bO=(e,t,r)=>{var n,a=(n=FL[r])!==null&&n!==void 0?n:Sn,i=Kb().keys(t).value((l,s)=>Number(Ct(l,s,0))).order(Rs).offset(a),o=i(e);return o.forEach((l,s)=>{l.forEach((u,c)=>{var d=Ct(e[c],t[s],0);Array.isArray(d)&&d.length===2&&ye(d[0])&&ye(d[1])&&(u[0]=d[0],u[1]=d[1])})}),o};function wO(e){return e==null?void 0:String(e)}function O1(e){var t=e.axis,r=e.ticks,n=e.bandSize,a=e.entry,i=e.index,o=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Dt(a[t.dataKey])){var l=Lm(r,"value",a[t.dataKey]);if(l)return l.coordinate+n/2}return r!=null&&r[i]?r[i].coordinate+n/2:null}var s=Ct(a,Dt(o)?t.dataKey:o),u=t.scale.map(s);return ye(u)?u:null}var qL=e=>{var t=e.flat(2).filter(ye);return[Math.min(...t),Math.max(...t)]},YL=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],SO=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return YL(Object.keys(e).reduce((n,a)=>{var i=e[a];if(!i)return n;var o=i.stackedData,l=o.reduce((s,u)=>{var c=Wv(u,t,r),d=qL(c);return!Ie(d[0])||!Ie(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]))},T1=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,M1=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,uu=(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 a=di(t,h=>h.coordinate),i=[],o=0,l=1,s=a.length;lf&&(p=Math.min(v,p));return p===1/0?0:p}return r?void 0:0};function D1(e){var t=e.tooltipEntrySettings,r=e.dataKey,n=e.payload,a=e.value,i=e.name;return an(an({},t),{},{dataKey:r,payload:n,value:a,name:i})}function P1(e,t){if(e!=null)return String(e);if(typeof t=="string")return t}var AO=(e,t)=>{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},NO=(e,t)=>t==="centric"?e.angle:e.radius;var Pr=e=>e.layout.width,jr=e=>e.layout.height,_O=e=>e.layout.scale,Kv=e=>e.layout.margin;var cu=V(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),du=V(e=>e.cartesianAxis.yAxis,e=>Object.values(e));var CO="data-recharts-item-index",EO="data-recharts-item-id",il=60,kd=30;function kO(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Gv(e){for(var t=1;te.brush.height;function ZL(e){var t=du(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var a=typeof n.width=="number"?n.width:il;return r+a}return r},0)}function QL(e){var t=du(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var a=typeof n.width=="number"?n.width:il;return r+a}return r},0)}function JL(e){var t=cu(e);return t.reduce((r,n)=>{if(n.orientation==="top"&&!n.mirror&&!n.hide){var a=typeof n.height=="number"?n.height:kd;return r+a}return r},0)}function RL(e){var t=cu(e);return t.reduce((r,n)=>{if(n.orientation==="bottom"&&!n.mirror&&!n.hide){var a=typeof n.height=="number"?n.height:kd;return r+a}return r},0)}var Et=V([Pr,jr,Kv,XL,ZL,QL,JL,RL,t1,gk],(e,t,r,n,a,i,o,l,s,u)=>{var c={left:(r.left||0)+a,right:(r.right||0)+i},d={top:(r.top||0)+o,bottom:(r.bottom||0)+l},f=Gv(Gv({},d),c),p=f.bottom;f.bottom+=n,f=xO(f,s,u);var v=e-f.left-f.right,h=t-f.top-f.bottom;return Gv(Gv({brushBottom:p},f),{},{width:Math.max(v,0),height:Math.max(h,0)})}),OO=V(Et,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),Xv=V(Pr,jr,(e,t)=>({x:0,y:0,width:e,height:t}));var eB=ee(ne()),Zv=ee(ne()),tB=(0,Zv.createContext)(null),bt=()=>(0,Zv.useContext)(tB)!=null;var fu=e=>e.brush,ol=V([fu,Et,Kv],(e,t,r)=>({height:e.height,x:ye(e.x)?e.x:t.left,y:ye(e.y)?e.y:t.top+t.height+t.brushBottom-(r?.bottom||0),width:ye(e.width)?e.width:t.width}));var ll=ee(ne()),nr=ee(ne());function TO(e,t,{signal:r,edges:n}={}){let a,i=null,o=n!=null&&n.includes("leading"),l=n==null||n.includes("trailing"),s=()=>{i!==null&&(e.apply(a,i),a=void 0,i=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(),a=void 0,i=null},v=()=>{s()},h=function(...b){if(r?.aborted)return;a=this,i=b;let m=c==null;d(),o&&m&&s()};return h.schedule=d,h.cancel=p,h.flush=v,r?.addEventListener("abort",p,{once:!0}),h}function MO(e,t=0,r={}){typeof r!="object"&&(r={});let{leading:n=!1,trailing:a=!0,maxWait:i}=r,o=Array(2);n&&(o[0]="leading"),a&&(o[1]="trailing");let l,s=null,u=TO(function(...f){l=e.apply(this,f),s=null},t,{edges:o}),c=function(...f){return i!=null&&(s===null&&(s=Date.now()),Date.now()-s>=i)?(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 j1(e,t=0,r={}){let{leading:n=!0,trailing:a=!0}=r;return MO(e,t,{leading:n,maxWait:t,trailing:a})}var rB=!0,pu=function(t,r){for(var n=arguments.length,a=new Array(n>2?n-2:0),i=2;ia[o++]))}};var da={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},I1=(e,t,r)=>{var n=r.width,a=n===void 0?da.width:n,i=r.height,o=i===void 0?da.height:i,l=r.aspect,s=r.maxHeight,u=si(a)?e:Number(a),c=si(o)?t:Number(o);return l&&l>0&&(u?c=u/l:c&&(u=c*l),s&&c!=null&&c>s&&(c=s)),{calculatedWidth:u,calculatedHeight:c}},nB={width:0,height:0,overflow:"visible"},aB={width:0,overflowX:"visible"},iB={height:0,overflowY:"visible"},oB={},DO=e=>{var t=e.width,r=e.height,n=si(t),a=si(r);return n&&a?nB:n?aB:a?iB:oB};function PO(e){var t=e.width,r=e.height,n=e.aspect,a=t,i=r;return a===void 0&&i===void 0?(a=da.width,i=da.height):a===void 0?a=n&&n>0?void 0:da.width:i===void 0&&(i=n&&n>0?void 0:da.height),{width:a,height:i}}var lB=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function Qv(){return Qv=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 yB(a)?ll.createElement(LO.Provider,{value:a},t):null}var Od=()=>(0,nr.useContext)(LO),xB=(0,nr.forwardRef)((e,t)=>{var r=e.aspect,n=e.initialDimension,a=n===void 0?da.initialDimension:n,i=e.width,o=e.height,l=e.minWidth,s=l===void 0?da.minWidth:l,u=e.minHeight,c=e.maxHeight,d=e.children,f=e.debounce,p=f===void 0?da.debounce:f,v=e.id,h=e.className,b=e.onResize,m=e.style,g=m===void 0?{}:m,x=hB(e,lB),A=(0,nr.useRef)(null),k=(0,nr.useRef)();k.current=b,(0,nr.useImperativeHandle)(t,()=>A.current);var _=(0,nr.useState)({containerWidth:a.width,containerHeight:a.height}),M=dB(_,2),E=M[0],L=M[1],I=(0,nr.useCallback)((y,C)=>{L(O=>{var D=Math.round(y),N=Math.round(C);return O.containerWidth===D&&O.containerHeight===N?O:{containerWidth:D,containerHeight:N}})},[]);(0,nr.useEffect)(()=>{if(A.current==null||typeof ResizeObserver>"u")return ua;var y=T=>{var H,Y=T[0];if(Y!=null){var J=Y.contentRect,fe=J.width,pe=J.height;I(fe,pe),(H=k.current)===null||H===void 0||H.call(k,fe,pe)}};p>0&&(y=j1(y,p,{trailing:!0,leading:!1}));var C=new ResizeObserver(y),O=A.current.getBoundingClientRect(),D=O.width,N=O.height;return I(D,N),C.observe(A.current),()=>{C.disconnect()}},[I,p]);var j=E.containerWidth,z=E.containerHeight;pu(!r||r>0,"The aspect(%s) must be greater than zero.",r);var X=I1(j,z,{width:i,height:o,aspect:r,maxHeight:c}),R=X.calculatedWidth,Q=X.calculatedHeight;return pu(j<0||z<0||R!=null&&R>0||Q!=null&&Q>0,`The width(%s) and height(%s) of chart should be greater than 0, +`+n.stack}}var A0=Object.prototype.hasOwnProperty,px=Jt.unstable_scheduleCallback,$y=Jt.unstable_cancelCallback,Lj=Jt.unstable_shouldYield,Bj=Jt.unstable_requestPaint,ln=Jt.unstable_now,Uj=Jt.unstable_getCurrentPriorityLevel,r5=Jt.unstable_ImmediatePriority,n5=Jt.unstable_UserBlockingPriority,Mp=Jt.unstable_NormalPriority,$j=Jt.unstable_LowPriority,a5=Jt.unstable_IdlePriority,Hj=Jt.log,Vj=Jt.unstable_setDisableYieldValue,Wc=null,sn=null;function Di(e){if(typeof Hj=="function"&&Vj(e),sn&&typeof sn.setStrictMode=="function")try{sn.setStrictMode(Wc,e)}catch{}}var un=Math.clz32?Math.clz32:qj,Fj=Math.log,Yj=Math.LN2;function qj(e){return e>>>=0,e===0?32:31-(Fj(e)/Yj|0)|0}var Zf=256,Qf=262144,Jf=4194304;function Ao(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 nm(e,t,r){var n=e.pendingLanes;if(n===0)return 0;var a=0,i=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var l=n&134217727;return l!==0?(n=l&~i,n!==0?a=Ao(n):(o&=l,o!==0?a=Ao(o):r||(r=l&~e,r!==0&&(a=Ao(r))))):(l=n&~i,l!==0?a=Ao(l):o!==0?a=Ao(o):r||(r=n&~e,r!==0&&(a=Ao(r)))),a===0?0:t!==0&&t!==a&&(t&i)===0&&(i=a&-a,r=t&-t,i>=r||i===32&&(r&4194048)!==0)?t:a}function Kc(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Wj(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 i5(){var e=Jf;return Jf<<=1,(Jf&62914560)===0&&(Jf=4194304),e}function Hy(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}function Gc(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Kj(e,t,r,n,a,i){var o=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=o&~r;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Rj=/[\n"\\]/g;function kn(e){return e.replace(Rj,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function _0(e,t,r,n,a,i,o,l){e.name="",o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?e.type=o:e.removeAttribute("type"),t!=null?o==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+_n(t)):e.value!==""+_n(t)&&(e.value=""+_n(t)):o!=="submit"&&o!=="reset"||e.removeAttribute("value"),t!=null?E0(e,o,_n(t)):r!=null?E0(e,o,_n(r)):n!=null&&e.removeAttribute("value"),a==null&&i!=null&&(e.defaultChecked=!!i),a!=null&&(e.checked=a&&typeof a!="function"&&typeof a!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+_n(l):e.removeAttribute("name")}function m5(e,t,r,n,a,i,o,l){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||r!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){C0(e);return}r=r!=null?""+_n(r):"",t=t!=null?""+_n(t):r,l||t===e.value||(e.value=t),e.defaultValue=t}n=n??a,n=typeof n!="function"&&typeof n!="symbol"&&!!n,e.checked=l?e.checked:!!n,e.defaultChecked=!!n,o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.name=o),C0(e)}function E0(e,t,r){t==="number"&&Dp(e.ownerDocument)===e||e.defaultValue===""+r||(e.defaultValue=""+r)}function os(e,t,r,n){if(e=e.options,t){t={};for(var a=0;a"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),k0=!1;if(Ga)try{Vl={},Object.defineProperty(Vl,"passive",{get:function(){k0=!0}}),window.addEventListener("test",Vl,Vl),window.removeEventListener("test",Vl,Vl)}catch{k0=!1}var Vl,Pi=null,xx=null,vp=null;function x5(){if(vp)return vp;var e,t=xx,r=t.length,n,a="value"in Pi?Pi.value:Pi.textContent,i=a.length;for(e=0;e=yc),BA=" ",UA=!1;function w5(e,t){switch(e){case"keyup":return EI.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function S5(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ql=!1;function kI(e,t){switch(e){case"compositionend":return S5(t);case"keypress":return t.which!==32?null:(UA=!0,BA);case"textInput":return e=t.data,e===BA&&UA?null:e;default:return null}}function TI(e,t){if(Ql)return e==="compositionend"||!wx&&w5(e,t)?(e=x5(),vp=xx=Pi=null,Ql=!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=FA(r)}}function _5(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?_5(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function E5(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Dp(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=Dp(e.document)}return t}function Sx(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 BI=Ga&&"documentMode"in document&&11>=document.documentMode,Jl=null,T0=null,bc=null,M0=!1;function qA(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;M0||Jl==null||Jl!==Dp(n)||(n=Jl,"selectionStart"in n&&Sx(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}),bc&&jc(bc,n)||(bc=n,n=Zp(T0,"onSelect"),0>=o,a-=o,da=1<<32-un(t)+a|r<_?(I=T,T=null):I=T.sibling;var z=f(m,T,x[_],w);if(z===null){T===null&&(T=I);break}e&&T&&z.alternate===null&&t(m,T),h=i(z,h,_),C===null?E=z:C.sibling=z,C=z,T=I}if(_===x.length)return r(m,T),Ve&&$a(m,_),E;if(T===null){for(;__?(I=T,T=null):I=T.sibling;var B=f(m,T,z.value,w);if(B===null){T===null&&(T=I);break}e&&T&&B.alternate===null&&t(m,T),h=i(B,h,_),C===null?E=B:C.sibling=B,C=B,T=I}if(z.done)return r(m,T),Ve&&$a(m,_),E;if(T===null){for(;!z.done;_++,z=x.next())z=d(m,z.value,w),z!==null&&(h=i(z,h,_),C===null?E=z:C.sibling=z,C=z);return Ve&&$a(m,_),E}for(T=n(T);!z.done;_++,z=x.next())z=p(T,m,_,z.value,w),z!==null&&(e&&z.alternate!==null&&T.delete(z.key===null?_:z.key),h=i(z,h,_),C===null?E=z:C.sibling=z,C=z);return e&&T.forEach(function($){return t(m,$)}),Ve&&$a(m,_),E}function b(m,h,x,w){if(typeof x=="object"&&x!==null&&x.type===Kl&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case Xf:e:{for(var E=x.key;h!==null;){if(h.key===E){if(E=x.type,E===Kl){if(h.tag===7){r(m,h.sibling),w=a(h,x.props.children),w.return=m,m=w;break e}}else if(h.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===_i&&No(E)===h.type){r(m,h.sibling),w=a(h,x.props),sc(w,x),w.return=m,m=w;break e}r(m,h);break}else t(m,h);h=h.sibling}x.type===Kl?(w=Eo(x.props.children,m.mode,w,x.key),w.return=m,m=w):(w=gp(x.type,x.key,x.props,null,m.mode,w),sc(w,x),w.return=m,m=w)}return o(m);case pc:e:{for(E=x.key;h!==null;){if(h.key===E)if(h.tag===4&&h.stateNode.containerInfo===x.containerInfo&&h.stateNode.implementation===x.implementation){r(m,h.sibling),w=a(h,x.children||[]),w.return=m,m=w;break e}else{r(m,h);break}else t(m,h);h=h.sibling}w=Xy(x,m.mode,w),w.return=m,m=w}return o(m);case _i:return x=No(x),b(m,h,x,w)}if(mc(x))return v(m,h,x,w);if(oc(x)){if(E=oc(x),typeof E!="function")throw Error(ne(150));return x=E.call(x),g(m,h,x,w)}if(typeof x.then=="function")return b(m,h,ap(x),w);if(x.$$typeof===Va)return b(m,h,np(m,x),w);ip(m,x)}return typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint"?(x=""+x,h!==null&&h.tag===6?(r(m,h.sibling),w=a(h,x),w.return=m,m=w):(r(m,h),w=Gy(x,m.mode,w),w.return=m,m=w),o(m)):r(m,h)}return function(m,h,x,w){try{Lc=0;var E=b(m,h,x,w);return us=null,E}catch(T){if(T===_s||T===um)throw T;var C=an(29,T,null,m.mode);return C.lanes=w,C.return=m,C}}}var Po=V5(!0),F5=V5(!1),Ei=!1;function Mx(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function B0(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 Ui(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function $i(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(Xe&2)!==0){var a=n.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),n.pending=t,t=jp(e),j5(e,null,r),t}return sm(e,n,t,r),jp(e)}function Sc(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,l5(e,r)}}function Qy(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var a=null,i=null;if(r=r.firstBaseUpdate,r!==null){do{var o={lane:r.lane,tag:r.tag,payload:r.payload,callback:null,next:null};i===null?a=i=o:i=i.next=o,r=r.next}while(r!==null);i===null?a=i=t:i=i.next=t}else a=i=t;r={baseState:n.baseState,firstBaseUpdate:a,lastBaseUpdate:i,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 U0=!1;function Ac(){if(U0){var e=ss;if(e!==null)throw e}}function Nc(e,t,r,n){U0=!1;var a=e.updateQueue;Ei=!1;var i=a.firstBaseUpdate,o=a.lastBaseUpdate,l=a.shared.pending;if(l!==null){a.shared.pending=null;var s=l,u=s.next;s.next=null,o===null?i=u:o.next=u,o=s;var c=e.alternate;c!==null&&(c=c.updateQueue,l=c.lastBaseUpdate,l!==o&&(l===null?c.firstBaseUpdate=u:l.next=u,c.lastBaseUpdate=s))}if(i!==null){var d=a.baseState;o=0,c=u=s=null,l=i;do{var f=l.lane&-536870913,p=f!==l.lane;if(p?($e&f)===f:(n&f)===f){f!==0&&f===vs&&(U0=!0),c!==null&&(c=c.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var v=e,g=l;f=t;var b=r;switch(g.tag){case 1:if(v=g.payload,typeof v=="function"){d=v.call(b,d,f);break e}d=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=g.payload,f=typeof v=="function"?v.call(b,d,f):v,f==null)break e;d=mt({},d,f);break e;case 2:Ei=!0}}f=l.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=a.callbacks,p===null?a.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,o|=f;if(l=l.next,l===null){if(l=a.shared.pending,l===null)break;p=l,l=p.next,p.next=null,a.lastBaseUpdate=p,a.shared.pending=null}}while(!0);c===null&&(s=d),a.baseState=s,a.firstBaseUpdate=u,a.lastBaseUpdate=c,i===null&&(a.shared.lanes=0),Xi|=o,e.lanes=o,e.memoizedState=d}}function Y5(e,t){if(typeof e!="function")throw Error(ne(191,e));e.call(t)}function q5(e,t){var r=e.callbacks;if(r!==null)for(e.callbacks=null,e=0;ei?i:8;var o=Ee.T,l={};Ee.T=l,Yx(e,!1,t,r);try{var s=a(),u=Ee.S;if(u!==null&&u(l,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var c=KI(s,n);Cc(e,t,c,cn(e))}else Cc(e,t,n,cn(e))}catch(d){Cc(e,t,{then:function(){},status:"rejected",reason:d},cn())}finally{Ze.p=i,o!==null&&l.types!==null&&(o.types=l.types),Ee.T=o}}function RI(){}function Y0(e,t,r,n){if(e.tag!==5)throw Error(ne(476));var a=hC(e).queue;vC(e,a,t,_o,r===null?RI:function(){return gC(e),r(n)})}function hC(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:_o,baseState:_o,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Za,lastRenderedState:_o},next:null};var r={};return t.next={memoizedState:r,baseState:r,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Za,lastRenderedState:r},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function gC(e){var t=hC(e);t.next===null&&(t=e.alternate.memoizedState),Cc(e,t.next.queue,{},cn())}function Fx(){return vr(Vc)}function yC(){return zt().memoizedState}function xC(){return zt().memoizedState}function e7(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var r=cn();e=Ui(r);var n=$i(t,e,r);n!==null&&(qr(n,t,r),Sc(n,t,r)),t={cache:Ox()},e.payload=t;return}t=t.return}}function t7(e,t,r){var n=cn();r={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},pm(e)?wC(t,r):(r=Nx(e,t,r,n),r!==null&&(qr(r,e,n),SC(r,t,n)))}function bC(e,t,r){var n=cn();Cc(e,t,r,n)}function Cc(e,t,r,n){var a={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null};if(pm(e))wC(t,a);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var o=t.lastRenderedState,l=i(o,r);if(a.hasEagerState=!0,a.eagerState=l,dn(l,o))return sm(e,t,a,0),ot===null&&lm(),!1}catch{}if(r=Nx(e,t,a,n),r!==null)return qr(r,e,n),SC(r,t,n),!0}return!1}function Yx(e,t,r,n){if(n={lane:2,revertLane:Rx(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},pm(e)){if(t)throw Error(ne(479))}else t=Nx(e,r,n,2),t!==null&&qr(t,e,2)}function pm(e){var t=e.alternate;return e===Pe||t!==null&&t===Pe}function wC(e,t){cs=$p=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function SC(e,t,r){if((r&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,l5(e,r)}}var Uc={readContext:vr,use:dm,useCallback:Et,useContext:Et,useEffect:Et,useImperativeHandle:Et,useLayoutEffect:Et,useInsertionEffect:Et,useMemo:Et,useReducer:Et,useRef:Et,useState:Et,useDebugValue:Et,useDeferredValue:Et,useTransition:Et,useSyncExternalStore:Et,useId:Et,useHostTransitionStatus:Et,useFormState:Et,useActionState:Et,useOptimistic:Et,useMemoCache:Et,useCacheRefresh:Et};Uc.useEffectEvent=Et;var AC={readContext:vr,use:dm,useCallback:function(e,t){return zr().memoizedState=[e,t===void 0?null:t],e},useContext:vr,useEffect:oN,useImperativeHandle:function(e,t,r){r=r!=null?r.concat([e]):null,bp(4194308,4,cC.bind(null,t,e),r)},useLayoutEffect:function(e,t){return bp(4194308,4,e,t)},useInsertionEffect:function(e,t){bp(4,2,e,t)},useMemo:function(e,t){var r=zr();t=t===void 0?null:t;var n=e();if(jo){Di(!0);try{e()}finally{Di(!1)}}return r.memoizedState=[n,t],n},useReducer:function(e,t,r){var n=zr();if(r!==void 0){var a=r(t);if(jo){Di(!0);try{r(t)}finally{Di(!1)}}}else a=t;return n.memoizedState=n.baseState=a,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:a},n.queue=e,e=e.dispatch=t7.bind(null,Pe,e),[n.memoizedState,e]},useRef:function(e){var t=zr();return e={current:e},t.memoizedState=e},useState:function(e){e=V0(e);var t=e.queue,r=bC.bind(null,Pe,t);return t.dispatch=r,[e.memoizedState,r]},useDebugValue:Hx,useDeferredValue:function(e,t){var r=zr();return Vx(r,e,t)},useTransition:function(){var e=V0(!1);return e=vC.bind(null,Pe,e.queue,!0,!1),zr().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,r){var n=Pe,a=zr();if(Ve){if(r===void 0)throw Error(ne(407));r=r()}else{if(r=t(),ot===null)throw Error(ne(349));($e&127)!==0||Z5(n,t,r)}a.memoizedState=r;var i={value:r,getSnapshot:t};return a.queue=i,oN(J5.bind(null,n,i,e),[e]),n.flags|=2048,gs(9,{destroy:void 0},Q5.bind(null,n,i,r,t),null),r},useId:function(){var e=zr(),t=ot.identifierPrefix;if(Ve){var r=fa,n=da;r=(n&~(1<<32-un(n)-1)).toString(32)+r,t="_"+t+"R_"+r,r=Hp++,0<\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof n.is=="string"?o.createElement("select",{is:n.is}):o.createElement("select"),n.multiple?i.multiple=!0:n.size&&(i.size=n.size);break;default:i=typeof n.is=="string"?o.createElement(a,{is:n.is}):o.createElement(a)}}i[pr]=t,i[Wr]=n;e:for(o=t.child;o!==null;){if(o.tag===5||o.tag===6)i.appendChild(o.stateNode);else if(o.tag!==4&&o.tag!==27&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===t)break e;for(;o.sibling===null;){if(o.return===null||o.return===t)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}t.stateNode=i;e:switch(hr(i,a,n),a){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}n&&za(t)}}return ft(t),i0(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,r),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&za(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(ne(166));if(e=Li.current,Fl(t)){if(e=t.stateNode,r=t.memoizedProps,n=null,a=mr,a!==null)switch(a.tag){case 27:case 5:n=a.memoizedProps}e[pr]=t,e=!!(e.nodeValue===r||n!==null&&n.suppressHydrationWarning===!0||b_(e.nodeValue,r)),e||Ki(t,!0)}else e=Qp(e).createTextNode(n),e[pr]=t,t.stateNode=e}return ft(t),null;case 31:if(r=t.memoizedState,e===null||e.memoizedState!==null){if(n=Fl(t),r!==null){if(e===null){if(!n)throw Error(ne(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(ne(557));e[pr]=t}else Mo(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;ft(t),e=!1}else r=Zy(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),e=!0;if(!e)return t.flags&256?(nn(t),t):(nn(t),null);if((t.flags&128)!==0)throw Error(ne(558))}return ft(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=Fl(t),n!==null&&n.dehydrated!==null){if(e===null){if(!a)throw Error(ne(318));if(a=t.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(ne(317));a[pr]=t}else Mo(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;ft(t),a=!1}else a=Zy(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(nn(t),t):(nn(t),null)}return nn(t),(t.flags&128)!==0?(t.lanes=r,t):(r=n!==null,e=e!==null&&e.memoizedState!==null,r&&(n=t.child,a=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(a=n.alternate.memoizedState.cachePool.pool),i=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(i=n.memoizedState.cachePool.pool),i!==a&&(n.flags|=2048)),r!==e&&r&&(t.child.flags|=8192),op(t,t.updateQueue),ft(t),null);case 4:return fs(),e===null&&eb(t.stateNode.containerInfo),ft(t),null;case 10:return Wa(t.type),ft(t),null;case 19:if(sr(It),n=t.memoizedState,n===null)return ft(t),null;if(a=(t.flags&128)!==0,i=n.rendering,i===null)if(a)uc(n,!1);else{if(Ot!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=Up(e),i!==null){for(t.flags|=128,uc(n,!1),e=i.updateQueue,t.updateQueue=e,op(t,e),t.subtreeFlags=0,e=r,r=t.child;r!==null;)I5(r,e),r=r.sibling;return ut(It,It.current&1|2),Ve&&$a(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&&ln()>qp&&(t.flags|=128,a=!0,uc(n,!1),t.lanes=4194304)}else{if(!a)if(e=Up(i),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,op(t,e),uc(n,!0),n.tail===null&&n.tailMode==="hidden"&&!i.alternate&&!Ve)return ft(t),null}else 2*ln()-n.renderingStartTime>qp&&r!==536870912&&(t.flags|=128,a=!0,uc(n,!1),t.lanes=4194304);n.isBackwards?(i.sibling=t.child,t.child=i):(e=n.last,e!==null?e.sibling=i:t.child=i,n.last=i)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=ln(),e.sibling=null,r=It.current,ut(It,a?r&1|2:r&1),Ve&&$a(t,n.treeForkCount),e):(ft(t),null);case 22:case 23:return nn(t),Dx(),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&&(ft(t),t.subtreeFlags&6&&(t.flags|=8192)):ft(t),r=t.updateQueue,r!==null&&op(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&&sr(Oo),null;case 24:return r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),Wa(Kt),ft(t),null;case 25:return null;case 30:return null}throw Error(ne(156,t.tag))}function o7(e,t){switch(Ex(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Wa(Kt),fs(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Tp(t),null;case 31:if(t.memoizedState!==null){if(nn(t),t.alternate===null)throw Error(ne(340));Mo()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(nn(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ne(340));Mo()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return sr(It),null;case 4:return fs(),null;case 10:return Wa(t.type),null;case 22:case 23:return nn(t),Dx(),e!==null&&sr(Oo),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Wa(Kt),null;case 25:return null;default:return null}}function IC(e,t){switch(Ex(t),t.tag){case 3:Wa(Kt),fs();break;case 26:case 27:case 5:Tp(t);break;case 4:fs();break;case 31:t.memoizedState!==null&&nn(t);break;case 13:nn(t);break;case 19:sr(It);break;case 10:Wa(t.type);break;case 22:case 23:nn(t),Dx(),e!==null&&sr(Oo);break;case 24:Wa(Kt)}}function Rc(e,t){try{var r=t.updateQueue,n=r!==null?r.lastEffect:null;if(n!==null){var a=n.next;r=a;do{if((r.tag&e)===e){n=void 0;var i=r.create,o=r.inst;n=i(),o.destroy=n}r=r.next}while(r!==a)}}catch(l){tt(t,t.return,l)}}function Gi(e,t,r){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var i=a.next;n=i;do{if((n.tag&e)===e){var o=n.inst,l=o.destroy;if(l!==void 0){o.destroy=void 0,a=t;var s=r,u=l;try{u()}catch(c){tt(a,s,c)}}}n=n.next}while(n!==i)}}catch(c){tt(t,t.return,c)}}function zC(e){var t=e.updateQueue;if(t!==null){var r=e.stateNode;try{q5(t,r)}catch(n){tt(e,e.return,n)}}}function LC(e,t,r){r.props=Io(e.type,e.memoizedProps),r.state=e.memoizedState;try{r.componentWillUnmount()}catch(n){tt(e,t,n)}}function _c(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(a){tt(e,t,a)}}function pa(e,t){var r=e.ref,n=e.refCleanup;if(r!==null)if(typeof n=="function")try{n()}catch(a){tt(e,t,a)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof r=="function")try{r(null)}catch(a){tt(e,t,a)}else r.current=null}function BC(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(a){tt(e,e.return,a)}}function o0(e,t,r){try{var n=e.stateNode;_7(n,e.type,r,t),n[Wr]=t}catch(a){tt(e,e.return,a)}}function UC(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Qi(e.type)||e.tag===4}function l0(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||UC(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&&Qi(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 X0(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=Fa));else if(n!==4&&(n===27&&Qi(e.type)&&(r=e.stateNode,t=null),e=e.child,e!==null))for(X0(e,t,r),e=e.sibling;e!==null;)X0(e,t,r),e=e.sibling}function Yp(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&&Qi(e.type)&&(r=e.stateNode),e=e.child,e!==null))for(Yp(e,t,r),e=e.sibling;e!==null;)Yp(e,t,r),e=e.sibling}function $C(e){var t=e.stateNode,r=e.memoizedProps;try{for(var n=e.type,a=t.attributes;a.length;)t.removeAttributeNode(a[0]);hr(t,n,r),t[pr]=e,t[Wr]=r}catch(i){tt(e,e.return,i)}}var Ha=!1,Wt=!1,s0=!1,xN=typeof WeakSet=="function"?WeakSet:Set,or=null;function l7(e,t){if(e=e.containerInfo,rx=tm,e=E5(e),Sx(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 a=n.anchorOffset,i=n.focusNode;n=n.focusOffset;try{r.nodeType,i.nodeType}catch{r=null;break e}var o=0,l=-1,s=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var p;d!==r||a!==0&&d.nodeType!==3||(l=o+a),d!==i||n!==0&&d.nodeType!==3||(s=o+n),d.nodeType===3&&(o+=d.nodeValue.length),(p=d.firstChild)!==null;)f=d,d=p;for(;;){if(d===e)break t;if(f===r&&++u===a&&(l=o),f===i&&++c===n&&(s=o),(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(nx={focusedElem:e,selectionRange:r},tm=!1,or=t;or!==null;)if(t=or,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,or=e;else for(;or!==null;){switch(t=or,i=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"))),hr(i,n,r),i[pr]=e,lr(i),n=i;break e;case"link":var o=HN("link","href",a).get(n+(r.href||""));if(o){for(var l=0;lb&&(o=b,b=g,g=o);var m=YA(l,g),h=YA(l,b);if(m&&h&&(p.rangeCount!==1||p.anchorNode!==m.node||p.anchorOffset!==m.offset||p.focusNode!==h.node||p.focusOffset!==h.offset)){var x=d.createRange();x.setStart(m.node,m.offset),p.removeAllRanges(),g>b?(p.addRange(x),p.extend(h.node,h.offset)):(x.setEnd(h.node,h.offset),p.addRange(x))}}}}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,Ee.T=null,r=J0,J0=null;var i=Vi,o=Ka;if(Qt=0,xs=Vi=null,Ka=0,(Xe&6)!==0)throw Error(ne(331));var l=Xe;if(Xe|=4,QC(i.current),GC(i,i.current,o,r),Xe=l,ed(0,!1),sn&&typeof sn.onPostCommitFiberRoot=="function")try{sn.onPostCommitFiberRoot(Wc,i)}catch{}return!0}finally{Ze.p=a,Ee.T=n,f_(e,t)}}function AN(e,t,r){t=Tn(r,t),t=W0(e.stateNode,t,2),e=$i(e,t,2),e!==null&&(Gc(e,2),ha(e))}function tt(e,t,r){if(e.tag===3)AN(e,e,r);else for(;t!==null;){if(t.tag===3){AN(t,e,r);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Hi===null||!Hi.has(n))){e=Tn(r,e),r=OC(2),n=$i(t,r,2),n!==null&&(kC(r,n,t,e),Gc(n,2),ha(n));break}}t=t.return}}function c0(e,t,r){var n=e.pingCache;if(n===null){n=e.pingCache=new c7;var a=new Set;n.set(t,a)}else a=n.get(t),a===void 0&&(a=new Set,n.set(t,a));a.has(r)||(Zx=!0,a.add(r),e=v7.bind(null,e,t,r),t.then(e,e))}function v7(e,t,r){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&r,e.warmLanes&=~r,ot===e&&($e&r)===r&&(Ot===4||Ot===3&&($e&62914560)===$e&&300>ln()-mm?(Xe&2)===0&&bs(e,0):Qx|=r,ys===$e&&(ys=0)),ha(e)}function m_(e,t){t===0&&(t=i5()),e=Uo(e,t),e!==null&&(Gc(e,t),ha(e))}function h7(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),m_(e,r)}function g7(e,t){var r=0;switch(e.tag){case 31:case 13:var n=e.stateNode,a=e.memoizedState;a!==null&&(r=a.retryLane);break;case 19:n=e.stateNode;break;case 22:n=e.stateNode._retryCache;break;default:throw Error(ne(314))}n!==null&&n.delete(t),m_(e,r)}function y7(e,t){return px(e,t)}var Gp=null,Wl=null,ex=!1,Xp=!1,d0=!1,zi=0;function ha(e){e!==Wl&&e.next===null&&(Wl===null?Gp=Wl=e:Wl=Wl.next=e),Xp=!0,ex||(ex=!0,b7())}function ed(e,t){if(!d0&&Xp){d0=!0;do for(var r=!1,n=Gp;n!==null;){if(!t)if(e!==0){var a=n.pendingLanes;if(a===0)var i=0;else{var o=n.suspendedLanes,l=n.pingedLanes;i=(1<<31-un(42|e)+1)-1,i&=a&~(o&~l),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(r=!0,NN(n,i))}else i=$e,i=nm(n,n===ot?i:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(i&3)===0||Kc(n,i)||(r=!0,NN(n,i));n=n.next}while(r);d0=!1}}function x7(){v_()}function v_(){Xp=ex=!1;var e=0;zi!==0&&O7()&&(e=zi);for(var t=ln(),r=null,n=Gp;n!==null;){var a=n.next,i=h_(n,t);i===0?(n.next=null,r===null?Gp=a:r.next=a,a===null&&(Wl=r)):(r=n,(e!==0||(i&3)!==0)&&(Xp=!0)),n=a}Qt!==0&&Qt!==5||ed(e,!1),zi!==0&&(zi=0)}function h_(e,t){for(var r=e.suspendedLanes,n=e.pingedLanes,a=e.expirationTimes,i=e.pendingLanes&-62914561;0l)break;var c=s.transferSize,d=s.initiatorType;c&&MN(d)&&(s=s.responseEnd,o+=c*(s"u"?null:document;function C_(e,t,r){var n=Os;if(n&&typeof t=="string"&&t){var a=kn(t);a='link[rel="'+e+'"][href="'+a+'"]',typeof r=="string"&&(a+='[crossorigin="'+r+'"]'),BN.has(a)||(BN.add(a),e={rel:e,crossOrigin:r,href:t},n.querySelector(a)===null&&(t=n.createElement("link"),hr(t,"link",e),lr(t),n.head.appendChild(t)))}}function L7(e){Ra.D(e),C_("dns-prefetch",e,null)}function B7(e,t){Ra.C(e,t),C_("preconnect",e,t)}function U7(e,t,r){Ra.L(e,t,r);var n=Os;if(n&&e&&t){var a='link[rel="preload"][as="'+kn(t)+'"]';t==="image"&&r&&r.imageSrcSet?(a+='[imagesrcset="'+kn(r.imageSrcSet)+'"]',typeof r.imageSizes=="string"&&(a+='[imagesizes="'+kn(r.imageSizes)+'"]')):a+='[href="'+kn(e)+'"]';var i=a;switch(t){case"style":i=ws(e);break;case"script":i=ks(e)}jn.has(i)||(e=mt({rel:"preload",href:t==="image"&&r&&r.imageSrcSet?void 0:e,as:t},r),jn.set(i,e),n.querySelector(a)!==null||t==="style"&&n.querySelector(td(i))||t==="script"&&n.querySelector(rd(i))||(t=n.createElement("link"),hr(t,"link",e),lr(t),n.head.appendChild(t)))}}function $7(e,t){Ra.m(e,t);var r=Os;if(r&&e){var n=t&&typeof t.as=="string"?t.as:"script",a='link[rel="modulepreload"][as="'+kn(n)+'"][href="'+kn(e)+'"]',i=a;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=ks(e)}if(!jn.has(i)&&(e=mt({rel:"modulepreload",href:e},t),jn.set(i,e),r.querySelector(a)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(r.querySelector(rd(i)))return}n=r.createElement("link"),hr(n,"link",e),lr(n),r.head.appendChild(n)}}}function H7(e,t,r){Ra.S(e,t,r);var n=Os;if(n&&e){var a=is(n).hoistableStyles,i=ws(e);t=t||"default";var o=a.get(i);if(!o){var l={loading:0,preload:null};if(o=n.querySelector(td(i)))l.loading=5;else{e=mt({rel:"stylesheet",href:e,"data-precedence":t},r),(r=jn.get(i))&&tb(e,r);var s=o=n.createElement("link");lr(s),hr(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,Np(o,t,n)}o={type:"stylesheet",instance:o,count:1,state:l},a.set(i,o)}}}function V7(e,t){Ra.X(e,t);var r=Os;if(r&&e){var n=is(r).hoistableScripts,a=ks(e),i=n.get(a);i||(i=r.querySelector(rd(a)),i||(e=mt({src:e,async:!0},t),(t=jn.get(a))&&rb(e,t),i=r.createElement("script"),lr(i),hr(i,"link",e),r.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},n.set(a,i))}}function F7(e,t){Ra.M(e,t);var r=Os;if(r&&e){var n=is(r).hoistableScripts,a=ks(e),i=n.get(a);i||(i=r.querySelector(rd(a)),i||(e=mt({src:e,async:!0,type:"module"},t),(t=jn.get(a))&&rb(e,t),i=r.createElement("script"),lr(i),hr(i,"link",e),r.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},n.set(a,i))}}function UN(e,t,r,n){var a=(a=Li.current)?Jp(a):null;if(!a)throw Error(ne(446));switch(e){case"meta":case"title":return null;case"style":return typeof r.precedence=="string"&&typeof r.href=="string"?(t=ws(r.href),r=is(a).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=ws(r.href);var i=is(a).hoistableStyles,o=i.get(e);if(o||(a=a.ownerDocument||a,o={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,o),(i=a.querySelector(td(e)))&&!i._p&&(o.instance=i,o.state.loading=5),jn.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},jn.set(e,r),i||Y7(a,e,r,o.state))),t&&n===null)throw Error(ne(528,""));return o}if(t&&n!==null)throw Error(ne(529,""));return null;case"script":return t=r.async,r=r.src,typeof r=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=ks(r),r=is(a).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(ne(444,e))}}function ws(e){return'href="'+kn(e)+'"'}function td(e){return'link[rel="stylesheet"]['+e+"]"}function __(e){return mt({},e,{"data-precedence":e.precedence,precedence:null})}function Y7(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}),hr(t,"link",r),lr(t),e.head.appendChild(t))}function ks(e){return'[src="'+kn(e)+'"]'}function rd(e){return"script[async]"+e}function $N(e,t,r){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+kn(r.href)+'"]');if(n)return t.instance=n,lr(n),n;var a=mt({},r,{"data-href":r.href,"data-precedence":r.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),lr(n),hr(n,"style",a),Np(n,r.precedence,e),t.instance=n;case"stylesheet":a=ws(r.href);var i=e.querySelector(td(a));if(i)return t.state.loading|=4,t.instance=i,lr(i),i;n=__(r),(a=jn.get(a))&&tb(n,a),i=(e.ownerDocument||e).createElement("link"),lr(i);var o=i;return o._p=new Promise(function(l,s){o.onload=l,o.onerror=s}),hr(i,"link",n),t.state.loading|=4,Np(i,r.precedence,e),t.instance=i;case"script":return i=ks(r.src),(a=e.querySelector(rd(i)))?(t.instance=a,lr(a),a):(n=r,(a=jn.get(i))&&(n=mt({},r),rb(n,a)),e=e.ownerDocument||e,a=e.createElement("script"),lr(a),hr(a,"link",n),e.head.appendChild(a),t.instance=a);case"void":return null;default:throw Error(ne(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,Np(n,r.precedence,e));return t.instance}function Np(e,t,r){for(var n=r.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=n.length?n[n.length-1]:null,i=a,o=0;o title"):null)}function q7(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 E_(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function W7(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 a=ws(n.href),i=t.querySelector(td(a));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Rp.bind(e),t.then(e,e)),r.state.loading|=4,r.instance=i,lr(i);return}i=t.ownerDocument||t,n=__(n),(a=jn.get(a))&&tb(n,a),i=i.createElement("link"),lr(i);var o=i;o._p=new Promise(function(l,s){o.onload=l,o.onerror=s}),hr(i,"link",n),r.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(r,t),(t=r.state.preload)&&(r.state.loading&3)===0&&(e.count++,r=Rp.bind(e),t.addEventListener("load",r),t.addEventListener("error",r))}}var v0=0;function K7(e,t){return e.stylesheets&&e.count===0&&_p(e,e.stylesheets),0v0?50:800)+t);return e.unsuspend=r,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(a)}}:null}function Rp(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)_p(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var em=null;function _p(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,em=new Map,t.forEach(G7,e),em=null,Rp.call(e))}function G7(e,t){if(!(t.state.loading&4)){var r=em.get(e);if(r)var n=r.get(null);else{r=new Map,em.set(e,r);for(var a=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i{"use strict";function z_(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(z_)}catch(e){console.error(e)}}z_(),L_.exports=I_()});var zE=wr(IE=>{"use strict";var Ks=R();function Bz(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Uz=typeof Object.is=="function"?Object.is:Bz,$z=Ks.useState,Hz=Ks.useEffect,Vz=Ks.useLayoutEffect,Fz=Ks.useDebugValue;function Yz(e,t){var r=t(),n=$z({inst:{value:r,getSnapshot:t}}),a=n[0].inst,i=n[1];return Vz(function(){a.value=r,a.getSnapshot=t,$b(a)&&i({inst:a})},[e,r,t]),Hz(function(){return $b(a)&&i({inst:a}),e(function(){$b(a)&&i({inst:a})})},[e]),Fz(r),r}function $b(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!Uz(e,r)}catch{return!0}}function qz(e,t){return t()}var Wz=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?qz:Yz;IE.useSyncExternalStore=Ks.useSyncExternalStore!==void 0?Ks.useSyncExternalStore:Wz});var BE=wr((nte,LE)=>{"use strict";LE.exports=zE()});var $E=wr(UE=>{"use strict";var av=R(),Kz=BE();function Gz(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Xz=typeof Object.is=="function"?Object.is:Gz,Zz=Kz.useSyncExternalStore,Qz=av.useRef,Jz=av.useEffect,Rz=av.useMemo,e9=av.useDebugValue;UE.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var i=Qz(null);if(i.current===null){var o={hasValue:!1,value:null};i.current=o}else o=i.current;i=Rz(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),a!==void 0&&o.hasValue){var v=o.value;if(a(v,p))return d=v}return d=p}if(v=d,Xz(c,p))return v;var g=n(p);return a!==void 0&&a(v,g)?(c=p,v):(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,a]);var l=Zz(e,i[0],i[1]);return Jz(function(){o.hasValue=!0,o.value=l},[l]),e9(l),l}});var VE=wr((ite,HE)=>{"use strict";HE.exports=$E()});var Tk=wr(kk=>{"use strict";var wd=R();function aB(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var iB=typeof Object.is=="function"?Object.is:aB,oB=wd.useSyncExternalStore,lB=wd.useRef,sB=wd.useEffect,uB=wd.useMemo,cB=wd.useDebugValue;kk.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var i=lB(null);if(i.current===null){var o={hasValue:!1,value:null};i.current=o}else o=i.current;i=uB(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),a!==void 0&&o.hasValue){var v=o.value;if(a(v,p))return d=v}return d=p}if(v=d,iB(c,p))return v;var g=n(p);return a!==void 0&&a(v,g)?(c=p,v):(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,a]);var l=oB(e,i[0],i[1]);return sB(function(){o.hasValue=!0,o.value=l},[l]),cB(l),l}});var Dk=wr((ane,Mk)=>{"use strict";Mk.exports=Tk()});var P1=wr((t3,oh)=>{(function(e){"use strict";var t=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},n=!0,a="[DecimalError] ",i=a+"Invalid argument: ",o=a+"Exponent out of range: ",l=Math.floor,s=Math.pow,u=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,c,d=1e7,f=7,p=9007199254740991,v=l(p/f),g={};g.absoluteValue=g.abs=function(){var y=new this.constructor(this);return y.s&&(y.s=1),y},g.comparedTo=g.cmp=function(y){var N,O,M,A,k=this;if(y=new k.constructor(y),k.s!==y.s)return k.s||-y.s;if(k.e!==y.e)return k.e>y.e^k.s<0?1:-1;for(M=k.d.length,A=y.d.length,N=0,O=My.d[N]^k.s<0?1:-1;return M===A?0:M>A^k.s<0?1:-1},g.decimalPlaces=g.dp=function(){var y=this,N=y.d.length-1,O=(N-y.e)*f;if(N=y.d[N],N)for(;N%10==0;N/=10)O--;return O<0?0:O},g.dividedBy=g.div=function(y){return x(this,new this.constructor(y))},g.dividedToIntegerBy=g.idiv=function(y){var N=this,O=N.constructor;return z(x(N,new O(y),0,1),O.precision)},g.equals=g.eq=function(y){return!this.cmp(y)},g.exponent=function(){return E(this)},g.greaterThan=g.gt=function(y){return this.cmp(y)>0},g.greaterThanOrEqualTo=g.gte=function(y){return this.cmp(y)>=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(y){return this.cmp(y)<0},g.lessThanOrEqualTo=g.lte=function(y){return this.cmp(y)<1},g.logarithm=g.log=function(y){var N,O=this,M=O.constructor,A=M.precision,k=A+5;if(y===void 0)y=new M(10);else if(y=new M(y),y.s<1||y.eq(c))throw Error(a+"NaN");if(O.s<1)throw Error(a+(O.s?"NaN":"-Infinity"));return O.eq(c)?new M(0):(n=!1,N=x(_(O,k),_(y,k),k),n=!0,z(N,A))},g.minus=g.sub=function(y){var N=this;return y=new N.constructor(y),N.s==y.s?B(N,y):b(N,(y.s=-y.s,y))},g.modulo=g.mod=function(y){var N,O=this,M=O.constructor,A=M.precision;if(y=new M(y),!y.s)throw Error(a+"NaN");return O.s?(n=!1,N=x(O,y,0,1).times(y),n=!0,O.minus(N)):z(new M(O),A)},g.naturalExponential=g.exp=function(){return w(this)},g.naturalLogarithm=g.ln=function(){return _(this)},g.negated=g.neg=function(){var y=new this.constructor(this);return y.s=-y.s||0,y},g.plus=g.add=function(y){var N=this;return y=new N.constructor(y),N.s==y.s?b(N,y):B(N,(y.s=-y.s,y))},g.precision=g.sd=function(y){var N,O,M,A=this;if(y!==void 0&&y!==!!y&&y!==1&&y!==0)throw Error(i+y);if(N=E(A)+1,M=A.d.length-1,O=M*f+1,M=A.d[M],M){for(;M%10==0;M/=10)O--;for(M=A.d[0];M>=10;M/=10)O++}return y&&N>O?N:O},g.squareRoot=g.sqrt=function(){var y,N,O,M,A,k,V,G=this,Q=G.constructor;if(G.s<1){if(!G.s)return new Q(0);throw Error(a+"NaN")}for(y=E(G),n=!1,A=Math.sqrt(+G),A==0||A==1/0?(N=h(G.d),(N.length+y)%2==0&&(N+="0"),A=Math.sqrt(N),y=l((y+1)/2)-(y<0||y%2),A==1/0?N="5e"+y:(N=A.toExponential(),N=N.slice(0,N.indexOf("e")+1)+y),M=new Q(N)):M=new Q(A.toString()),O=Q.precision,A=V=O+3;;)if(k=M,M=k.plus(x(G,k,V+2)).times(.5),h(k.d).slice(0,V)===(N=h(M.d)).slice(0,V)){if(N=N.slice(V-3,V+1),A==V&&N=="4999"){if(z(k,O+1,0),k.times(k).eq(G)){M=k;break}}else if(N!="9999")break;V+=4}return n=!0,z(M,O)},g.times=g.mul=function(y){var N,O,M,A,k,V,G,Q,se,ue=this,pe=ue.constructor,Oe=ue.d,ie=(y=new pe(y)).d;if(!ue.s||!y.s)return new pe(0);for(y.s*=ue.s,O=ue.e+y.e,Q=Oe.length,se=ie.length,Q=0;){for(N=0,A=Q+M;A>M;)G=k[A]+ie[M]*Oe[A-M-1]+N,k[A--]=G%d|0,N=G/d|0;k[A]=(k[A]+N)%d|0}for(;!k[--V];)k.pop();return N?++O:k.shift(),y.d=k,y.e=O,n?z(y,pe.precision):y},g.toDecimalPlaces=g.todp=function(y,N){var O=this,M=O.constructor;return O=new M(O),y===void 0?O:(m(y,0,t),N===void 0?N=M.rounding:m(N,0,8),z(O,y+E(O)+1,N))},g.toExponential=function(y,N){var O,M=this,A=M.constructor;return y===void 0?O=$(M,!0):(m(y,0,t),N===void 0?N=A.rounding:m(N,0,8),M=z(new A(M),y+1,N),O=$(M,!0,y+1)),O},g.toFixed=function(y,N){var O,M,A=this,k=A.constructor;return y===void 0?$(A):(m(y,0,t),N===void 0?N=k.rounding:m(N,0,8),M=z(new k(A),y+E(A)+1,N),O=$(M.abs(),!1,y+E(M)+1),A.isneg()&&!A.isZero()?"-"+O:O)},g.toInteger=g.toint=function(){var y=this,N=y.constructor;return z(new N(y),E(y)+1,N.rounding)},g.toNumber=function(){return+this},g.toPower=g.pow=function(y){var N,O,M,A,k,V,G=this,Q=G.constructor,se=12,ue=+(y=new Q(y));if(!y.s)return new Q(c);if(G=new Q(G),!G.s){if(y.s<1)throw Error(a+"Infinity");return G}if(G.eq(c))return G;if(M=Q.precision,y.eq(c))return z(G,M);if(N=y.e,O=y.d.length-1,V=N>=O,k=G.s,V){if((O=ue<0?-ue:ue)<=p){for(A=new Q(c),N=Math.ceil(M/f+4),n=!1;O%2&&(A=A.times(G),X(A.d,N)),O=l(O/2),O!==0;)G=G.times(G),X(G.d,N);return n=!0,y.s<0?new Q(c).div(A):z(A,M)}}else if(k<0)throw Error(a+"NaN");return k=k<0&&y.d[Math.max(N,O)]&1?-1:1,G.s=1,n=!1,A=y.times(_(G,M+se)),n=!0,A=w(A),A.s=k,A},g.toPrecision=function(y,N){var O,M,A=this,k=A.constructor;return y===void 0?(O=E(A),M=$(A,O<=k.toExpNeg||O>=k.toExpPos)):(m(y,1,t),N===void 0?N=k.rounding:m(N,0,8),A=z(new k(A),y,N),O=E(A),M=$(A,y<=O||O<=k.toExpNeg,y)),M},g.toSignificantDigits=g.tosd=function(y,N){var O=this,M=O.constructor;return y===void 0?(y=M.precision,N=M.rounding):(m(y,1,t),N===void 0?N=M.rounding:m(N,0,8)),z(new M(O),y,N)},g.toString=g.valueOf=g.val=g.toJSON=function(){var y=this,N=E(y),O=y.constructor;return $(y,N<=O.toExpNeg||N>=O.toExpPos)};function b(y,N){var O,M,A,k,V,G,Q,se,ue=y.constructor,pe=ue.precision;if(!y.s||!N.s)return N.s||(N=new ue(y)),n?z(N,pe):N;if(Q=y.d,se=N.d,V=y.e,A=N.e,Q=Q.slice(),k=V-A,k){for(k<0?(M=Q,k=-k,G=se.length):(M=se,A=V,G=Q.length),V=Math.ceil(pe/f),G=V>G?V+1:G+1,k>G&&(k=G,M.length=1),M.reverse();k--;)M.push(0);M.reverse()}for(G=Q.length,k=se.length,G-k<0&&(k=G,M=se,se=Q,Q=M),O=0;k;)O=(Q[--k]=Q[k]+se[k]+O)/d|0,Q[k]%=d;for(O&&(Q.unshift(O),++A),G=Q.length;Q[--G]==0;)Q.pop();return N.d=Q,N.e=A,n?z(N,pe):N}function m(y,N,O){if(y!==~~y||yO)throw Error(i+y)}function h(y){var N,O,M,A=y.length-1,k="",V=y[0];if(A>0){for(k+=V,N=1;NV?1:-1;else for(G=Q=0;GA[G]?1:-1;break}return Q}function O(M,A,k){for(var V=0;k--;)M[k]-=V,V=M[k]1;)M.shift()}return function(M,A,k,V){var G,Q,se,ue,pe,Oe,ie,Ne,F,Y,S,P,K,j,he,ge,xe,Me,Pr=M.constructor,Vf=M.s==A.s?1:-1,ua=M.d,Yt=A.d;if(!M.s)return new Pr(M);if(!A.s)throw Error(a+"Division by zero");for(Q=M.e-A.e,xe=Yt.length,he=ua.length,ie=new Pr(Vf),Ne=ie.d=[],se=0;Yt[se]==(ua[se]||0);)++se;if(Yt[se]>(ua[se]||0)&&--Q,k==null?P=k=Pr.precision:V?P=k+(E(M)-E(A))+1:P=k,P<0)return new Pr(0);if(P=P/f+2|0,se=0,xe==1)for(ue=0,Yt=Yt[0],P++;(se1&&(Yt=y(Yt,ue),ua=y(ua,ue),xe=Yt.length,he=ua.length),j=xe,F=ua.slice(0,xe),Y=F.length;Y=d/2&&++ge;do ue=0,G=N(Yt,F,xe,Y),G<0?(S=F[0],xe!=Y&&(S=S*d+(F[1]||0)),ue=S/ge|0,ue>1?(ue>=d&&(ue=d-1),pe=y(Yt,ue),Oe=pe.length,Y=F.length,G=N(pe,F,Oe,Y),G==1&&(ue--,O(pe,xe16)throw Error(o+E(y));if(!y.s)return new ue(c);for(N==null?(n=!1,G=pe):G=N,V=new ue(.03125);y.abs().gte(.1);)y=y.times(V),se+=5;for(M=Math.log(s(2,se))/Math.LN10*2+5|0,G+=M,O=A=k=new ue(c),ue.precision=G;;){if(A=z(A.times(y),G),O=O.times(++Q),V=k.plus(x(A,O,G)),h(V.d).slice(0,G)===h(k.d).slice(0,G)){for(;se--;)k=z(k.times(k),G);return ue.precision=pe,N==null?(n=!0,z(k,pe)):k}k=V}}function E(y){for(var N=y.e*f,O=y.d[0];O>=10;O/=10)N++;return N}function C(y,N,O){if(N>y.LN10.sd())throw n=!0,O&&(y.precision=O),Error(a+"LN10 precision limit exceeded");return z(new y(y.LN10),N)}function T(y){for(var N="";y--;)N+="0";return N}function _(y,N){var O,M,A,k,V,G,Q,se,ue,pe=1,Oe=10,ie=y,Ne=ie.d,F=ie.constructor,Y=F.precision;if(ie.s<1)throw Error(a+(ie.s?"NaN":"-Infinity"));if(ie.eq(c))return new F(0);if(N==null?(n=!1,se=Y):se=N,ie.eq(10))return N==null&&(n=!0),C(F,se);if(se+=Oe,F.precision=se,O=h(Ne),M=O.charAt(0),k=E(ie),Math.abs(k)<15e14){for(;M<7&&M!=1||M==1&&O.charAt(1)>3;)ie=ie.times(y),O=h(ie.d),M=O.charAt(0),pe++;k=E(ie),M>1?(ie=new F("0."+O),k++):ie=new F(M+"."+O.slice(1))}else return Q=C(F,se+2,Y).times(k+""),ie=_(new F(M+"."+O.slice(1)),se-Oe).plus(Q),F.precision=Y,N==null?(n=!0,z(ie,Y)):ie;for(G=V=ie=x(ie.minus(c),ie.plus(c),se),ue=z(ie.times(ie),se),A=3;;){if(V=z(V.times(ue),se),Q=G.plus(x(V,new F(A),se)),h(Q.d).slice(0,se)===h(G.d).slice(0,se))return G=G.times(2),k!==0&&(G=G.plus(C(F,se+2,Y).times(k+""))),G=x(G,new F(pe),se),F.precision=Y,N==null?(n=!0,z(G,Y)):G;G=Q,A+=2}}function I(y,N){var O,M,A;for((O=N.indexOf("."))>-1&&(N=N.replace(".","")),(M=N.search(/e/i))>0?(O<0&&(O=M),O+=+N.slice(M+1),N=N.substring(0,M)):O<0&&(O=N.length),M=0;N.charCodeAt(M)===48;)++M;for(A=N.length;N.charCodeAt(A-1)===48;)--A;if(N=N.slice(M,A),N){if(A-=M,O=O-M-1,y.e=l(O/f),y.d=[],M=(O+1)%f,O<0&&(M+=f),Mv||y.e<-v))throw Error(o+O)}else y.s=0,y.e=0,y.d=[0];return y}function z(y,N,O){var M,A,k,V,G,Q,se,ue,pe=y.d;for(V=1,k=pe[0];k>=10;k/=10)V++;if(M=N-V,M<0)M+=f,A=N,se=pe[ue=0];else{if(ue=Math.ceil((M+1)/f),k=pe.length,ue>=k)return y;for(se=k=pe[ue],V=1;k>=10;k/=10)V++;M%=f,A=M-f+V}if(O!==void 0&&(k=s(10,V-A-1),G=se/k%10|0,Q=N<0||pe[ue+1]!==void 0||se%k,Q=O<4?(G||Q)&&(O==0||O==(y.s<0?3:2)):G>5||G==5&&(O==4||Q||O==6&&(M>0?A>0?se/s(10,V-A):0:pe[ue-1])%10&1||O==(y.s<0?8:7))),N<1||!pe[0])return Q?(k=E(y),pe.length=1,N=N-k-1,pe[0]=s(10,(f-N%f)%f),y.e=l(-N/f)||0):(pe.length=1,pe[0]=y.e=y.s=0),y;if(M==0?(pe.length=ue,k=1,ue--):(pe.length=ue+1,k=s(10,f-M),pe[ue]=A>0?(se/s(10,V-A)%s(10,A)|0)*k:0),Q)for(;;)if(ue==0){(pe[0]+=k)==d&&(pe[0]=1,++y.e);break}else{if(pe[ue]+=k,pe[ue]!=d)break;pe[ue--]=0,k=1}for(M=pe.length;pe[--M]===0;)pe.pop();if(n&&(y.e>v||y.e<-v))throw Error(o+E(y));return y}function B(y,N){var O,M,A,k,V,G,Q,se,ue,pe,Oe=y.constructor,ie=Oe.precision;if(!y.s||!N.s)return N.s?N.s=-N.s:N=new Oe(y),n?z(N,ie):N;if(Q=y.d,pe=N.d,M=N.e,se=y.e,Q=Q.slice(),V=se-M,V){for(ue=V<0,ue?(O=Q,V=-V,G=pe.length):(O=pe,M=se,G=Q.length),A=Math.max(Math.ceil(ie/f),G)+2,V>A&&(V=A,O.length=1),O.reverse(),A=V;A--;)O.push(0);O.reverse()}else{for(A=Q.length,G=pe.length,ue=A0;--A)Q[G++]=0;for(A=pe.length;A>V;){if(Q[--A]0?k=k.charAt(0)+"."+k.slice(1)+T(M):V>1&&(k=k.charAt(0)+"."+k.slice(1)),k=k+(A<0?"e":"e+")+A):A<0?(k="0."+T(-A-1)+k,O&&(M=O-V)>0&&(k+=T(M))):A>=V?(k+=T(A+1-V),O&&(M=O-A-1)>0&&(k=k+"."+T(M))):((M=A+1)0&&(A+1===V&&(k+="."),k+=T(M))),y.s<0?"-"+k:k}function X(y,N){if(y.length>N)return y.length=N,!0}function H(y){var N,O,M;function A(k){var V=this;if(!(V instanceof A))return new A(k);if(V.constructor=A,k instanceof A){V.s=k.s,V.e=k.e,V.d=(k=k.d)?k.slice():k;return}if(typeof k=="number"){if(k*0!==0)throw Error(i+k);if(k>0)V.s=1;else if(k<0)k=-k,V.s=-1;else{V.s=0,V.e=0,V.d=[0];return}if(k===~~k&&k<1e7){V.e=0,V.d=[k];return}return I(V,k.toString())}else if(typeof k!="string")throw Error(i+k);if(k.charCodeAt(0)===45?(k=k.slice(1),V.s=-1):V.s=1,u.test(k))I(V,k);else throw Error(i+k)}if(A.prototype=g,A.ROUND_UP=0,A.ROUND_DOWN=1,A.ROUND_CEIL=2,A.ROUND_FLOOR=3,A.ROUND_HALF_UP=4,A.ROUND_HALF_DOWN=5,A.ROUND_HALF_EVEN=6,A.ROUND_HALF_CEIL=7,A.ROUND_HALF_FLOOR=8,A.clone=H,A.config=A.set=q,y===void 0&&(y={}),y)for(M=["precision","rounding","toExpNeg","toExpPos","LN10"],N=0;N=A[N+1]&&M<=A[N+2])this[O]=M;else throw Error(i+O+": "+M);if((M=y[O="LN10"])!==void 0)if(M==Math.LN10)this[O]=new this(M);else throw Error(i+O+": "+M);return this}r=H(r),r.default=r.Decimal=r,c=new r(1),typeof define=="function"&&define.amd?define(function(){return r}):typeof oh<"u"&&oh.exports?oh.exports=r:(e||(e=typeof self<"u"&&self&&self.self==self?self:Function("return this")()),e.Decimal=r)})(t3)});var t8=wr((Tpe,_w)=>{"use strict";var WY=Object.prototype.hasOwnProperty,$r="~";function sf(){}Object.create&&(sf.prototype=Object.create(null),new sf().__proto__||($r=!1));function KY(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function e8(e,t,r,n,a){if(typeof r!="function")throw new TypeError("The listener must be a function");var i=new KY(r,n||e,a),o=$r?$r+t:t;return e._events[o]?e._events[o].fn?e._events[o]=[e._events[o],i]:e._events[o].push(i):(e._events[o]=i,e._eventsCount++),e}function Cg(e,t){--e._eventsCount===0?e._events=new sf:delete e._events[t]}function Or(){this._events=new sf,this._eventsCount=0}Or.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)WY.call(r,n)&&t.push($r?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Or.prototype.listeners=function(t){var r=$r?$r+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var a=0,i=n.length,o=new Array(i);aWe.default.createElement("g",{stroke:"none",fill:"none",fillRule:"evenodd",strokeWidth:"1"},We.default.createElement("g",{transform:"translate(25, 475) scale(-1, 1) rotate(-180) translate(-25, -475) translate(0, 450)"},We.default.createElement("g",{fillRule:"nonzero"},We.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"})),We.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"}),We.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"}),We.default.createElement("g",{transform:"translate(75.105, 196.182)"},We.default.createElement("ellipse",{fill:"#F5E6D3",cx:"87",cy:"55",rx:"35",ry:"29"}),We.default.createElement("ellipse",{fill:"#5D4037",cx:"87",cy:"57",rx:"20",ry:"20"}),We.default.createElement("ellipse",{fill:"#2D1F1F",cx:"87",cy:"57",rx:"12",ry:"12"}),We.default.createElement("ellipse",{fill:"#FFFFFF",cx:"80",cy:"51",rx:"5",ry:"5"}),We.default.createElement("ellipse",{fill:"#F5E6D3",cx:"259",cy:"55",rx:"35",ry:"29"}),We.default.createElement("ellipse",{fill:"#5D4037",cx:"259",cy:"57",rx:"20",ry:"20"}),We.default.createElement("ellipse",{fill:"#2D1F1F",cx:"259",cy:"57",rx:"12",ry:"12"}),We.default.createElement("ellipse",{fill:"#FFFFFF",cx:"252",cy:"51",rx:"5",ry:"5"})),We.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},We.default.createElement("g",{transform:"translate(267.395, 54.835) scale(-1, 1) translate(-267.395, -54.835)"},We.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"})),We.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"})),We.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},We.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"})),We.default.createElement("g",{transform:"translate(83.563, 252.212)",fill:"#FFFFFF",fillRule:"nonzero"},We.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"}),We.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 wt({size:e=200,instructions:t=[],tools:r=[],showDecorations:n=!1,className:a="",hat:i,hatAccessory:o,heldItem:l,theme:s,customColors:u}){return We.default.createElement("div",{className:`inline-flex flex-col items-center ${a}`},n&&t.length>0&&We.default.createElement("div",{className:"flex gap-1 mb-1"},t.map(c=>{let d=Ho[c];return d?We.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})),We.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"},We.default.createElement("title",null,"ActiveAgent"),We.default.createElement(rz,null)),n&&r.length>0&&We.default.createElement("div",{className:"flex gap-1 mt-1"},r.map(c=>{let d=Vo[c];return d?We.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})))}var Gr=J(R());var Jn=J(R()),U_=(0,Jn.createContext)();function $_({children:e}){let[t,r]=(0,Jn.useState)(()=>{let a=localStorage.getItem("dashboard-theme");return a?a==="dark":window.matchMedia("(prefers-color-scheme: dark)").matches});(0,Jn.useEffect)(()=>{localStorage.setItem("dashboard-theme",t?"dark":"light")},[t]),(0,Jn.useEffect)(()=>{let a=window.matchMedia("(prefers-color-scheme: dark)"),i=o=>{localStorage.getItem("dashboard-theme")||r(o.matches)};return a.addEventListener("change",i),()=>a.removeEventListener("change",i)},[]);let n=()=>r(!t);return Jn.default.createElement(U_.Provider,{value:{darkMode:t,toggleDarkMode:n}},e)}function it(){let e=(0,Jn.useContext)(U_);if(!e)throw new Error("useTheme must be used within a ThemeProvider");return e}function Ms({name:e,subtitle:t,badge:r,accentColor:n,stats:a=[],footer:i,onClick:o,actions:l}){let{darkMode:s}=it(),[u,c]=Gr.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 Gr.default.createElement("div",{"data-testid":"agent-card","data-agent-name":typeof e=="string"?e:void 0,onClick:o,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),role:o?"button":void 0,tabIndex:o?0:void 0,onKeyDown:p=>{o&&(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),o(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:o?"pointer":"default",transition:"border-color 0.15s ease, box-shadow 0.15s ease",boxShadow:u&&o?"0 4px 16px rgba(0,0,0,0.08)":"none",display:"flex",flexDirection:"column",gap:"12px"}},Gr.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"8px"}},Gr.default.createElement("div",{style:{minWidth:0}},Gr.default.createElement("div",{style:{fontWeight:600,fontSize:"15px",color:u&&o?"#ef4444":d.textPrimary,transition:"color 0.15s ease",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e},e),t&&Gr.default.createElement("div",{style:{fontSize:"13px",color:d.textSecondary,marginTop:"2px",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"}},t)),r&&Gr.default.createElement("div",{style:{flexShrink:0}},r)),a.length>0&&Gr.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"6px"}},a.map(p=>Gr.default.createElement("div",{key:p.label,title:p.title,style:{background:d.tileBg,borderRadius:"8px",padding:"6px 8px",textAlign:"center"}},Gr.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,lineHeight:1.2,color:f(p.tone)}},p.value),Gr.default.createElement("div",{style:{fontSize:"10px",textTransform:"uppercase",letterSpacing:"0.04em",color:d.textMuted,whiteSpace:"nowrap"}},p.label)))),i&&Gr.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"8px",fontSize:"12px",color:d.textMuted}},i),l&&Gr.default.createElement("div",{style:{opacity:u?1:0,transition:"opacity 0.15s ease"}},l))}function lb(e){return e==null?"muted":e>=.85?"good":e>=.7?"warn":"bad"}var nz=[{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 sb({agents:e,meta:t,onSelect:r,onNew:n,onBrowseTemplates:a,onDuplicate:i,onDelete:o,onRefresh:l,sort:s="recent",onSortChange:u,isLoading:c}){let[d,f]=(0,Se.useState)(""),[p,v]=(0,Se.useState)(""),[g,b]=(0,Se.useState)(""),m=e.filter(_=>{let I=!d||_.name.toLowerCase().includes(d.toLowerCase())||_.description?.toLowerCase().includes(d.toLowerCase()),z=!p||_.provider===p,B=!g||_.status===g;return I&&z&&B}),h=_=>{let I=new Date(_),B=new Date-I,$=Math.floor(B/(1e3*60*60*24));return $===0?"Today":$===1?"Yesterday":$<7?`${$} days ago`:I.toLocaleDateString()},x=_=>{switch(_){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"}},w=_=>_==null?"\u2014":_<1e3?`${Math.round(_)}ms`:`${(_/1e3).toFixed(1)}s`,E=_=>_==null?"\u2014":_>=1e6?`${(_/1e6).toFixed(1)}M`:_>=1e3?`${(_/1e3).toFixed(1)}k`:`${_}`,C=_=>_==null?"\u2014":_>0&&_<.01?"<$0.01":`$${_.toFixed(2)}`,T=_=>{if(!_)return"\u2014";let I=Math.floor((new Date-new Date(_))/(1e3*60*60*24));return I<=0?"Today":I<30?`${I}d ago`:new Date(_).toLocaleDateString()};return Se.default.createElement("div",{className:"space-y-6"},Se.default.createElement("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4"},Se.default.createElement("div",{className:"flex-1 flex items-center space-x-4"},Se.default.createElement("div",{className:"relative flex-1 max-w-md"},Se.default.createElement("input",{type:"text",placeholder:"Search agents...",value:d,onChange:_=>f(_.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"}),Se.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"},Se.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"}))),Se.default.createElement("select",{value:p,onChange:_=>v(_.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Se.default.createElement("option",{value:""},"All Providers"),t.providers?.map(_=>Se.default.createElement("option",{key:_,value:_},_.charAt(0).toUpperCase()+_.slice(1)))),Se.default.createElement("select",{value:g,onChange:_=>b(_.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Se.default.createElement("option",{value:""},"All Status"),Se.default.createElement("option",{value:"active"},"Active"),Se.default.createElement("option",{value:"draft"},"Draft"),Se.default.createElement("option",{value:"archived"},"Archived")),Se.default.createElement("select",{value:s,onChange:_=>u?.(_.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"},nz.map(_=>Se.default.createElement("option",{key:_.value,value:_.value},_.label)))),Se.default.createElement("div",{className:"flex items-center space-x-3"},Se.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"},Se.default.createElement("svg",{className:`h-5 w-5 ${c?"animate-spin":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Se.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"}))),Se.default.createElement("button",{onClick:a,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"},Se.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Se.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"})),Se.default.createElement("span",null,"Browse Templates")),Se.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"},Se.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Se.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Se.default.createElement("span",null,"New Agent")))),m.length>0?Se.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6"},m.map(_=>{let I=_.stats||{},z=I.run_sources||[],B=z.length?`Counted from ${z.map($=>$==="platform"?"dashboard runs":"reported telemetry").join(" + ")}`:void 0;return Se.default.createElement(Ms,{key:_.id,name:_.name,subtitle:_.description||"No description",badge:Se.default.createElement("span",{className:`px-2 py-0.5 text-xs font-medium rounded-full ${x(_.status)}`},_.status),onClick:()=>r(_),stats:[{label:`Runs ${I.window_days||30}d`,value:I.runs??0,title:B},{label:"Success",value:I.success_rate!=null?`${Math.round(I.success_rate)}%`:"\u2014",tone:lb(I.success_rate!=null?I.success_rate/100:null)},{label:"Avg time",value:w(I.avg_duration_ms)},{label:I.eval_samples_evaluated?`Eval ${I.eval_samples_passed}/${I.eval_samples_evaluated}`:"Eval",title:I.eval_samples_evaluated?`Latest evaluation: ${I.eval_samples_passed} of ${I.eval_samples_evaluated} samples passed`:void 0,value:I.eval_score!=null?`${Math.round(I.eval_score*100)}%`:"\u2014",tone:lb(I.eval_score)},{label:"Tokens",value:E(I.tokens)},{label:"Cost",value:C(I.cost),title:"Estimated from token counts at each model's published rates",tone:I.cost==null?"muted":void 0}],footer:Se.default.createElement(Se.default.Fragment,null,Se.default.createElement("span",{style:{display:"flex",alignItems:"center",gap:"6px",minWidth:0}},Se.default.createElement("span",{style:{padding:"2px 6px",borderRadius:"4px",background:"rgba(128,128,128,0.15)",whiteSpace:"nowrap",flexShrink:0}},_.provider),Se.default.createElement("span",{title:_.model,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},_.model)),Se.default.createElement("span",{style:{whiteSpace:"nowrap"},title:`Updated ${h(_.updatedAt||_.updated_at)}`},I.last_run_at?`Last run ${T(I.last_run_at)}`:`Updated ${h(_.updatedAt||_.updated_at)}`)),actions:Se.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"13px"}},Se.default.createElement("button",{onClick:$=>{$.stopPropagation(),i(_.id)},className:"text-gray-500 hover:text-red-600 transition-colors"},"Duplicate"),Se.default.createElement("button",{onClick:$=>{$.stopPropagation(),o(_.id)},className:"text-red-500 hover:text-red-700 transition-colors"},"Delete"))})})):Se.default.createElement("div",{className:"text-center py-16"},Se.default.createElement("div",{className:"inline-block mb-4"},Se.default.createElement(wt,{size:100})),Se.default.createElement("h3",{className:"text-lg font-medium text-gray-900 mb-2"},e.length===0?"No agents yet":"No matching agents"),Se.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&&Se.default.createElement("div",{className:"flex items-center justify-center space-x-4"},Se.default.createElement("button",{onClick:a,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"},Se.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Se.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"})),Se.default.createElement("span",null,"Browse Templates")),Se.default.createElement("span",{className:"text-gray-400"},"or"),Se.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"},Se.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Se.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Se.default.createElement("span",null,"Create From Scratch")))))}var oe=J(R());var Rt={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:"[>]",docs:"?",github:"*"},spans:{root:">",prompt:"*",generate:"|>",llm:">>",thinking:"..",tool:"[]",response:"<|"}};var _e={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 Ds={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 bm(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 Ds[e]||[]}var wm=[{id:"basics",label:"Basics",icon:"1"},{id:"configure",label:"Configure",icon:"2"},{id:"review",label:"Review",icon:"3"}];function ub({meta:e,onSave:t,onCancel:r,isLoading:n}){let[a,i]=(0,oe.useState)(0),[o,l]=(0,oe.useState)(Ds),[s,u]=(0,oe.useState)({name:"",description:"",provider:"openai",model:Ds.openai[0],instructions:"",preset_type:"terminal",instruction_sets:["github"],tools:["terminal","code"],model_config:{temperature:.7}});(0,oe.useEffect)(()=>{let g=!1;return bm(s.provider).then(b=>{g||b.length===0||(l(m=>({...m,[s.provider]:b})),u(m=>b.includes(m.model)?m:{...m,model:b[0]}))}),()=>{g=!0}},[s.provider]);let c=(g,b)=>{u(m=>({...m,[g]:b}))},d=(g,b)=>{u(m=>{let h=m[g]||[],x=h.includes(b)?h.filter(w=>w!==b):[...h,b];return{...m,[g]:x}})},f=g=>{if(c("preset_type",g),Ts[g]){let b=Ts[g];c("instruction_sets",[...b.instructions]),c("tools",[...b.tools])}},p=()=>{switch(a){case 0:return s.name.trim().length>=2;case 1:return!0;case 2:return!0;default:return!1}},v=()=>{t(s)};return oe.default.createElement("div",{className:"max-w-4xl mx-auto"},oe.default.createElement("div",{className:"mb-8"},oe.default.createElement("div",{className:"flex items-center justify-between"},wm.map((g,b)=>oe.default.createElement("div",{key:g.id,className:"flex items-center"},oe.default.createElement("div",{className:`flex items-center justify-center w-10 h-10 rounded-full border-2 transition-colors ${bi(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"),oe.default.createElement("button",{onClick:a===wm.length-1?v:()=>i(a+1),disabled:!p()||n,className:`px-6 py-2 rounded-lg transition-colors ${p()&&!n?"bg-red-500 text-white hover:bg-red-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},a===wm.length-1?"Create Agent":"Continue")))}function az({formData:e,updateField:t,providerModels:r}){return oe.default.createElement("div",{className:"space-y-6"},oe.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Basic Information"),oe.default.createElement("p",{className:"text-gray-500"},"Give your agent a name and configure its AI provider."),oe.default.createElement("div",{className:"space-y-4"},oe.default.createElement("div",null,oe.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Agent Name *"),oe.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"})),oe.default.createElement("div",null,oe.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Description"),oe.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"})),oe.default.createElement("div",{className:"grid grid-cols-2 gap-4"},oe.default.createElement("div",null,oe.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Provider"),oe.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=>oe.default.createElement("option",{key:n,value:n},n.charAt(0).toUpperCase()+n.slice(1))))),oe.default.createElement("div",null,oe.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Model"),oe.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=>oe.default.createElement("option",{key:n,value:n},n))))),oe.default.createElement("div",null,oe.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Temperature: ",e.model_config.temperature),oe.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"}),oe.default.createElement("div",{className:"flex justify-between text-xs text-gray-400"},oe.default.createElement("span",null,"Precise"),oe.default.createElement("span",null,"Creative")))))}function iz({formData:e,meta:t,toggleArrayItem:r,updateField:n,selectPreset:a}){let i=Object.keys(Ts),o=Object.keys(Ho),l=Object.keys(Vo);return oe.default.createElement("div",{className:"space-y-6"},oe.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Configure Agent"),oe.default.createElement("p",{className:"text-gray-500"},"Choose a preset or customize instructions and tools."),oe.default.createElement("div",{className:"flex justify-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},oe.default.createElement("div",{className:"flex flex-col items-center"},oe.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(s=>{let u=Ho[s];return u?oe.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})),oe.default.createElement(wt,{size:120}),oe.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(s=>{let u=Vo[s];return u?oe.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})))),oe.default.createElement("div",null,oe.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},"Quick Presets"),oe.default.createElement("div",{className:"flex flex-wrap gap-2"},i.map(s=>oe.default.createElement("button",{key:s,onClick:()=>a(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"}`},oe.default.createElement("span",{className:"capitalize"},s.replace(/([A-Z])/g," $1").trim()))))),oe.default.createElement("div",null,oe.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},oe.default.createElement("strong",null,"Instructions"),oe.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"System/developer messages")),oe.default.createElement("div",{className:"flex flex-wrap gap-2"},o.map(s=>{let u=Ho[s];return oe.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"}`},oe.default.createElement("span",null,u.emoji),oe.default.createElement("span",null,u.label))}))),oe.default.createElement("div",null,oe.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},oe.default.createElement("strong",null,"Tools"),oe.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"MCPs and integrations")),oe.default.createElement("div",{className:"flex flex-wrap gap-2"},l.map(s=>{let u=Vo[s];return oe.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"}`},oe.default.createElement("span",null,u.emoji),oe.default.createElement("span",null,u.label))}))),oe.default.createElement("div",null,oe.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-2"},"System Instructions"),oe.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 oz({formData:e}){return oe.default.createElement("div",{className:"space-y-6"},oe.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Review Your Agent"),oe.default.createElement("p",{className:"text-gray-500"},"Confirm the configuration before creating your agent."),oe.default.createElement("div",{className:"grid grid-cols-2 gap-8"},oe.default.createElement("div",{className:"flex flex-col items-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},oe.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(t=>{let r=Ho[t];return r?oe.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),oe.default.createElement(wt,{size:100}),oe.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(t=>{let r=Vo[t];return r?oe.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),oe.default.createElement("h3",{className:"mt-4 text-lg font-semibold text-gray-900"},e.name),oe.default.createElement("p",{className:"text-sm text-gray-500"},e.description||"No description")),oe.default.createElement("div",{className:"space-y-4"},oe.default.createElement("div",null,oe.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Provider / Model"),oe.default.createElement("p",{className:"text-gray-900"},e.provider," / ",e.model)),oe.default.createElement("div",null,oe.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Temperature"),oe.default.createElement("p",{className:"text-gray-900"},e.model_config.temperature)),oe.default.createElement("div",null,oe.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Instructions"),oe.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.instruction_sets.length>0?e.instruction_sets.map(t=>{let r=Ho[t];return r?oe.default.createElement("span",{key:t,className:"px-2 py-0.5 bg-gray-100 rounded text-xs"},r.emoji," ",r.label):null}):oe.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))),oe.default.createElement("div",null,oe.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Tools"),oe.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.tools.length>0?e.tools.map(t=>{let r=Vo[t];return r?oe.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}):oe.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))))),e.instructions&&oe.default.createElement("div",null,oe.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"System Instructions"),oe.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 Z=J(R());var Ps=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"}),Rn="#ef4444";var D=J(R());var Sm=J(R()),q_=J(R());function H_(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t{var r=e.children,n=e.width,a=e.height,i=e.viewBox,o=e.className,l=e.style,s=e.title,u=e.desc,c=dz(e,cz),d=i||{width:n,height:a,x:0,y:0},f=Te("recharts-surface",o);return Sm.createElement("svg",fb({},Lt(c),{className:f,width:n,height:a,style:l,viewBox:"".concat(d.x," ").concat(d.y," ").concat(d.width," ").concat(d.height),ref:t}),Sm.createElement("title",null,s),Sm.createElement("desc",null,u),r)});var Am=J(R());var pz=["children","className"];function mb(){return mb=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,a=mz(e,pz),i=Te("recharts-layer",n);return Am.createElement("g",mb({className:i},Lt(a),{ref:t}),r)});function Nm(e){return e==="__proto__"}var hz=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function Cm(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e===""||e.startsWith(".")||e.endsWith(".")?!1:hz.test(e);default:return!1}}function js(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function vb(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(vb).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function Is(e){if(Array.isArray(e))return e.map(js);if(typeof e=="symbol")return[e];e=vb(e);let t=[],r=e.length;if(r===0)return t;let n=0,a="",i="",o=!1;for(e.charCodeAt(0)===46&&t.push("");n1&&arguments[1]!==void 0?arguments[1]:yz,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function tr(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var l=r[o-1];return typeof l=="string"?a+l+i:l!==void 0?a+ga(l)+i:a+i},"")}var rr=e=>e===0?0:e>0?1:-1,Ar=e=>typeof e=="number"&&e!=+e,ei=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,me=e=>(typeof e=="number"||e instanceof Number)&&!Ar(e),Lr=e=>me(e)||typeof e=="string",xz=0,ti=e=>{var t=++xz;return"".concat(e||"").concat(t)},In=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!me(t)&&typeof t!="string")return n;var i;if(ei(t)){if(r==null)return n;var o=t.indexOf("%");i=r*parseFloat(t.slice(0,o))/100}else i=+t;return Ar(i)&&(i=n),a&&r!=null&&i>r&&(i=r),i},hb=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):pn(n,t))===r)}var St=e=>e===null||typeof e>"u",zs=e=>St(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function nr(e){return e!=null}function ea(){}function ad(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 W_(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function ya(e){for(var t=1;t{var t=e.viewBox,r=e.position,n=e.offset,a=n===void 0?0:n,i=e.parentViewBox,o=e.clamp,l=ad(t),s=l.x,u=l.y,c=l.height,d=l.upperWidth,f=l.lowerWidth,p=s,v=s+(d-f)/2,g=(p+v)/2,b=(d+f)/2,m=p+d/2,h=c>=0?1:-1,x=h*a,w=h>0?"end":"start",E=h>0?"start":"end",C=d>=0?1:-1,T=C*a,_=C>0?"end":"start",I=C>0?"start":"end",z=i;if(r==="top"){var B={x:p+d/2,y:u-x,horizontalAnchor:"middle",verticalAnchor:w};return o&&z&&(B.height=Math.max(u-z.y,0),B.width=d),B}if(r==="bottom"){var $={x:v+f/2,y:u+c+x,horizontalAnchor:"middle",verticalAnchor:E};return o&&z&&($.height=Math.max(z.y+z.height-(u+c),0),$.width=f),$}if(r==="left"){var X={x:g-T,y:u+c/2,horizontalAnchor:_,verticalAnchor:"middle"};return o&&z&&(X.width=Math.max(X.x-z.x,0),X.height=c),X}if(r==="right"){var H={x:g+b+T,y:u+c/2,horizontalAnchor:I,verticalAnchor:"middle"};return o&&z&&(H.width=Math.max(z.x+z.width-H.x,0),H.height=c),H}var q=o&&z?{width:b,height:c}:{};return r==="insideLeft"?ya({x:g+T,y:u+c/2,horizontalAnchor:I,verticalAnchor:"middle"},q):r==="insideRight"?ya({x:g+b-T,y:u+c/2,horizontalAnchor:_,verticalAnchor:"middle"},q):r==="insideTop"?ya({x:p+d/2,y:u+x,horizontalAnchor:"middle",verticalAnchor:E},q):r==="insideBottom"?ya({x:v+f/2,y:u+c-x,horizontalAnchor:"middle",verticalAnchor:w},q):r==="insideTopLeft"?ya({x:p+T,y:u+x,horizontalAnchor:I,verticalAnchor:E},q):r==="insideTopRight"?ya({x:p+d-T,y:u+x,horizontalAnchor:_,verticalAnchor:E},q):r==="insideBottomLeft"?ya({x:v+T,y:u+c-x,horizontalAnchor:I,verticalAnchor:w},q):r==="insideBottomRight"?ya({x:v+f-T,y:u+c-x,horizontalAnchor:_,verticalAnchor:w},q):r&&typeof r=="object"&&(me(r.x)||ei(r.x))&&(me(r.y)||ei(r.y))?ya({x:s+In(r.x,b),y:u+In(r.y,c),horizontalAnchor:"end",verticalAnchor:"end"},q):ya({x:m,y:u+c/2,horizontalAnchor:"middle",verticalAnchor:"middle"},q)},Az=["top","left","right","bottom"];function G_(e){return e==null?!1:typeof e=="object"?!0:Az.includes(e)}var gb=J(R()),X_=(0,gb.createContext)(null);function vt(e){return function(){return e}}var yb=Math.PI,xb=2*yb,Fo=1e-6,Nz=xb-Fo;function Z_(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return Z_;let r=10**t;return function(n){this._+=n[0];for(let a=1,i=n.length;aFo)if(!(Math.abs(d*s-u*c)>Fo)||!i)this._append`L${this._x1=t},${this._y1=r}`;else{let p=n-o,v=a-l,g=s*s+u*u,b=p*p+v*v,m=Math.sqrt(g),h=Math.sqrt(f),x=i*Math.tan((yb-Math.acos((g+f-b)/(2*m*h)))/2),w=x/h,E=x/m;Math.abs(w-1)>Fo&&this._append`L${t+w*c},${r+w*d}`,this._append`A${i},${i},0,0,${+(d*p>c*v)},${this._x1=t+E*s},${this._y1=r+E*u}`}}arc(t,r,n,a,i,o){if(t=+t,r=+r,n=+n,o=!!o,n<0)throw new Error(`negative radius: ${n}`);let l=n*Math.cos(a),s=n*Math.sin(a),u=t+l,c=r+s,d=1^o,f=o?a-i:i-a;this._x1===null?this._append`M${u},${c}`:(Math.abs(this._x1-u)>Fo||Math.abs(this._y1-c)>Fo)&&this._append`L${u},${c}`,n&&(f<0&&(f=f%xb+xb),f>Nz?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>Fo&&this._append`A${n},${n},0,${+(f>=yb)},${d},${this._x1=t+n*Math.cos(i)},${this._y1=r+n*Math.sin(i)}`)}rect(t,r,n,a){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+a}h${-n}Z`}toString(){return this._}};function Q_(){return new Yo}Q_.prototype=Yo.prototype;function Em(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 Yo(t)}var AJ=Array.prototype.slice;function Ls(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function J_(e){this._context=e}J_.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 Ri(e){return new J_(e)}function Om(e){return e[0]}function km(e){return e[1]}function id(e,t){var r=vt(!0),n=null,a=Ri,i=null,o=Em(l);e=typeof e=="function"?e:e===void 0?Om:vt(e),t=typeof t=="function"?t:t===void 0?km:vt(t);function l(s){var u,c=(s=Ls(s)).length,d,f=!1,p;for(n==null&&(i=a(p=o())),u=0;u<=c;++u)!(u=p;--v)l.point(x[v],w[v]);l.lineEnd(),l.areaEnd()}m&&(x[f]=+e(b,f,d),w[f]=+t(b,f,d),l.point(n?+n(b,f,d):x[f],r?+r(b,f,d):w[f]))}if(h)return l=null,h+""||null}function c(){return id().defined(a).curve(o).context(i)}return u.x=function(d){return arguments.length?(e=typeof d=="function"?d:vt(+d),n=null,u):e},u.x0=function(d){return arguments.length?(e=typeof d=="function"?d:vt(+d),u):e},u.x1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:vt(+d),u):n},u.y=function(d){return arguments.length?(t=typeof d=="function"?d:vt(+d),r=null,u):t},u.y0=function(d){return arguments.length?(t=typeof d=="function"?d:vt(+d),u):t},u.y1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:vt(+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?(a=typeof d=="function"?d:vt(!!d),u):a},u.curve=function(d){return arguments.length?(o=d,i!=null&&(l=o(i)),u):o},u.context=function(d){return arguments.length?(d==null?i=l=null:l=o(i=d),u):i},u}var Tm=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 bb(e){return new Tm(e,!0)}function wb(e){return new Tm(e,!1)}function Us(){}function $s(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 R_(e){this._context=e}R_.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:$s(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:$s(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Sb(e){return new R_(e)}function eE(e){this._context=e}eE.prototype={areaStart:Us,areaEnd:Us,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:$s(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Ab(e){return new eE(e)}function tE(e){this._context=e}tE.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:$s(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Nb(e){return new tE(e)}function rE(e){this._context=e}rE.prototype={areaStart:Us,areaEnd:Us,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 Cb(e){return new rE(e)}function nE(e){return e<0?-1:1}function aE(e,t,r){var n=e._x1-e._x0,a=t-e._x1,i=(e._y1-e._y0)/(n||a<0&&-0),o=(r-e._y1)/(a||n<0&&-0),l=(i*a+o*n)/(n+a);return(nE(i)+nE(o))*Math.min(Math.abs(i),Math.abs(o),.5*Math.abs(l))||0}function iE(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function _b(e,t,r){var n=e._x0,a=e._y0,i=e._x1,o=e._y1,l=(i-n)/3;e._context.bezierCurveTo(n+l,a+l*t,i-l,o-l*r,i,o)}function Mm(e){this._context=e}Mm.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:_b(this,this._t0,iE(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,_b(this,iE(this,r=aE(this,e,t)),r);break;default:_b(this,this._t0,r=aE(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function oE(e){this._context=new lE(e)}(oE.prototype=Object.create(Mm.prototype)).point=function(e,t){Mm.prototype.point.call(this,t,e)};function lE(e){this._context=e}lE.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,a,i){this._context.bezierCurveTo(t,e,n,r,i,a)}};function Eb(e){return new Mm(e)}function Ob(e){return new oE(e)}function uE(e){this._context=e}uE.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=sE(e),a=sE(t),i=0,o=1;o=0;--t)a[t]=(o[t]-a[t+1])/i[t];for(i[r-1]=(e[r]+a[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 Tb(e){return new Dm(e,.5)}function Mb(e){return new Dm(e,0)}function Db(e){return new Dm(e,1)}function mn(e,t){if((o=e.length)>1)for(var r=1,n,a,i=e[t[0]],o,l=i.length;r=0;)r[t]=t;return r}function _z(e,t){return e[t]}function Ez(e){let t=[];return t.key=e,t}function Pb(){var e=vt([]),t=Hs,r=mn,n=_z;function a(i){var o=Array.from(e.apply(this,arguments),Ez),l,s=o.length,u=-1,c;for(let d of i)for(l=0,++u;l0){for(var r,n,a=0,i=e[0].length,o;a0){for(var r=0,n=e[t[0]],a,i=n.length;r0)||!((i=(a=e[t[0]]).length)>0))){for(var r=0,n=1,a,i,o;n"radius"in e&&"startAngle"in e&&"endAngle"in e,Vs=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if((0,cE.isValidElement)(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(a=>{nd(a)&&typeof r[a]=="function"&&(n[a]=t||(i=>r[a](r,i)))}),n},Oz=(e,t,r)=>n=>(e(t,r,n),null),dE=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(a=>{var i=e[a];nd(a)&&typeof i=="function"&&(n||(n={}),n[a]=Oz(i,t,r))}),n};function fE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function kz(e){for(var t=1;t(o[l]===void 0&&n[l]!==void 0&&(o[l]=n[l]),o),r);return i}function pE(e,t){let r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function ri(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var Im="[object RegExp]",Fs="[object String]",Ys="[object Number]",qs="[object Boolean]",zm="[object Arguments]",Lm="[object Symbol]",Bm="[object Date]",Um="[object Map]",$m="[object Set]",Hm="[object Array]",gE="[object Function]",Vm="[object ArrayBuffer]",Ws="[object Object]",yE="[object Error]",Fm="[object DataView]",Ym="[object Uint8Array]",qm="[object Uint8ClampedArray]",Wm="[object Uint16Array]",Km="[object Uint32Array]",xE="[object BigUint64Array]",Gm="[object Int8Array]",Xm="[object Int16Array]",Zm="[object Int32Array]",bE="[object BigInt64Array]",Qm="[object Float32Array]",Jm="[object Float64Array]";var Lb=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function sd(e){return typeof Lb.Buffer<"u"&&Lb.Buffer.isBuffer(e)}function wE(e,t){return eo(e,void 0,e,new Map,t)}function eo(e,t,r,n=new Map,a=void 0){let i=a?.(e,t,r,n);if(i!==void 0)return i;if(od(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){let o=new Array(e.length);n.set(e,o);for(let l=0;l{}):Bb(e,t,function n(a,i,o,l,s,u){let c=r(a,i,o,l,s,u);return c!==void 0?!!c:Bb(a,i,n,u,!1)},new Map,!0)}function Bb(e,t,r,n,a=!1){if(t===e)return!0;switch(typeof t){case"object":return jz(e,t,r,n);case"function":return Object.keys(t).length>0?Bb(e,{...t},r,n,a):to(e,t);default:return Rm(e)?a?typeof t=="string"?t==="":!0:to(e,t):to(e,t)}}function jz(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return AE(e,t,r,n);if(t instanceof Map)return Iz(e,t,r,n);if(t instanceof Set)return zz(e,t,r,n);let a=Object.keys(t);if(e==null||od(e))return a.length===0;if(a.length===0)return!0;if(n?.has(t))return n.get(t)===e;n?.set(t,e);try{for(let i=0;i{})}function NE(e){return e=SE(e),t=>ev(t,e)}function CE(e,t){return wE(e,(r,n,a,i)=>{let o=t?.(r,n,a,i);if(o!==void 0)return o;if(typeof e=="object"){if(ri(e)==="[object Object]"&&typeof e.constructor!="function"){let l={};return i.set(e,l),Ln(l,e,a,i),l}switch(Object.prototype.toString.call(e)){case Ys:case Fs:case qs:{let l=new e.constructor(e?.valueOf());return Ln(l,e),l}case zm:{let l={};return Ln(l,e),l.length=e.length,l[Symbol.iterator]=e[Symbol.iterator],l}default:return}}})}function _E(e){return CE(e)}var Lz=/^(?:0|[1-9]\d*)$/;function tv(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function rv(e){return e!=null&&typeof e!="function"&&ME(e.length)}function DE(e){return typeof e=="object"&&e!==null}function PE(e){return DE(e)&&rv(e)}function nv(e,t=jm){return PE(e)?pE(Array.from(e),mE(TE(t),1)):[]}function jE(e,t,r){return t===!0?nv(e,r):typeof t=="function"?nv(e,t):e}var YE=J(VE()),cd=J(R());var FE=J(R()),ud=(0,FE.createContext)(null);var t9=e=>e,Le=()=>{var e=(0,cd.useContext)(ud);return e?e.store.dispatch:t9},iv=()=>{},r9=()=>iv,n9=(e,t)=>e===t;function ye(e){var t=(0,cd.useContext)(ud),r=(0,cd.useMemo)(()=>t?n=>{if(n!=null)return e(n)}:iv,[t,e]);return(0,YE.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:r9,t?t.store.getState:iv,t?t.store.getState:iv,r,n9)}function a9(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function i9(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 qE=e=>Array.isArray(e)?e:[e];function o9(e){let t=Array.isArray(e[0])?e[0]:e;return i9(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function l9(e,t){let r=[],{length:n}=e;for(let a=0;atypeof WeakRef>"u"?s9:WeakRef,KE=u9(),c9=0,WE=1;function ov(){return{s:c9,v:void 0,o:null,p:null}}function d9(e){return e instanceof KE?e.deref():e}function GE(e,t={}){let r=ov(),{resultEqualityCheck:n}=t,a,i=0;function o(){let l=r,{length:s}=arguments;for(let d=0,f=s;d{r=ov(),o.resetResultsCount()},o.resultsCount=()=>i,o.resetResultsCount=()=>{i=0},o}function f9(e,...t){let r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...a)=>{let i=0,o=0,l,s={},u=a.pop();typeof u=="object"&&(s=u,u=a.pop()),a9(u,`createSelector expects an output function after the inputs, but received: [${typeof u}]`);let c={...r,...s},{memoize:d,memoizeOptions:f=[],argsMemoize:p=GE,argsMemoizeOptions:v=[]}=c,g=qE(f),b=qE(v),m=o9(a),h=d(function(){return i++,u.apply(null,arguments)},...g),x=!0,w=p(function(){o++;let C=l9(m,arguments);return l=h.apply(null,C),l},...b);return Object.assign(w,{resultFunc:u,memoizedResultFunc:h,dependencies:m,dependencyRecomputations:()=>o,resetDependencyRecomputations:()=>{o=0},lastResult:()=>l,recomputations:()=>i,resetRecomputations:()=>{i=0},memoize:d,argsMemoize:p})};return Object.assign(n,{withTypes:()=>n}),n}var W=f9(GE);function XE(e,t=1){let r=[],n=Math.floor(t),a=(i,o)=>{for(let l=0;l{if(e!==t){let n=ZE(e),a=ZE(t);if(n===a&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?a-n:n-a}return 0};function lv(e){return typeof e=="symbol"||e instanceof Symbol}var p9=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,m9=/^\w*$/;function JE(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||lv(e)?!0:typeof e=="string"&&(m9.test(e)||!p9.test(e))||t!=null&&Object.hasOwn(t,e)}function RE(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 a=(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]:a(s,l.path):typeof l=="function"?l(s):Array.isArray(l)?a(s,l):typeof s=="object"?s[l]:s,o=t.map(l=>(Array.isArray(l)&&l.length===1&&(l=l[0]),l==null||typeof l=="function"||Array.isArray(l)||JE(l)?l:{key:l,path:Is(l)}));return e.map(l=>({original:l,criteria:o.map(s=>i(s,l))})).slice().sort((l,s)=>{for(let u=0;ul.original)}function ni(e,...t){let r=t.length;return r>1&&dd(e,t[0],t[1])?t=[]:r>2&&dd(t[0],t[1],t[2])&&(t=[t[0]]),RE(e,XE(t),["asc"])}var Hb=e=>e.legend.settings,eO=e=>e.legend.size,v9=e=>e.legend.payload,Pte=W([v9,Hb],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?ni(n,r):n});var ai=J(R());function h9(e,t){return b9(e)||x9(e,t)||y9(e,t)||g9()}function g9(){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 y9(e,t){if(e){if(typeof e=="string")return tO(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)?tO(e,t):void 0}}function tO(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rsv||Math.abs(e.left-t.left)>sv||Math.abs(e.top-t.top)>sv||Math.abs(e.width-t.width)>sv}function nO(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function aO(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=(0,ai.useState)({height:0,left:0,top:0,width:0}),r=h9(t,2),n=r[0],a=r[1],i=(0,ai.useRef)(null),o=(0,ai.useRef)(n);o.current=n;var l=(0,ai.useCallback)(s=>{if(i.current!=null&&(i.current.disconnect(),i.current=null),s!=null){var u=nO(s);if(rO(u,o.current)&&a(u),typeof ResizeObserver<"u"){var c=new ResizeObserver(()=>{var d=nO(s);rO(d,o.current)&&a(d)});c.observe(s),i.current=c}}},[...e]);return(0,ai.useEffect)(()=>()=>{var s;(s=i.current)===null||s===void 0||s.disconnect()},[]),[n,l]}var Sk=J(R());function gr(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 w9=typeof Symbol=="function"&&Symbol.observable||"@@observable",iO=w9,Vb=()=>Math.random().toString(36).substring(7).split("").join("."),S9={INIT:`@@redux/INIT${Vb()}`,REPLACE:`@@redux/REPLACE${Vb()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Vb()}`},uv=S9;function cv(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 Fb(e,t,r){if(typeof e!="function")throw new Error(gr(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(gr(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(gr(1));return r(Fb)(e,t)}let n=e,a=t,i=new Map,o=i,l=0,s=!1;function u(){o===i&&(o=new Map,i.forEach((b,m)=>{o.set(m,b)}))}function c(){if(s)throw new Error(gr(3));return a}function d(b){if(typeof b!="function")throw new Error(gr(4));if(s)throw new Error(gr(5));let m=!0;u();let h=l++;return o.set(h,b),function(){if(m){if(s)throw new Error(gr(6));m=!1,u(),o.delete(h),i=null}}}function f(b){if(!cv(b))throw new Error(gr(7));if(typeof b.type>"u")throw new Error(gr(8));if(typeof b.type!="string")throw new Error(gr(17));if(s)throw new Error(gr(9));try{s=!0,a=n(a,b)}finally{s=!1}return(i=o).forEach(h=>{h()}),b}function p(b){if(typeof b!="function")throw new Error(gr(10));n=b,f({type:uv.REPLACE})}function v(){let b=d;return{subscribe(m){if(typeof m!="object"||m===null)throw new Error(gr(11));function h(){let w=m;w.next&&w.next(c())}return h(),{unsubscribe:b(h)}},[iO](){return this}}}return f({type:uv.INIT}),{dispatch:f,subscribe:d,getState:c,replaceReducer:p,[iO]:v}}function A9(e){Object.keys(e).forEach(t=>{let r=e[t];if(typeof r(void 0,{type:uv.INIT})>"u")throw new Error(gr(12));if(typeof r(void 0,{type:uv.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(gr(13))})}function dv(e){let t=Object.keys(e),r={};for(let o=0;o"u"){let b=s&&s.type;throw new Error(gr(14))}c[f]=g,u=u||g!==v}return u=u||n.length!==Object.keys(l).length,u?c:l}}function fd(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function oO(...e){return t=>(r,n)=>{let a=t(r,n),i=()=>{throw new Error(gr(15))},o={getState:a.getState,dispatch:(s,...u)=>i(s,...u)},l=e.map(s=>s(o));return i=fd(...l)(a.dispatch),{...a,dispatch:i}}}function Yb(e){return cv(e)&&"type"in e&&typeof e.type=="string"}var vO=Symbol.for("immer-nothing"),lO=Symbol.for("immer-draftable"),Nr=Symbol.for("immer-state");function ta(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var vn=Object,Xs=vn.getPrototypeOf,vv="constructor",wv="prototype",Gb="configurable",hv="enumerable",pv="writable",pd="value",xa=e=>!!e&&!!e[Nr];function hn(e){return e?hO(e)||Av(e)||!!e[lO]||!!e[vv]?.[lO]||Nv(e)||Cv(e):!1}var N9=vn[wv][vv].toString(),sO=new WeakMap;function hO(e){if(!e||!r1(e))return!1;let t=Xs(e);if(t===null||t===vn[wv])return!0;let r=vn.hasOwnProperty.call(t,vv)&&t[vv];if(r===Object)return!0;if(!Gs(r))return!1;let n=sO.get(r);return n===void 0&&(n=Function.toString.call(r),sO.set(r,n)),n===N9}function Sv(e,t,r=!0){hd(e)===0?(r?Reflect.ownKeys(e):vn.keys(e)).forEach(a=>{t(a,e[a],e)}):e.forEach((n,a)=>t(a,n,e))}function hd(e){let t=e[Nr];return t?t.type_:Av(e)?1:Nv(e)?2:Cv(e)?3:0}var qb=(e,t,r=hd(e))=>r===2?e.has(t):vn[wv].hasOwnProperty.call(e,t),Xb=(e,t,r=hd(e))=>r===2?e.get(t):e[t],gv=(e,t,r,n=hd(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function C9(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var Av=Array.isArray,Nv=e=>e instanceof Map,Cv=e=>e instanceof Set,r1=e=>typeof e=="object",Gs=e=>typeof e=="function",Wb=e=>typeof e=="boolean";function _9(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var ii=e=>e.copy_||e.base_;var n1=e=>e.modified_?e.copy_:e.base_;function Zb(e,t){if(Nv(e))return new Map(e);if(Cv(e))return new Set(e);if(Av(e))return Array[wv].slice.call(e);let r=hO(e);if(t===!0||t==="class_only"&&!r){let n=vn.getOwnPropertyDescriptors(e);delete n[Nr];let a=Reflect.ownKeys(n);for(let i=0;i1&&vn.defineProperties(e,{set:fv,add:fv,clear:fv,delete:fv}),vn.freeze(e),t&&Sv(e,(r,n)=>{a1(n,!0)},!1)),e}function E9(){ta(2)}var fv={[pd]:E9};function _v(e){return e===null||!r1(e)?!0:vn.isFrozen(e)}var yv="MapSet",Qb="Patches",uO="ArrayMethods",gO={};function qo(e){let t=gO[e];return t||ta(0,e),t}var cO=e=>!!gO[e];var md,yO=()=>md,O9=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:cO(yv)?qo(yv):void 0,arrayMethodsPlugin_:cO(uO)?qo(uO):void 0});function dO(e,t){t&&(e.patchPlugin_=qo(Qb),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Jb(e){Rb(e),e.drafts_.forEach(k9),e.drafts_=null}function Rb(e){e===md&&(md=e.parent_)}var fO=e=>md=O9(md,e);function k9(e){let t=e[Nr];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function pO(e,t){t.unfinalizedDrafts_=t.drafts_.length;let r=t.drafts_[0];if(e!==void 0&&e!==r){r[Nr].modified_&&(Jb(t),ta(4)),hn(e)&&(e=mO(t,e));let{patchPlugin_:a}=t;a&&a.generateReplacementPatches_(r[Nr].base_,e,t)}else e=mO(t,r);return T9(t,e,!0),Jb(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==vO?e:void 0}function mO(e,t){if(_v(t))return t;let r=t[Nr];if(!r)return xv(t,e.handledSet_,e);if(!Ev(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);wO(r,e)}return r.copy_}function T9(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&a1(t,r)}function xO(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Ev=(e,t)=>e.scope_===t,M9=[];function bO(e,t,r,n){let a=ii(e),i=e.type_;if(n!==void 0&&Xb(a,n,i)===t){gv(a,n,r,i);return}if(!e.draftLocations_){let l=e.draftLocations_=new Map;Sv(a,(s,u)=>{if(xa(u)){let c=l.get(u)||[];c.push(s),l.set(u,c)}})}let o=e.draftLocations_.get(t)??M9;for(let l of o)gv(a,l,r,i)}function D9(e,t,r){e.callbacks_.push(function(a){let i=t;if(!i||!Ev(i,a))return;a.mapSetPlugin_?.fixSetContents(i);let o=n1(i);bO(e,i.draft_??i,o,r),wO(i,a)})}function wO(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 a=n.getPath(e);a&&n.generatePatches_(e,a,t)}xO(e)}}function P9(e,t,r){let{scope_:n}=e;if(xa(r)){let a=r[Nr];Ev(a,n)&&a.callbacks_.push(function(){mv(e);let o=n1(a);bO(e,r,o,t)})}else hn(r)&&e.callbacks_.push(function(){let i=ii(e);e.type_===3?i.has(r)&&xv(r,n.handledSet_,n):Xb(i,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&xv(Xb(e.copy_,t,e.type_),n.handledSet_,n)})}function xv(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||xa(e)||t.has(e)||!hn(e)||_v(e)||(t.add(e),Sv(e,(n,a)=>{if(xa(a)){let i=a[Nr];if(Ev(i,r)){let o=n1(i);gv(e,n,o,e.type_),xO(i)}}else hn(a)&&xv(a,t,r)})),e}function j9(e,t){let r=Av(e),n={type_:r?1:0,scope_:t?t.scope_:yO(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},a=n,i=bv;r&&(a=[n],i=vd);let{revoke:o,proxy:l}=Proxy.revocable(a,i);return n.draft_=l,n.revoke_=o,[l,n]}var bv={get(e,t){if(t===Nr)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 a=ii(e);if(!qb(a,t,e.type_))return z9(e,a,t);let i=a[t];if(e.finalized_||!hn(i)||n&&e.operationMethod&&r?.isMutatingArrayMethod(e.operationMethod)&&_9(t))return i;if(i===Kb(e.base_,t)||I9(e,t,i)){mv(e);let o=e.type_===1?+t:t,l=t1(e.scope_,i,e,o);return e.copy_[o]=l}return i},has(e,t){return t in ii(e)},ownKeys(e){return Reflect.ownKeys(ii(e))},set(e,t,r){let n=SO(ii(e),t);if(n?.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){let a=Kb(ii(e),t),i=a?.[Nr];if(i&&i.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(C9(r,a)&&(r!==void 0||qb(e.base_,t,e.type_)))return!0;mv(e),e1(e)}return e.copy_[t]===r&&(r!==void 0||qb(e.copy_,t,e.type_))||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),P9(e,t,r)),!0},deleteProperty(e,t){return mv(e),Kb(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),e1(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let r=ii(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[pv]:!0,[Gb]:e.type_!==1||t!=="length",[hv]:n[hv],[pd]:r[t]}},defineProperty(){ta(11)},getPrototypeOf(e){return Xs(e.base_)},setPrototypeOf(){ta(12)}},vd={};for(let e in bv){let t=bv[e];vd[e]=function(){let r=arguments;return r[0]=r[0][0],t.apply(this,r)}}vd.deleteProperty=function(e,t){return vd.set.call(this,e,t,void 0)};vd.set=function(e,t,r){return bv.set.call(this,e[0],t,r,e[0])};function Kb(e,t){let r=e[Nr];return(r?ii(r):e)[t]}function I9(e,t,r){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!hn(r)||r[Nr]?!1:e.baseRefs_.has(r)}function z9(e,t,r){let n=SO(t,r);return n?pd in n?n[pd]:n.get?.call(e.draft_):void 0}function SO(e,t){if(!(t in e))return;let r=Xs(e);for(;r;){let n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Xs(r)}}function e1(e){e.modified_||(e.modified_=!0,e.parent_&&e1(e.parent_))}function mv(e){e.copy_||(e.assigned_=new Map,e.copy_=Zb(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var L9=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(t,r,n)=>{if(Gs(t)&&!Gs(r)){let i=r;r=t;let o=this;return function(s=i,...u){return o.produce(s,c=>r.call(this,c,...u))}}Gs(r)||ta(6),n!==void 0&&!Gs(n)&&ta(7);let a;if(hn(t)){let i=fO(this),o=t1(i,t,void 0),l=!0;try{a=r(o),l=!1}finally{l?Jb(i):Rb(i)}return dO(i,n),pO(a,i)}else if(!t||!r1(t)){if(a=r(t),a===void 0&&(a=t),a===vO&&(a=void 0),this.autoFreeze_&&a1(a,!0),n){let i=[],o=[];qo(Qb).generateReplacementPatches_(t,a,{patches_:i,inversePatches_:o}),n(i,o)}return a}else ta(1,t)},this.produceWithPatches=(t,r)=>{if(Gs(t))return(o,...l)=>this.produceWithPatches(o,s=>t(s,...l));let n,a;return[this.produce(t,r,(o,l)=>{n=o,a=l}),n,a]},Wb(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Wb(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Wb(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){hn(e)||ta(8),xa(e)&&(e=yr(e));let t=fO(this),r=t1(t,e,void 0);return r[Nr].isManual_=!0,Rb(t),r}finishDraft(e,t){let r=e&&e[Nr];(!r||!r.isManual_)&&ta(9);let{scope_:n}=r;return dO(n,t),pO(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 a=t[r];if(a.path.length===0&&a.op==="replace"){e=a.value;break}}r>-1&&(t=t.slice(r+1));let n=qo(Qb).applyPatches_;return xa(e)?n(e,t):this.produce(e,a=>n(a,t))}};function t1(e,t,r,n){let[a,i]=Nv(t)?qo(yv).proxyMap_(t,r):Cv(t)?qo(yv).proxySet_(t,r):j9(t,r);return(r?.scope_??yO()).drafts_.push(a),i.callbacks_=r?.callbacks_??[],i.key_=n,r&&n!==void 0?D9(r,i,n):i.callbacks_.push(function(s){s.mapSetPlugin_?.fixSetContents(i);let{patchPlugin_:u}=s;i.modified_&&u&&u.generatePatches_(i,[],s)}),a}function yr(e){return xa(e)||ta(10,e),AO(e)}function AO(e){if(!hn(e)||_v(e))return e;let t=e[Nr],r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Zb(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Zb(e,!0);return Sv(r,(a,i)=>{gv(r,a,AO(i))},n),t&&(t.finalized_=!1),r}var B9=new L9,i1=B9.produce;var je=e=>e;function NO(e){return({dispatch:r,getState:n})=>a=>i=>typeof i=="function"?i(r,n,e):a(i)}var CO=NO(),_O=NO;var U9=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?fd:fd.apply(null,arguments)},Fte=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__?window.__REDUX_DEVTOOLS_EXTENSION__:function(){return function(e){return e}},$9=e=>e&&typeof e.match=="function";function Xt(e,t){function r(...n){if(t){let a=t(...n);if(!a)throw new Error(gn(0));return{type:e,payload:a.payload,..."meta"in a&&{meta:a.meta},..."error"in a&&{error:a.error}}}return{type:e,payload:n[0]}}return r.toString=()=>`${e}`,r.type=e,r.match=n=>Yb(n)&&n.type===e,r}var jO=class gd extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,gd.prototype)}static get[Symbol.species](){return gd}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new gd(...t[0].concat(this)):new gd(...t.concat(this))}};function EO(e){return hn(e)?i1(e,()=>{}):e}function Ov(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function H9(e){return typeof e=="boolean"}var V9=()=>function(t){let{thunk:r=!0,immutableCheck:n=!0,serializableCheck:a=!0,actionCreatorCheck:i=!0}=t??{},o=new jO;return r&&(H9(r)?o.push(CO):o.push(_O(r.extraArgument))),o},IO="RTK_autoBatch",Re=()=>e=>({payload:e,meta:{[IO]:!0}}),OO=e=>t=>{setTimeout(t,e)},F9=(e,t)=>r=>{let n=!1,a=()=>{n||(n=!0,cancelAnimationFrame(i),clearTimeout(o),r())},i=e(a),o=setTimeout(a,t)},u1=(e={type:"raf"})=>t=>(...r)=>{let n=t(...r),a=!0,i=!1,o=!1,l=new Set,s=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?F9(window.requestAnimationFrame,100):OO(10):e.type==="callback"?e.queueNotification:OO(e.timeout),u=()=>{o=!1,i&&(i=!1,l.forEach(c=>c()))};return Object.assign({},n,{subscribe(c){let d=()=>a&&c(),f=n.subscribe(d);return l.add(c),()=>{f(),l.delete(c)}},dispatch(c){try{return a=!c?.meta?.[IO],i=!a,i&&(o||(o=!0,s(u))),n.dispatch(c)}finally{a=!0}}})},Y9=e=>function(r){let{autoBatch:n=!0}=r??{},a=new jO(e);return n&&a.push(u1(typeof n=="object"?n:void 0)),a};function zO(e){let t=V9(),{reducer:r=void 0,middleware:n,devTools:a=!0,duplicateMiddlewareCheck:i=!0,preloadedState:o=void 0,enhancers:l=void 0}=e||{},s;if(typeof r=="function")s=r;else if(cv(r))s=dv(r);else throw new Error(gn(1));let u;typeof n=="function"?u=n(t):u=t();let c=fd;a&&(c=U9({trace:!1,...typeof a=="object"&&a}));let d=oO(...u),f=Y9(d),p=typeof l=="function"?l(f):f(),v=c(...p);return Fb(s,o,v)}function LO(e){let t={},r=[],n,a={addCase(i,o){let l=typeof i=="string"?i:i.type;if(!l)throw new Error(gn(28));if(l in t)throw new Error(gn(29));return t[l]=o,a},addAsyncThunk(i,o){return o.pending&&(t[i.pending.type]=o.pending),o.rejected&&(t[i.rejected.type]=o.rejected),o.fulfilled&&(t[i.fulfilled.type]=o.fulfilled),o.settled&&r.push({matcher:i.settled,reducer:o.settled}),a},addMatcher(i,o){return r.push({matcher:i,reducer:o}),a},addDefaultCase(i){return n=i,a}};return e(a),[t,r,n]}function q9(e){return typeof e=="function"}function W9(e,t){let[r,n,a]=LO(t),i;if(q9(e))i=()=>EO(e());else{let l=EO(e);i=()=>l}function o(l=i(),s){let u=[r[s.type],...n.filter(({matcher:c})=>c(s)).map(({reducer:c})=>c)];return u.filter(c=>!!c).length===0&&(u=[a]),u.reduce((c,d)=>{if(d)if(xa(c)){let p=d(c,s);return p===void 0?c:p}else{if(hn(c))return i1(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 o.getInitialState=i,o}var K9=(e,t)=>$9(e)?e.match(t):e(t);function G9(...e){return t=>e.some(r=>K9(r,t))}var X9="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",BO=(e=21)=>{let t="",r=e;for(;r--;)t+=X9[Math.random()*64|0];return t},Z9=["name","message","stack","code"],o1=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},kO=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},Q9=e=>{if(typeof e=="object"&&e!==null){let t={};for(let r of Z9)typeof e[r]=="string"&&(t[r]=e[r]);return t}return{message:String(e)}},TO="External signal was aborted",J9=(()=>{function e(t,r,n){let a=Xt(t+"/fulfilled",(s,u,c,d)=>({payload:s,meta:{...d||{},arg:c,requestId:u,requestStatus:"fulfilled"}})),i=Xt(t+"/pending",(s,u,c)=>({payload:void 0,meta:{...c||{},arg:u,requestId:s,requestStatus:"pending"}})),o=Xt(t+"/rejected",(s,u,c,d,f)=>({payload:d,error:(n&&n.serializeError||Q9)(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):BO(),v=new AbortController,g,b;function m(x){b=x,v.abort()}u&&(u.aborted?m(TO):u.addEventListener("abort",()=>m(TO),{once:!0}));let h=(async function(){let x;try{let E=n?.condition?.(s,{getState:d,extra:f});if(eL(E)&&(E=await E),E===!1||v.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};let C=new Promise((T,_)=>{g=()=>{_({name:"AbortError",message:b||"Aborted"})},v.signal.addEventListener("abort",g,{once:!0})});c(i(p,s,n?.getPendingMeta?.({requestId:p,arg:s},{getState:d,extra:f}))),x=await Promise.race([C,Promise.resolve(r(s,{dispatch:c,getState:d,extra:f,requestId:p,signal:v.signal,abort:m,rejectWithValue:((T,_)=>new o1(T,_)),fulfillWithValue:((T,_)=>new kO(T,_))})).then(T=>{if(T instanceof o1)throw T;return T instanceof kO?a(T.payload,p,s,T.meta):a(T,p,s)})])}catch(E){x=E instanceof o1?o(null,p,s,E.payload,E.meta):o(E,p,s)}finally{g&&v.signal.removeEventListener("abort",g)}return n&&!n.dispatchConditionRejection&&o.match(x)&&x.meta.condition||c(x),x})();return Object.assign(h,{abort:m,requestId:p,arg:s,unwrap(){return h.then(R9)}})}}return Object.assign(l,{pending:i,rejected:o,fulfilled:a,settled:G9(o,a),typePrefix:t})}return e.withTypes=()=>e,e})();function R9(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}function eL(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}var UO=Symbol.for("rtk-slice-createasyncthunk"),qte={[UO]:J9};function tL(e,t){return`${e}/${t}`}function rL({creators:e}={}){let t=e?.asyncThunk?.[UO];return function(n){let{name:a,reducerPath:i=a}=n;if(!a)throw new Error(gn(11));typeof process<"u";let o=(typeof n.reducers=="function"?n.reducers(aL()):n.reducers)||{},l=Object.keys(o),s={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},u={addCase(x,w){let E=typeof x=="string"?x:x.type;if(!E)throw new Error(gn(12));if(E in s.sliceCaseReducersByType)throw new Error(gn(13));return s.sliceCaseReducersByType[E]=w,u},addMatcher(x,w){return s.sliceMatchers.push({matcher:x,reducer:w}),u},exposeAction(x,w){return s.actionCreators[x]=w,u},exposeCaseReducer(x,w){return s.sliceCaseReducersByName[x]=w,u}};l.forEach(x=>{let w=o[x],E={reducerName:x,type:tL(a,x),createNotation:typeof n.reducers=="function"};oL(w)?sL(E,w,u,t):iL(E,w,u)});function c(){let[x={},w=[],E=void 0]=typeof n.extraReducers=="function"?LO(n.extraReducers):[n.extraReducers],C={...x,...s.sliceCaseReducersByType};return W9(n.initialState,T=>{for(let _ in C)T.addCase(_,C[_]);for(let _ of s.sliceMatchers)T.addMatcher(_.matcher,_.reducer);for(let _ of w)T.addMatcher(_.matcher,_.reducer);E&&T.addDefaultCase(E)})}let d=x=>x,f=new Map,p=new WeakMap,v;function g(x,w){return v||(v=c()),v(x,w)}function b(){return v||(v=c()),v.getInitialState()}function m(x,w=!1){function E(T){let _=T[x];return typeof _>"u"&&w&&(_=Ov(p,E,b)),_}function C(T=d){let _=Ov(f,w,()=>new WeakMap);return Ov(_,T,()=>{let I={};for(let[z,B]of Object.entries(n.selectors??{}))I[z]=nL(B,T,()=>Ov(p,T,b),w);return I})}return{reducerPath:x,getSelectors:C,get selectors(){return C(E)},selectSlice:E}}let h={name:a,reducer:g,actions:s.actionCreators,caseReducers:s.sliceCaseReducersByName,getInitialState:b,...m(i),injectInto(x,{reducerPath:w,...E}={}){let C=w??i;return x.inject({reducerPath:C,reducer:g},E),{...h,...m(C,!0)}}};return h}}function nL(e,t,r,n){function a(i,...o){let l=t(i);return typeof l>"u"&&n&&(l=r()),e(l,...o)}return a.unwrapped=e,a}var Ke=rL();function aL(){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 iL({type:e,reducerName:t,createNotation:r},n,a){let i,o;if("reducer"in n){if(r&&!lL(n))throw new Error(gn(17));i=n.reducer,o=n.prepare}else i=n;a.addCase(e,i).exposeCaseReducer(t,i).exposeAction(t,o?Xt(e,o):Xt(e))}function oL(e){return e._reducerDefinitionType==="asyncThunk"}function lL(e){return e._reducerDefinitionType==="reducerWithPrepare"}function sL({type:e,reducerName:t},r,n,a){if(!a)throw new Error(gn(18));let{payloadCreator:i,fulfilled:o,pending:l,rejected:s,settled:u,options:c}=r,d=a(e,i,c);n.exposeAction(t,d),o&&n.addCase(d.fulfilled,o),l&&n.addCase(d.pending,l),s&&n.addCase(d.rejected,s),u&&n.addMatcher(d.settled,u),n.exposeCaseReducer(t,{fulfilled:o||kv,pending:l||kv,rejected:s||kv,settled:u||kv})}function kv(){}var uL="task",$O="listener",HO="completed",c1="cancelled",cL=`task-${c1}`,dL=`task-${HO}`,l1=`${$O}-${c1}`,fL=`${$O}-${HO}`,Dv=class{constructor(e){this.code=e,this.message=`${uL} ${c1} (reason: ${e})`}code;name="TaskAbortError";message},d1=(e,t)=>{if(typeof e!="function")throw new TypeError(gn(32))},Tv=()=>{},VO=(e,t=Tv)=>(e.catch(t),e),FO=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),Wo=e=>{if(e.aborted)throw new Dv(e.reason)};function YO(e,t){let r=Tv;return new Promise((n,a)=>{let i=()=>a(new Dv(e.reason));if(e.aborted){i();return}r=FO(e,i),t.finally(()=>r()).then(n,a)}).finally(()=>{r=Tv})}var pL=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof Dv?"cancelled":"rejected",error:r}}finally{t?.()}},Mv=e=>t=>VO(YO(e,t).then(r=>(Wo(e),r))),qO=e=>{let t=Mv(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:Zs}=Object,MO={},Pv="listenerMiddleware",mL=(e,t)=>{let r=n=>FO(e,()=>n.abort(e.reason));return(n,a)=>{d1(n,"taskExecutor");let i=new AbortController;r(i);let o=pL(async()=>{Wo(e),Wo(i.signal);let l=await n({pause:Mv(i.signal),delay:qO(i.signal),signal:i.signal});return Wo(i.signal),l},()=>i.abort(dL));return a?.autoJoin&&t.push(o.catch(Tv)),{result:Mv(e)(o),cancel(){i.abort(cL)}}}},vL=(e,t)=>{let r=async(n,a)=>{Wo(t);let i=()=>{},l=[new Promise((s,u)=>{let c=e({predicate:n,effect:(d,f)=>{f.unsubscribe(),s([d,f.getState(),f.getOriginalState()])}});i=()=>{c(),u()}})];a!=null&&l.push(new Promise(s=>setTimeout(s,a,null)));try{let s=await YO(t,Promise.race(l));return Wo(t),s}finally{i()}};return((n,a)=>VO(r(n,a)))},WO=e=>{let{type:t,actionCreator:r,matcher:n,predicate:a,effect:i}=e;if(t)a=Xt(t).match;else if(r)t=r.type,a=r.match;else if(n)a=n;else if(!a)throw new Error(gn(21));return d1(i,"options.listener"),{predicate:a,type:t,effect:i}},KO=Zs(e=>{let{type:t,predicate:r,effect:n}=WO(e);return{id:BO(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(gn(22))}}},{withTypes:()=>KO}),DO=(e,t)=>{let{type:r,effect:n,predicate:a}=WO(t);return Array.from(e.values()).find(i=>(typeof r=="string"?i.type===r:i.predicate===a)&&i.effect===n)},s1=e=>{e.pending.forEach(t=>{t.abort(l1)})},hL=(e,t)=>()=>{for(let r of t.keys())s1(r);e.clear()},PO=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},GO=Zs(Xt(`${Pv}/add`),{withTypes:()=>GO}),gL=Xt(`${Pv}/removeAll`),XO=Zs(Xt(`${Pv}/remove`),{withTypes:()=>XO}),yL=(...e)=>{console.error(`${Pv}/error`,...e)},oi=(e={})=>{let t=new Map,r=new Map,n=p=>{let v=r.get(p)??0;r.set(p,v+1)},a=p=>{let v=r.get(p)??1;v===1?r.delete(p):r.set(p,v-1)},{extra:i,onError:o=yL}=e;d1(o,"onError");let l=p=>(p.unsubscribe=()=>t.delete(p.id),t.set(p.id,p),v=>{p.unsubscribe(),v?.cancelActive&&s1(p)}),s=(p=>{let v=DO(t,p)??KO(p);return l(v)});Zs(s,{withTypes:()=>s});let u=p=>{let v=DO(t,p);return v&&(v.unsubscribe(),p.cancelActive&&s1(v)),!!v};Zs(u,{withTypes:()=>u});let c=async(p,v,g,b)=>{let m=new AbortController,h=vL(s,m.signal),x=[];try{p.pending.add(m),n(p),await Promise.resolve(p.effect(v,Zs({},g,{getOriginalState:b,condition:(w,E)=>h(w,E).then(Boolean),take:h,delay:qO(m.signal),pause:Mv(m.signal),extra:i,signal:m.signal,fork:mL(m.signal,x),unsubscribe:p.unsubscribe,subscribe:()=>{t.set(p.id,p)},cancelActiveListeners:()=>{p.pending.forEach((w,E,C)=>{w!==m&&(w.abort(l1),C.delete(w))})},cancel:()=>{m.abort(l1),p.pending.delete(m)},throwIfCancelled:()=>{Wo(m.signal)}})))}catch(w){w instanceof Dv||PO(o,w,{raisedBy:"effect"})}finally{await Promise.all(x),m.abort(fL),a(p),p.pending.delete(m)}},d=hL(t,r);return{middleware:p=>v=>g=>{if(!Yb(g))return v(g);if(GO.match(g))return s(g.payload);if(gL.match(g)){d();return}if(XO.match(g))return u(g.payload);let b=p.getState(),m=()=>{if(b===MO)throw new Error(gn(23));return b},h;try{if(h=v(g),t.size>0){let x=p.getState(),w=Array.from(t.values());for(let E of w){let C=!1;try{C=E.predicate(g,x,b)}catch(T){C=!1,PO(o,T,{raisedBy:"predicate"})}C&&c(E,g,p,m)}}}finally{b=MO}return h},startListening:s,stopListening:u,clearListeners:d}};function gn(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 xL={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},ZO=Ke({name:"chartLayout",initialState:xL,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,a,i;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=(a=t.payload.bottom)!==null&&a!==void 0?a:0,e.margin.left=(i=t.payload.left)!==null&&i!==void 0?i:0},setScale(e,t){e.scale=t.payload}}}),jv=ZO.actions,f1=jv.setMargin,QO=jv.setLayout,JO=jv.setChartSize,RO=jv.setScale;var ek=ZO.reducer;function Iv(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function ke(e){return Number.isFinite(e)}function Xr(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function tk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Zr(e){for(var t=1;t{if(t&&r){var n=r.width,a=r.height,i=t.align,o=t.verticalAlign,l=t.layout,s=t.position,u=t.offset,c=u===void 0?0:u;if(s!=null){if(G_(s)){if(s==="top"&&me(e.top))return Zr(Zr({},e),{},{top:e.top+(a||0)+c});if(s==="bottom"&&me(e.bottom))return Zr(Zr({},e),{},{bottom:e.bottom+(a||0)+c});if(s==="left"&&me(e.left))return Zr(Zr({},e),{},{left:e.left+(n||0)+c});if(s==="right"&&me(e.right))return Zr(Zr({},e),{},{right:e.right+(n||0)+c})}return e}if((l==="vertical"||l==="horizontal"&&o==="middle")&&i!=="center"&&me(e[i]))return Zr(Zr({},e),{},{[i]:e[i]+(n||0)});if((l==="horizontal"||l==="vertical"&&i==="center")&&o!=="middle"&&me(e[o]))return Zr(Zr({},e),{},{[o]:e[o]+(a||0)})}return e},Qr=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",p1=(e,t,r,n)=>{if(n)return e.map(l=>l.coordinate);var a,i,o=e.map(l=>(l.coordinate===t&&(a=!0),l.coordinate===r&&(i=!0),l.coordinate));return a||o.push(t),i||o.push(r),o},m1=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,a=e.type,i=e.range,o=e.scale,l=e.realScaleType,s=e.isCategorical,u=e.categoricalDomain,c=e.tickCount,d=e.ticks,f=e.niceTicks,p=e.axisType;if(!o)return null;var v=l==="scaleBand"&&o.bandwidth?o.bandwidth()/2:2,g=(t||r)&&a==="category"&&o.bandwidth?o.bandwidth()/v:0;if(g=p==="angleAxis"&&i&&i.length>=2?rr(i[0]-i[1])*2*g:g,t&&(d||f)){var b=(d||f||[]).map((m,h)=>{var x=n?n.indexOf(m):m,w=o.map(x);return ke(w)?{coordinate:w+g,value:m,offset:g,index:h}:null}).filter(nr);return b}return s&&u?u.map((m,h)=>{var x=o.map(m);return ke(x)?{coordinate:x+g,value:m,index:h,offset:g}:null}).filter(nr):o.ticks&&!r&&c!=null?o.ticks(c).map((m,h)=>{var x=o.map(m);return ke(x)?{coordinate:x+g,value:m,index:h,offset:g}:null}).filter(nr):o.domain().map((m,h)=>{var x=o.map(m);return ke(x)?{coordinate:x+g,value:n?n[m]:m,index:h,offset:g}:null}).filter(nr)};var AL=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 a=0;a=0?(u[0]=i,i+=f,u[1]=i):(u[0]=o,o+=f,u[1]=o)}}}},NL=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 a=0;a=0?(s[0]=i,i+=u,s[1]=i):(s[0]=0,s[1]=0)}}}},CL={sign:AL,expand:jb,none:mn,silhouette:Ib,wiggle:zb,positive:NL},nk=(e,t,r)=>{var n,a=(n=CL[r])!==null&&n!==void 0?n:mn,i=Pb().keys(t).value((l,s)=>Number(ht(l,s,0))).order(Hs).offset(a),o=i(e);return o.forEach((l,s)=>{l.forEach((u,c)=>{var d=ht(e[c],t[s],0);Array.isArray(d)&&d.length===2&&me(d[0])&&me(d[1])&&(u[0]=d[0],u[1]=d[1])})}),o};function ak(e){return e==null?void 0:String(e)}function v1(e){var t=e.axis,r=e.ticks,n=e.bandSize,a=e.entry,i=e.index,o=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!St(a[t.dataKey])){var l=_m(r,"value",a[t.dataKey]);if(l)return l.coordinate+n/2}return r!=null&&r[i]?r[i].coordinate+n/2:null}var s=ht(a,St(o)?t.dataKey:o),u=t.scale.map(s);return me(u)?u:null}var _L=e=>{var t=e.flat(2).filter(me);return[Math.min(...t),Math.max(...t)]},EL=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],ik=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return EL(Object.keys(e).reduce((n,a)=>{var i=e[a];if(!i)return n;var o=i.stackedData,l=o.reduce((s,u)=>{var c=Iv(u,t,r),d=_L(c);return!ke(d[0])||!ke(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]))},h1=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,g1=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Qs=(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 a=ni(t,g=>g.coordinate),i=[],o=0,l=1,s=a.length;lf&&(p=Math.min(v,p));return p===1/0?0:p}return r?void 0:0};function y1(e){var t=e.tooltipEntrySettings,r=e.dataKey,n=e.payload,a=e.value,i=e.name;return Zr(Zr({},t),{},{dataKey:r,payload:n,value:a,name:i})}function x1(e,t){if(e!=null)return String(e);if(typeof t=="string")return t}var ok=(e,t)=>{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},lk=(e,t)=>t==="centric"?e.angle:e.radius;var Cr=e=>e.layout.width,_r=e=>e.layout.height,sk=e=>e.layout.scale,zv=e=>e.layout.margin;var Js=W(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),Rs=W(e=>e.cartesianAxis.yAxis,e=>Object.values(e));var uk="data-recharts-item-index",ck="data-recharts-item-id",Ko=60,yd=30;function dk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Lv(e){for(var t=1;te.brush.height;function DL(e){var t=Rs(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var a=typeof n.width=="number"?n.width:Ko;return r+a}return r},0)}function PL(e){var t=Rs(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var a=typeof n.width=="number"?n.width:Ko;return r+a}return r},0)}function jL(e){var t=Js(e);return t.reduce((r,n)=>{if(n.orientation==="top"&&!n.mirror&&!n.hide){var a=typeof n.height=="number"?n.height:yd;return r+a}return r},0)}function IL(e){var t=Js(e);return t.reduce((r,n)=>{if(n.orientation==="bottom"&&!n.mirror&&!n.hide){var a=typeof n.height=="number"?n.height:yd;return r+a}return r},0)}var gt=W([Cr,_r,zv,ML,DL,PL,jL,IL,Hb,eO],(e,t,r,n,a,i,o,l,s,u)=>{var c={left:(r.left||0)+a,right:(r.right||0)+i},d={top:(r.top||0)+o,bottom:(r.bottom||0)+l},f=Lv(Lv({},d),c),p=f.bottom;f.bottom+=n,f=rk(f,s,u);var v=e-f.left-f.right,g=t-f.top-f.bottom;return Lv(Lv({brushBottom:p},f),{},{width:Math.max(v,0),height:Math.max(g,0)})}),fk=W(gt,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),Bv=W(Cr,_r,(e,t)=>({x:0,y:0,width:e,height:t}));var zL=J(R()),Uv=J(R()),LL=(0,Uv.createContext)(null),ct=()=>(0,Uv.useContext)(LL)!=null;var eu=e=>e.brush,Go=W([eu,gt,zv],(e,t,r)=>({height:e.height,x:me(e.x)?e.x:t.left,y:me(e.y)?e.y:t.top+t.height+t.brushBottom-(r?.bottom||0),width:me(e.width)?e.width:t.width}));var Xo=J(R()),Zt=J(R());function pk(e,t,{signal:r,edges:n}={}){let a,i=null,o=n!=null&&n.includes("leading"),l=n==null||n.includes("trailing"),s=()=>{i!==null&&(e.apply(a,i),a=void 0,i=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(),a=void 0,i=null},v=()=>{s()},g=function(...b){if(r?.aborted)return;a=this,i=b;let m=c==null;d(),o&&m&&s()};return g.schedule=d,g.cancel=p,g.flush=v,r?.addEventListener("abort",p,{once:!0}),g}function mk(e,t=0,r={}){typeof r!="object"&&(r={});let{leading:n=!1,trailing:a=!0,maxWait:i}=r,o=Array(2);n&&(o[0]="leading"),a&&(o[1]="trailing");let l,s=null,u=pk(function(...f){l=e.apply(this,f),s=null},t,{edges:o}),c=function(...f){return i!=null&&(s===null&&(s=Date.now()),Date.now()-s>=i)?(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 b1(e,t=0,r={}){let{leading:n=!0,trailing:a=!0}=r;return mk(e,t,{leading:n,maxWait:t,trailing:a})}var BL=!0,tu=function(t,r){for(var n=arguments.length,a=new Array(n>2?n-2:0),i=2;ia[o++]))}};var ra={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},w1=(e,t,r)=>{var n=r.width,a=n===void 0?ra.width:n,i=r.height,o=i===void 0?ra.height:i,l=r.aspect,s=r.maxHeight,u=ei(a)?e:Number(a),c=ei(o)?t:Number(o);return l&&l>0&&(u?c=u/l:c&&(u=c*l),s&&c!=null&&c>s&&(c=s)),{calculatedWidth:u,calculatedHeight:c}},UL={width:0,height:0,overflow:"visible"},$L={width:0,overflowX:"visible"},HL={height:0,overflowY:"visible"},VL={},vk=e=>{var t=e.width,r=e.height,n=ei(t),a=ei(r);return n&&a?UL:n?$L:a?HL:VL};function hk(e){var t=e.width,r=e.height,n=e.aspect,a=t,i=r;return a===void 0&&i===void 0?(a=ra.width,i=ra.height):a===void 0?a=n&&n>0?void 0:ra.width:i===void 0&&(i=n&&n>0?void 0:ra.height),{width:a,height:i}}var FL=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function $v(){return $v=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 eB(a)?Xo.createElement(bk.Provider,{value:a},t):null}var xd=()=>(0,Zt.useContext)(bk),tB=(0,Zt.forwardRef)((e,t)=>{var r=e.aspect,n=e.initialDimension,a=n===void 0?ra.initialDimension:n,i=e.width,o=e.height,l=e.minWidth,s=l===void 0?ra.minWidth:l,u=e.minHeight,c=e.maxHeight,d=e.children,f=e.debounce,p=f===void 0?ra.debounce:f,v=e.id,g=e.className,b=e.onResize,m=e.style,h=m===void 0?{}:m,x=JL(e,FL),w=(0,Zt.useRef)(null),E=(0,Zt.useRef)();E.current=b,(0,Zt.useImperativeHandle)(t,()=>w.current);var C=(0,Zt.useState)({containerWidth:a.width,containerHeight:a.height}),T=KL(C,2),_=T[0],I=T[1],z=(0,Zt.useCallback)((y,N)=>{I(O=>{var M=Math.round(y),A=Math.round(N);return O.containerWidth===M&&O.containerHeight===A?O:{containerWidth:M,containerHeight:A}})},[]);(0,Zt.useEffect)(()=>{if(w.current==null||typeof ResizeObserver>"u")return ea;var y=k=>{var V,G=k[0];if(G!=null){var Q=G.contentRect,se=Q.width,ue=Q.height;z(se,ue),(V=E.current)===null||V===void 0||V.call(E,se,ue)}};p>0&&(y=b1(y,p,{trailing:!0,leading:!1}));var N=new ResizeObserver(y),O=w.current.getBoundingClientRect(),M=O.width,A=O.height;return z(M,A),N.observe(w.current),()=>{N.disconnect()}},[z,p]);var B=_.containerWidth,$=_.containerHeight;tu(!r||r>0,"The aspect(%s) must be greater than zero.",r);var X=w1(B,$,{width:i,height:o,aspect:r,maxHeight:c}),H=X.calculatedWidth,q=X.calculatedHeight;return tu(B<0||$<0||H!=null&&H>0||q!=null&&q>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.`,R,Q,i,o,s,u,r),ll.createElement("div",Qv({id:v?"".concat(v):void 0,className:Le("recharts-responsive-container",h),style:IO(IO({},g),{},{width:i,height:o,minWidth:s,minHeight:u,maxHeight:c}),ref:A},x),ll.createElement("div",{style:DO({width:i,height:o})},ll.createElement(BO,{width:R,height:Q},d)))}),mu=(0,nr.forwardRef)((e,t)=>{var r=Od();if(nn(r.width)&&nn(r.height))return e.children;var n=PO({width:e.width,height:e.height,aspect:e.aspect}),a=n.width,i=n.height,o=I1(void 0,void 0,{width:a,height:i,aspect:e.aspect,maxHeight:e.maxHeight}),l=o.calculatedWidth,s=o.calculatedHeight;return ye(l)&&ye(s)?ll.createElement(BO,{width:l,height:s},e.children):ll.createElement(xB,Qv({},e,{width:a,height:i,ref:t}))});var sl=()=>{var e,t=bt(),r=Se(OO),n=Se(ol),a=(e=Se(fu))===null||e===void 0?void 0:e.padding;return!t||!n||!a?r:{width:n.width-a.left-a.right,height:n.height-a.top-a.bottom,x:a.left,y:a.top}},bB={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},Jv=()=>{var e;return(e=Se(Et))!==null&&e!==void 0?e:bB},Rv=()=>Se(Pr),eh=()=>Se(jr);var lt=e=>e.layout.layoutType,ka=()=>Se(lt),vu=()=>{var e=ka();if(e==="horizontal"||e==="vertical")return e},z1=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t};var $O=()=>{var e=ka();return e!==void 0},ul=e=>{var t=Ve(),r=bt(),n=e.width,a=e.height,i=Od(),o=n,l=a;return i&&(o=i.width>0?i.width:n,l=i.height>0?i.height:a),(0,UO.useEffect)(()=>{!r&&nn(o)&&nn(l)&&t(vO({width:o,height:l}))},[t,r,o,l]),null};var wB={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value",position:void 0,offset:0},size:{width:0,height:0},payload:[]},HO=nt({name:"legend",initialState:wB,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($e(t.payload))},prepare:st()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,i=Er(e).payload.indexOf($e(n));i>-1&&(e.payload[i]=$e(a))},prepare:st()},removeLegendPayload:{reducer(e,t){var r=Er(e).payload.indexOf($e(t.payload));r>-1&&e.payload.splice(r,1)},prepare:st()}}}),Td=HO.actions,tne=Td.setLegendSize,rne=Td.setLegendSettings,VO=Td.addLegendPayload,FO=Td.replaceLegendPayload,qO=Td.removeLegendPayload;var YO=HO.reducer;var Ht=ee(ne(),1),XB=ee(XO(),1);var OB=Symbol.for("react.forward_ref");var TB=Symbol.for("react.memo");var MB=OB,DB=TB;function PB(e){e()}function jB(){let e=null,t=null;return{clear(){e=null,t=null},notify(){PB(()=>{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,a=t={callback:r,next:null,prev:t};return a.prev?a.prev.next=a:e=a,function(){!n||e===null||(n=!1,a.next?a.next.prev=a.prev:t=a.prev,a.prev?a.prev.next=a.next:e=a.next)}}}}var ZO={notify(){},get:()=>[]};function IB(e,t){let r,n=ZO,a=0,i=!1;function o(h){c();let b=n.subscribe(h),m=!1;return()=>{m||(m=!0,b(),d())}}function l(){n.notify()}function s(){v.onStateChange&&v.onStateChange()}function u(){return i}function c(){a++,r||(r=t?t.addNestedSub(s):e.subscribe(s),n=jB())}function d(){a--,r&&a===0&&(r(),r=void 0,n.clear(),n=ZO)}function f(){i||(i=!0,c())}function p(){i&&(i=!1,d())}let v={addNestedSub:o,notifyNestedSubs:l,handleChangeWrapper:s,isSubscribed:u,trySubscribe:f,tryUnsubscribe:p,getListeners:()=>n};return v}var zB=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",LB=zB(),BB=()=>typeof navigator<"u"&&navigator.product==="ReactNative",UB=BB(),$B=()=>LB||UB?Ht.useLayoutEffect:Ht.useEffect,HB=$B();function QO(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function JO(e,t){if(QO(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 a=0;a{let s=IB(a);return{store:a,subscription:s,getServerState:n?()=>n:void 0}},[a,n]),o=Ht.useMemo(()=>a.getState(),[a]);return HB(()=>{let{subscription:s}=i;return s.onStateChange=s.notifyNestedSubs,s.trySubscribe(),o!==a.getState()&&s.notifyNestedSubs(),()=>{s.tryUnsubscribe(),s.onStateChange=void 0}},[i,o]),Ht.createElement((r||KB).Provider,{value:i},t)}var RO=GB;var ZB=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function QB(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function mo(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(ZB.has(n)){if(e[n]==null&&t[n]==null)continue;if(!JO(e[n],t[n]))return!1}else if(!QB(e[n],t[n]))return!1;return!0}var Qn=ee(ne()),z8=ee(ne()),L8=ee(ip());var fa=ee(ne());function L1(){return L1=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?hu.separator:t,n=e.contentStyle,a=e.itemStyle,i=e.labelStyle,o=i===void 0?hu.labelStyle:i,l=e.payload,s=e.formatter,u=e.itemSorter,c=e.wrapperClassName,d=e.labelClassName,f=e.label,p=e.labelFormatter,v=e.accessibilityLayer,h=v===void 0?hu.accessibilityLayer:v,b=()=>{if(l&&l.length){var E={padding:0,margin:0},L=lU(l,u),I=L.map((j,z)=>{if(!j||j.type==="none")return null;var X=j.formatter||s||oU,R=j.value,Q=j.name,y=R,C=Q;if(X){var O=X(R,Q,j,z,l);if(Array.isArray(O)){var D=tU(O,2);y=D[0],C=D[1]}else if(O!=null)y=O;else return null}var N=Dd(Dd({},hu.itemStyle),{},{color:j.color||hu.itemStyle.color},a);return fa.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(z),style:N},qr(C)?fa.createElement("span",{className:"recharts-tooltip-item-name"},C):null,qr(C)?fa.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,fa.createElement("span",{className:"recharts-tooltip-item-value"},y),fa.createElement("span",{className:"recharts-tooltip-item-unit"},j.unit||""))});return fa.createElement("ul",{className:"recharts-tooltip-item-list",style:E},I)}return null},m=Dd(Dd({},hu.contentStyle),n),g=Dd({margin:0},o),x=!Dt(f),A=x?f:"",k=Le("recharts-default-tooltip",c),_=Le("recharts-tooltip-label",d);x&&p&&l!==void 0&&l!==null&&(A=p(f,l));var M=h?{role:"status","aria-live":"assertive"}:{};return fa.createElement("div",L1({className:k,style:m},M),fa.createElement("p",{className:_,style:g},fa.isValidElement(A)?A:"".concat(A)),b())};var vo=ee(ne());var Pd="recharts-tooltip-wrapper",sU={visibility:"hidden"};function uU(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return Le(Pd,{["".concat(Pd,"-right")]:ye(r)&&t&&ye(t.x)&&r>=t.x,["".concat(Pd,"-left")]:ye(r)&&t&&ye(t.x)&&r=t.y,["".concat(Pd,"-top")]:ye(n)&&t&&ye(t.y)&&n0?a:0),d=r[n]+a;if(t[n])return o[n]?c:d;var f=s[n];if(f==null)return 0;if(o[n]){var p=c,v=f;return pb?Math.max(c,f):Math.max(d,f)}function cU(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 aT(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,a=e.offsetLeft,i=e.position,o=e.reverseDirection,l=e.tooltipBox,s=e.useTranslate3d,u=e.viewBox,c,d,f;return l&&l.height>0&&l.width>0&&r?(d=nT({allowEscapeViewBox:t,coordinate:r,key:"x",offset:a,position:i,reverseDirection:o,tooltipDimension:l.width,viewBox:u,viewBoxDimension:u.width}),f=nT({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:i,reverseDirection:o,tooltipDimension:l.height,viewBox:u,viewBoxDimension:u.height}),c=cU({translateX:d,translateY:f,useTranslate3d:s})):c=sU,{cssProperties:c,cssClasses:uU({translateX:d,translateY:f,coordinate:r})}}var th=ee(ne());var dU=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),Wn={devToolsEnabled:!0,isSsr:dU()};function fU(e,t){return hU(e)||vU(e,t)||mU(e,t)||pU()}function pU(){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 mU(e,t){if(e){if(typeof e=="string")return iT(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)?iT(e,t):void 0}}function iT(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rWn.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=fU(e,2),r=t[0],n=t[1];return(0,th.useEffect)(()=>{if(window.matchMedia){var a=window.matchMedia("(prefers-reduced-motion: reduce)"),i=()=>{n(a.matches)};return a.addEventListener("change",i),()=>{a.removeEventListener("change",i)}}},[]),r}function oT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function gu(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=bU(s,2),c=u[0],d=u[1];vo.useEffect(()=>{var m=g=>{if(g.key==="Escape"){var x,A,k,_;d({dismissed:!0,dismissedAtCoordinate:{x:(x=(A=e.coordinate)===null||A===void 0?void 0:A.x)!==null&&x!==void 0?x:0,y:(k=(_=e.coordinate)===null||_===void 0?void 0:_.y)!==null&&k!==void 0?k:0}})}};return document.addEventListener("keydown",m),()=>{document.removeEventListener("keydown",m)}},[(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=(a=e.coordinate)===null||a===void 0?void 0:a.x)!==null&&n!==void 0?n:0)!==c.dismissedAtCoordinate.x||((i=(o=e.coordinate)===null||o===void 0?void 0:o.y)!==null&&i!==void 0?i:0)!==c.dismissedAtCoordinate.y)&&d(gu(gu({},c),{},{dismissed:!1}));var f=aT({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,v=f.cssProperties,h=e.hasPortalFromProps?{}:gu(gu({transition:_U({prefersReducedMotion:l,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},v),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),b=gu(gu({},h),{},{visibility:!c.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return vo.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:p,style:b,ref:e.innerRef},e.children)}var sT=vo.memo(CU);var nh=()=>{var e;return(e=Se(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};var j0=ee(ne()),Wu=ee(ne());var mT=ee(ne());function B1(){return B1=Object.assign?Object.assign.bind():function(e){for(var t=1;tIe(e.x)&&Ie(e.y),fT=e=>e.base!=null&&ah(e.base)&&ah(e),jd=e=>e.x,Id=e=>e.y,TU=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(Gs(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=dT["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return dT[r]||co},pT={connectNulls:!1,type:"linear"},MU=e=>{var t=e.type,r=t===void 0?pT.type:t,n=e.points,a=n===void 0?[]:n,i=e.baseLine,o=e.layout,l=e.connectNulls,s=l===void 0?pT.connectNulls:l,u=TU(r,o),c=s?a.filter(ah):a;if(Array.isArray(i)){var d,f=a.map((m,g)=>cT(cT({},m),{},{base:i[g]}));o==="vertical"?d=Zs().y(Id).x1(jd).x0(m=>m.base.x):d=Zs().x(jd).y1(Id).y0(m=>m.base.y);var p=d.defined(fT).curve(u),v=s?f.filter(fT):f;return p(v)}var h;o==="vertical"&&ye(i)?h=Zs().y(Id).x1(jd).x0(i):ye(i)?h=Zs().x(jd).y1(Id).y0(i):h=vd().x(jd).y(Id);var b=h.defined(ah).curve(u);return b(c)},yu=e=>{var t=e.className,r=e.points,n=e.path,a=e.pathRef,i=ka();if((!r||!r.length)&&!n)return null;var o={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||i,connectNulls:e.connectNulls},l=r&&r.length?MU(o):n;return mT.createElement("path",B1({},gr(e),eu(e),{className:Le("recharts-curve",t),d:l===null?void 0:l,ref:a}))};var hT=ee(ne());var DU=["x","y","top","left","width","height","className"];function U1(){return U1=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(a,"v").concat(n,"M").concat(i,",").concat(t,"h").concat(r),gT=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,a=n===void 0?0:n,i=e.top,o=i===void 0?0:i,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,v=LU(e,DU),h=PU({x:r,y:a,top:o,left:s,width:c,height:f},v);return!ye(r)||!ye(a)||!ye(c)||!ye(f)||!ye(o)||!ye(s)?null:hT.createElement("path",U1({},Kt(h),{className:Le("recharts-cross",p),d:UU(r,a,c,f,o,s)}))};function yT(e,t,r,n){var a=n/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-a:r.left+.5,y:e==="horizontal"?r.top+.5:t.y-a,width:e==="horizontal"?n:r.width-1,height:e==="horizontal"?r.height-1:n}}var ch=ee(ne()),Kn=ee(ne());var zd=ee(ne());var ih=1e-4,wT=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],ST=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),xT=(e,t)=>r=>{var n=wT(e,t);return ST(n,r)},$U=(e,t)=>r=>{var n=wT(e,t),a=[...n.map((i,o)=>i*o).slice(1),0];return ST(a,r)},HU=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 a=n.map(i=>parseFloat(i));return[a[0],a[1],a[2],a[3]]},VU=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var a=xT(e,r),i=xT(t,n),o=$U(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=a(d)-c,v=o(d);if(Math.abs(p-c)0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,a=t.damping,i=a===void 0?8:a,o=t.dt,l=o===void 0?16.67:o,s=1,u=[0],c=0,d=0,f=1e4,p=0;p{var g,x,A;if(m<=0)return 0;if(m>=1)return s;var k=m*b,_=Math.floor(k),M=k-_;return((g=u[_])!==null&&g!==void 0?g:0)+(((x=u[_+1])!==null&&x!==void 0?x:0)-((A=u[_])!==null&&A!==void 0?A:0))*M}},AT=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return bT(e);case"spring":return qU();default:if(e.split("(")[0]==="cubic-bezier")return bT(e)}return typeof e=="function"?e:null};var xu=ee(ne());var NT=(e,t,r)=>{var n,a=i=>{var o=t.tick(i);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(a,o);return}n=e.setTimeout(a,o)};return n=e.setTimeout(a,0),()=>{var i;return(i=n)===null||i===void 0?void 0:i()}};var _T=(0,xu.createContext)(NT),Vne=_T.Provider;function CT(e){var t=(0,xu.useContext)(_T);return(0,xu.useMemo)(()=>e??t,[e,t])}function YU(e,t,r){return(t=WU(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function WU(e){var t=KU(e,"string");return typeof t=="symbol"?t:t+""}function KU(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 ET="init",kT="pending",OT="active",GU="completed";function $1(e){return Math.max(0,e)}var H1=class{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;YU(this,"state",ET),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=$1(t.animationDuration),this.animationBegin=$1(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()===ET)return this.state=kT,this.beginStartedTime=t,this.animationBegin;if(this.getState()===kT){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=OT,this.animationStartedTime=t,this.nextAnimationUpdate(0)):$1(this.animationBegin-r)}if(this.getState()===OT){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=GU}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}},oh=class extends H1{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(qn(this.getFrom(),this.getTo(),this.getProgress()))}};var lh=class{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),a=null,i=o=>{o-n>=r?t(o):a=requestAnimationFrame(i)};return a=requestAnimationFrame(i),()=>{a!=null&&cancelAnimationFrame(a)}}};function XU(e,t){return RU(e)||JU(e,t)||QU(e,t)||ZU()}function ZU(){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 QU(e,t){if(e){if(typeof e=="string")return TT(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)?TT(e,t):void 0}}function TT(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},MT=0,V1=1;function sh(e){var t=Pt(e,e$),r=t.animationId,n=t.isActive,a=t.canBegin,i=t.duration,o=t.easing,l=t.begin,s=t.onAnimationEnd,u=t.onAnimationStart,c=t.children,d=rh(),f=n==="auto"?!Wn.isSsr&&!d:n,p=CT(t.animationController),v=(0,zd.useState)(f?MT:V1),h=XU(v,2),b=h[0],m=h[1];return(0,zd.useEffect)(()=>{f||m(V1)},[f]),(0,zd.useEffect)(()=>{var g=AT(o);if(!f||!a||g==null)return ua;var x=new lh,A=new oh({animationId:r,easing:g,animationDuration:i,animationBegin:l,onAnimationStart:u,onAnimationEnd:s,from:MT,to:V1});return p(x,A,m)},[p,r,f,a,i,o,l,u,s]),c(Number(b))}var F1=ee(ne());function uh(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=(0,F1.useRef)(ui(t)),n=(0,F1.useRef)(e);return n.current!==e&&(r.current=ui(t),n.current=e),r.current}var t$=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),DT=(e,t,r)=>e.map(n=>"".concat(t$(n)," ").concat(t,"ms ").concat(r)).join(",");var r$=["radius"],n$=["radius"],PT,jT,IT,zT,LT,BT,UT,$T,HT,VT;function FT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function qT(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var i=_a(r),o=_a(n),l=Math.min(Math.abs(i)/2,Math.abs(o)/2),s=o>=0?1:-1,u=i>=0?1:-1,c=o>=0&&i>=0||o<0&&i<0?1:0,d;if(l>0&&Array.isArray(a)){for(var f=[0,0,0,0],p=0,v=4;pl?l:b}d=ur(PT||(PT=Oa(["M",",",""])),e,t+s*f[0]),f[0]>0&&(d+=ur(jT||(jT=Oa(["A ",",",",0,0,",",",",",""])),f[0],f[0],c,e+u*f[0],t)),d+=ur(IT||(IT=Oa(["L ",",",""])),e+r-u*f[1],t),f[1]>0&&(d+=ur(zT||(zT=Oa(["A ",",",",0,0,",`, - `,",",""])),f[1],f[1],c,e+r,t+s*f[1])),d+=ur(LT||(LT=Oa(["L ",",",""])),e+r,t+n-s*f[2]),f[2]>0&&(d+=ur(BT||(BT=Oa(["A ",",",",0,0,",`, - `,",",""])),f[2],f[2],c,e+r-u*f[2],t+n)),d+=ur(UT||(UT=Oa(["L ",",",""])),e+u*f[3],t+n),f[3]>0&&(d+=ur($T||($T=Oa(["A ",",",",0,0,",`, - `,",",""])),f[3],f[3],c,e,t+n-s*f[3])),d+="Z"}else if(l>0&&a===+a&&a>0){var m=Math.min(l,a);d=ur(HT||(HT=Oa(["M ",",",` + height and width.`,H,q,i,o,s,u,r),Xo.createElement("div",$v({id:v?"".concat(v):void 0,className:Te("recharts-responsive-container",g),style:yk(yk({},h),{},{width:i,height:o,minWidth:s,minHeight:u,maxHeight:c}),ref:w},x),Xo.createElement("div",{style:vk({width:i,height:o})},Xo.createElement(wk,{width:H,height:q},d)))}),ru=(0,Zt.forwardRef)((e,t)=>{var r=xd();if(Xr(r.width)&&Xr(r.height))return e.children;var n=hk({width:e.width,height:e.height,aspect:e.aspect}),a=n.width,i=n.height,o=w1(void 0,void 0,{width:a,height:i,aspect:e.aspect,maxHeight:e.maxHeight}),l=o.calculatedWidth,s=o.calculatedHeight;return me(l)&&me(s)?Xo.createElement(wk,{width:l,height:s},e.children):Xo.createElement(tB,$v({},e,{width:a,height:i,ref:t}))});var Zo=()=>{var e,t=ct(),r=ye(fk),n=ye(Go),a=(e=ye(eu))===null||e===void 0?void 0:e.padding;return!t||!n||!a?r:{width:n.width-a.left-a.right,height:n.height-a.top-a.bottom,x:a.left,y:a.top}},rB={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},Hv=()=>{var e;return(e=ye(gt))!==null&&e!==void 0?e:rB},Vv=()=>ye(Cr),Fv=()=>ye(_r);var Qe=e=>e.layout.layoutType,ba=()=>ye(Qe),nu=()=>{var e=ba();if(e==="horizontal"||e==="vertical")return e},S1=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t};var Ak=()=>{var e=ba();return e!==void 0},Qo=e=>{var t=Le(),r=ct(),n=e.width,a=e.height,i=xd(),o=n,l=a;return i&&(o=i.width>0?i.width:n,l=i.height>0?i.height:a),(0,Sk.useEffect)(()=>{!r&&Xr(o)&&Xr(l)&&t(JO({width:o,height:l}))},[t,r,o,l]),null};var nB={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value",position:void 0,offset:0},size:{width:0,height:0},payload:[]},Nk=Ke({name:"legend",initialState:nB,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(je(t.payload))},prepare:Re()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,i=yr(e).payload.indexOf(je(n));i>-1&&(e.payload[i]=je(a))},prepare:Re()},removeLegendPayload:{reducer(e,t){var r=yr(e).payload.indexOf(je(t.payload));r>-1&&e.payload.splice(r,1)},prepare:Re()}}}),bd=Nk.actions,ene=bd.setLegendSize,tne=bd.setLegendSettings,Ck=bd.addLegendPayload,_k=bd.replaceLegendPayload,Ek=bd.removeLegendPayload;var Ok=Nk.reducer;var kt=J(R(),1),MB=J(Dk(),1);var dB=Symbol.for("react.forward_ref");var fB=Symbol.for("react.memo");var pB=dB,mB=fB;function vB(e){e()}function hB(){let e=null,t=null;return{clear(){e=null,t=null},notify(){vB(()=>{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,a=t={callback:r,next:null,prev:t};return a.prev?a.prev.next=a:e=a,function(){!n||e===null||(n=!1,a.next?a.next.prev=a.prev:t=a.prev,a.prev?a.prev.next=a.next:e=a.next)}}}}var Pk={notify(){},get:()=>[]};function gB(e,t){let r,n=Pk,a=0,i=!1;function o(g){c();let b=n.subscribe(g),m=!1;return()=>{m||(m=!0,b(),d())}}function l(){n.notify()}function s(){v.onStateChange&&v.onStateChange()}function u(){return i}function c(){a++,r||(r=t?t.addNestedSub(s):e.subscribe(s),n=hB())}function d(){a--,r&&a===0&&(r(),r=void 0,n.clear(),n=Pk)}function f(){i||(i=!0,c())}function p(){i&&(i=!1,d())}let v={addNestedSub:o,notifyNestedSubs:l,handleChangeWrapper:s,isSubscribed:u,trySubscribe:f,tryUnsubscribe:p,getListeners:()=>n};return v}var yB=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",xB=yB(),bB=()=>typeof navigator<"u"&&navigator.product==="ReactNative",wB=bB(),SB=()=>xB||wB?kt.useLayoutEffect:kt.useEffect,AB=SB();function jk(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function Ik(e,t){if(jk(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 a=0;a{let s=gB(a);return{store:a,subscription:s,getServerState:n?()=>n:void 0}},[a,n]),o=kt.useMemo(()=>a.getState(),[a]);return AB(()=>{let{subscription:s}=i;return s.onStateChange=s.notifyNestedSubs,s.trySubscribe(),o!==a.getState()&&s.notifyNestedSubs(),()=>{s.tryUnsubscribe(),s.onStateChange=void 0}},[i,o]),kt.createElement((r||kB).Provider,{value:i},t)}var zk=TB;var DB=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function PB(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function ro(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(DB.has(n)){if(e[n]==null&&t[n]==null)continue;if(!Ik(e[n],t[n]))return!1}else if(!PB(e[n],t[n]))return!1;return!0}var Fn=J(R()),x8=J(R()),b8=J(Gf());var na=J(R());function A1(){return A1=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?au.separator:t,n=e.contentStyle,a=e.itemStyle,i=e.labelStyle,o=i===void 0?au.labelStyle:i,l=e.payload,s=e.formatter,u=e.itemSorter,c=e.wrapperClassName,d=e.labelClassName,f=e.label,p=e.labelFormatter,v=e.accessibilityLayer,g=v===void 0?au.accessibilityLayer:v,b=()=>{if(l&&l.length){var _={padding:0,margin:0},I=FB(l,u),z=I.map((B,$)=>{if(!B||B.type==="none")return null;var X=B.formatter||s||VB,H=B.value,q=B.name,y=H,N=q;if(X){var O=X(H,q,B,$,l);if(Array.isArray(O)){var M=LB(O,2);y=M[0],N=M[1]}else if(O!=null)y=O;else return null}var A=Sd(Sd({},au.itemStyle),{},{color:B.color||au.itemStyle.color},a);return na.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat($),style:A},Lr(N)?na.createElement("span",{className:"recharts-tooltip-item-name"},N):null,Lr(N)?na.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,na.createElement("span",{className:"recharts-tooltip-item-value"},y),na.createElement("span",{className:"recharts-tooltip-item-unit"},B.unit||""))});return na.createElement("ul",{className:"recharts-tooltip-item-list",style:_},z)}return null},m=Sd(Sd({},au.contentStyle),n),h=Sd({margin:0},o),x=!St(f),w=x?f:"",E=Te("recharts-default-tooltip",c),C=Te("recharts-tooltip-label",d);x&&p&&l!==void 0&&l!==null&&(w=p(f,l));var T=g?{role:"status","aria-live":"assertive"}:{};return na.createElement("div",A1({className:E,style:m},T),na.createElement("p",{className:C,style:h},na.isValidElement(w)?w:"".concat(w)),b())};var no=J(R());var Ad="recharts-tooltip-wrapper",YB={visibility:"hidden"};function qB(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return Te(Ad,{["".concat(Ad,"-right")]:me(r)&&t&&me(t.x)&&r>=t.x,["".concat(Ad,"-left")]:me(r)&&t&&me(t.x)&&r=t.y,["".concat(Ad,"-top")]:me(n)&&t&&me(t.y)&&n0?a:0),d=r[n]+a;if(t[n])return o[n]?c:d;var f=s[n];if(f==null)return 0;if(o[n]){var p=c,v=f;return pb?Math.max(c,f):Math.max(d,f)}function WB(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 Hk(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,a=e.offsetLeft,i=e.position,o=e.reverseDirection,l=e.tooltipBox,s=e.useTranslate3d,u=e.viewBox,c,d,f;return l&&l.height>0&&l.width>0&&r?(d=$k({allowEscapeViewBox:t,coordinate:r,key:"x",offset:a,position:i,reverseDirection:o,tooltipDimension:l.width,viewBox:u,viewBoxDimension:u.width}),f=$k({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:i,reverseDirection:o,tooltipDimension:l.height,viewBox:u,viewBoxDimension:u.height}),c=WB({translateX:d,translateY:f,useTranslate3d:s})):c=YB,{cssProperties:c,cssClasses:qB({translateX:d,translateY:f,coordinate:r})}}var Yv=J(R());var KB=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),Bn={devToolsEnabled:!0,isSsr:KB()};function GB(e,t){return JB(e)||QB(e,t)||ZB(e,t)||XB()}function XB(){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 ZB(e,t){if(e){if(typeof e=="string")return Vk(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)?Vk(e,t):void 0}}function Vk(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rBn.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=GB(e,2),r=t[0],n=t[1];return(0,Yv.useEffect)(()=>{if(window.matchMedia){var a=window.matchMedia("(prefers-reduced-motion: reduce)"),i=()=>{n(a.matches)};return a.addEventListener("change",i),()=>{a.removeEventListener("change",i)}}},[]),r}function Fk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function iu(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=rU(s,2),c=u[0],d=u[1];no.useEffect(()=>{var m=h=>{if(h.key==="Escape"){var x,w,E,C;d({dismissed:!0,dismissedAtCoordinate:{x:(x=(w=e.coordinate)===null||w===void 0?void 0:w.x)!==null&&x!==void 0?x:0,y:(E=(C=e.coordinate)===null||C===void 0?void 0:C.y)!==null&&E!==void 0?E:0}})}};return document.addEventListener("keydown",m),()=>{document.removeEventListener("keydown",m)}},[(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=(a=e.coordinate)===null||a===void 0?void 0:a.x)!==null&&n!==void 0?n:0)!==c.dismissedAtCoordinate.x||((i=(o=e.coordinate)===null||o===void 0?void 0:o.y)!==null&&i!==void 0?i:0)!==c.dismissedAtCoordinate.y)&&d(iu(iu({},c),{},{dismissed:!1}));var f=Hk({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,v=f.cssProperties,g=e.hasPortalFromProps?{}:iu(iu({transition:lU({prefersReducedMotion:l,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},v),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),b=iu(iu({},g),{},{visibility:!c.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return no.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:p,style:b,ref:e.innerRef},e.children)}var qk=no.memo(sU);var Wv=()=>{var e;return(e=ye(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};var Ag=J(R()),ju=J(R());var Qk=J(R());function N1(){return N1=Object.assign?Object.assign.bind():function(e){for(var t=1;tke(e.x)&&ke(e.y),Xk=e=>e.base!=null&&Kv(e.base)&&Kv(e),Nd=e=>e.x,Cd=e=>e.y,fU=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(zs(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=Gk["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return Gk[r]||Ri},Zk={connectNulls:!1,type:"linear"},pU=e=>{var t=e.type,r=t===void 0?Zk.type:t,n=e.points,a=n===void 0?[]:n,i=e.baseLine,o=e.layout,l=e.connectNulls,s=l===void 0?Zk.connectNulls:l,u=fU(r,o),c=s?a.filter(Kv):a;if(Array.isArray(i)){var d,f=a.map((m,h)=>Kk(Kk({},m),{},{base:i[h]}));o==="vertical"?d=Bs().y(Cd).x1(Nd).x0(m=>m.base.x):d=Bs().x(Nd).y1(Cd).y0(m=>m.base.y);var p=d.defined(Xk).curve(u),v=s?f.filter(Xk):f;return p(v)}var g;o==="vertical"&&me(i)?g=Bs().y(Cd).x1(Nd).x0(i):me(i)?g=Bs().x(Nd).y1(Cd).y0(i):g=id().x(Nd).y(Cd);var b=g.defined(Kv).curve(u);return b(c)},ou=e=>{var t=e.className,r=e.points,n=e.path,a=e.pathRef,i=ba();if((!r||!r.length)&&!n)return null;var o={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||i,connectNulls:e.connectNulls},l=r&&r.length?pU(o):n;return Qk.createElement("path",N1({},ur(e),Vs(e),{className:Te("recharts-curve",t),d:l===null?void 0:l,ref:a}))};var Rk=J(R());var mU=["x","y","top","left","width","height","className"];function C1(){return C1=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(a,"v").concat(n,"M").concat(i,",").concat(t,"h").concat(r),eT=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,a=n===void 0?0:n,i=e.top,o=i===void 0?0:i,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,v=xU(e,mU),g=vU({x:r,y:a,top:o,left:s,width:c,height:f},v);return!me(r)||!me(a)||!me(c)||!me(f)||!me(o)||!me(s)?null:Rk.createElement("path",C1({},Lt(g),{className:Te("recharts-cross",p),d:wU(r,a,c,f,o,s)}))};function tT(e,t,r,n){var a=n/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-a:r.left+.5,y:e==="horizontal"?r.top+.5:t.y-a,width:e==="horizontal"?n:r.width-1,height:e==="horizontal"?r.height-1:n}}var Rv=J(R()),Un=J(R());var _d=J(R());var Gv=1e-4,aT=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],iT=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),rT=(e,t)=>r=>{var n=aT(e,t);return iT(n,r)},SU=(e,t)=>r=>{var n=aT(e,t),a=[...n.map((i,o)=>i*o).slice(1),0];return iT(a,r)},AU=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 a=n.map(i=>parseFloat(i));return[a[0],a[1],a[2],a[3]]},NU=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var a=rT(e,r),i=rT(t,n),o=SU(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=a(d)-c,v=o(d);if(Math.abs(p-c)0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,a=t.damping,i=a===void 0?8:a,o=t.dt,l=o===void 0?16.67:o,s=1,u=[0],c=0,d=0,f=1e4,p=0;p{var h,x,w;if(m<=0)return 0;if(m>=1)return s;var E=m*b,C=Math.floor(E),T=E-C;return((h=u[C])!==null&&h!==void 0?h:0)+(((x=u[C+1])!==null&&x!==void 0?x:0)-((w=u[C])!==null&&w!==void 0?w:0))*T}},oT=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return nT(e);case"spring":return _U();default:if(e.split("(")[0]==="cubic-bezier")return nT(e)}return typeof e=="function"?e:null};var lu=J(R());var lT=(e,t,r)=>{var n,a=i=>{var o=t.tick(i);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(a,o);return}n=e.setTimeout(a,o)};return n=e.setTimeout(a,0),()=>{var i;return(i=n)===null||i===void 0?void 0:i()}};var sT=(0,lu.createContext)(lT),Hne=sT.Provider;function uT(e){var t=(0,lu.useContext)(sT);return(0,lu.useMemo)(()=>e??t,[e,t])}function EU(e,t,r){return(t=OU(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function OU(e){var t=kU(e,"string");return typeof t=="symbol"?t:t+""}function kU(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 cT="init",dT="pending",fT="active",TU="completed";function _1(e){return Math.max(0,e)}var E1=class{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;EU(this,"state",cT),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=_1(t.animationDuration),this.animationBegin=_1(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()===cT)return this.state=dT,this.beginStartedTime=t,this.animationBegin;if(this.getState()===dT){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=fT,this.animationStartedTime=t,this.nextAnimationUpdate(0)):_1(this.animationBegin-r)}if(this.getState()===fT){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=TU}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}},Xv=class extends E1{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(zn(this.getFrom(),this.getTo(),this.getProgress()))}};var Zv=class{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),a=null,i=o=>{o-n>=r?t(o):a=requestAnimationFrame(i)};return a=requestAnimationFrame(i),()=>{a!=null&&cancelAnimationFrame(a)}}};function MU(e,t){return IU(e)||jU(e,t)||PU(e,t)||DU()}function DU(){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 PU(e,t){if(e){if(typeof e=="string")return pT(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)?pT(e,t):void 0}}function pT(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},mT=0,O1=1;function Qv(e){var t=At(e,zU),r=t.animationId,n=t.isActive,a=t.canBegin,i=t.duration,o=t.easing,l=t.begin,s=t.onAnimationEnd,u=t.onAnimationStart,c=t.children,d=qv(),f=n==="auto"?!Bn.isSsr&&!d:n,p=uT(t.animationController),v=(0,_d.useState)(f?mT:O1),g=MU(v,2),b=g[0],m=g[1];return(0,_d.useEffect)(()=>{f||m(O1)},[f]),(0,_d.useEffect)(()=>{var h=oT(o);if(!f||!a||h==null)return ea;var x=new Zv,w=new Xv({animationId:r,easing:h,animationDuration:i,animationBegin:l,onAnimationStart:u,onAnimationEnd:s,from:mT,to:O1});return p(x,w,m)},[p,r,f,a,i,o,l,u,s]),c(Number(b))}var k1=J(R());function Jv(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=(0,k1.useRef)(ti(t)),n=(0,k1.useRef)(e);return n.current!==e&&(r.current=ti(t),n.current=e),r.current}var LU=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),vT=(e,t,r)=>e.map(n=>"".concat(LU(n)," ").concat(t,"ms ").concat(r)).join(",");var BU=["radius"],UU=["radius"],hT,gT,yT,xT,bT,wT,ST,AT,NT,CT;function _T(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function ET(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var i=ga(r),o=ga(n),l=Math.min(Math.abs(i)/2,Math.abs(o)/2),s=o>=0?1:-1,u=i>=0?1:-1,c=o>=0&&i>=0||o<0&&i<0?1:0,d;if(l>0&&Array.isArray(a)){for(var f=[0,0,0,0],p=0,v=4;pl?l:b}d=tr(hT||(hT=wa(["M",",",""])),e,t+s*f[0]),f[0]>0&&(d+=tr(gT||(gT=wa(["A ",",",",0,0,",",",",",""])),f[0],f[0],c,e+u*f[0],t)),d+=tr(yT||(yT=wa(["L ",",",""])),e+r-u*f[1],t),f[1]>0&&(d+=tr(xT||(xT=wa(["A ",",",",0,0,",`, + `,",",""])),f[1],f[1],c,e+r,t+s*f[1])),d+=tr(bT||(bT=wa(["L ",",",""])),e+r,t+n-s*f[2]),f[2]>0&&(d+=tr(wT||(wT=wa(["A ",",",",0,0,",`, + `,",",""])),f[2],f[2],c,e+r-u*f[2],t+n)),d+=tr(ST||(ST=wa(["L ",",",""])),e+u*f[3],t+n),f[3]>0&&(d+=tr(AT||(AT=wa(["A ",",",",0,0,",`, + `,",",""])),f[3],f[3],c,e,t+n-s*f[3])),d+="Z"}else if(l>0&&a===+a&&a>0){var m=Math.min(l,a);d=tr(NT||(NT=wa(["M ",",",` A `,",",",0,0,",",",",",` L `,",",` A `,",",",0,0,",",",",",` L `,",",` A `,",",",0,0,",",",",",` L `,",",` - A `,",",",0,0,",",",","," Z"])),e,t+s*m,m,m,c,e+u*m,t,e+r-u*m,t,m,m,c,e+r,t+s*m,e+r,t+n-s*m,m,m,c,e+r-u*m,t+n,e+u*m,t+n,m,m,c,e,t+n-s*m)}else d=ur(VT||(VT=Oa(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return d},GT={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},XT=e=>{var t=Pt(e,GT),r=(0,Kn.useRef)(null),n=(0,Kn.useState)(-1),a=s$(n,2),i=a[0],o=a[1];(0,Kn.useEffect)(()=>{if(r.current&&r.current.getTotalLength)try{var D=r.current.getTotalLength();D&&o(D)}catch{}},[]);var l=t.x,s=t.y,u=t.width,c=t.height,d=t.radius,f=t.className,p=t.animationEasing,v=t.animationDuration,h=t.animationBegin,b=t.isAnimationActive,m=t.isUpdateAnimationActive,g=(0,Kn.useRef)(u),x=(0,Kn.useRef)(c),A=(0,Kn.useRef)(l),k=(0,Kn.useRef)(s),_=(0,Kn.useMemo)(()=>({x:l,y:s,width:u,height:c,radius:d}),[l,s,u,c,d]),M=uh(_,"rectangle-");if(l!==+l||s!==+s||u!==+u||c!==+c||u===0||c===0)return null;var E=Le("recharts-rectangle",f);if(!m){var L=Kt(t),I=L.radius,j=YT(L,r$);return ch.createElement("path",dh({},j,{x:_a(l),y:_a(s),width:_a(u),height:_a(c),radius:typeof d=="number"?d:void 0,className:E,d:KT(l,s,u,c,d)}))}var z=g.current,X=x.current,R=A.current,Q=k.current,y="0px ".concat(i===-1?1:i,"px"),C="".concat(i,"px ").concat(i,"px"),O=DT(["strokeDasharray"],v,typeof p=="string"?p:GT.animationEasing);return ch.createElement(sh,{animationId:M,key:M,canBegin:i>0,duration:v,easing:p,isActive:m,begin:h},D=>{var N=qn(z,u,D),T=qn(X,c,D),H=qn(R,l,D),Y=qn(Q,s,D);r.current&&(g.current=N,x.current=T,A.current=H,k.current=Y);var J;b?D>0?J={transition:O,strokeDasharray:C}:J={strokeDasharray:y}:J={strokeDasharray:C};var fe=Kt(t),pe=fe.radius,ge=YT(fe,n$);return ch.createElement("path",dh({},ge,{radius:typeof d=="number"?d:void 0,className:E,d:KT(H,Y,N,T,d),ref:r,style:qT(qT({},J),t.style)}))})};function ZT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function QT(e){for(var t=1;te*180/Math.PI,Vt=(e,t,r,n)=>({x:e+Math.cos(-Ld*n)*r,y:t+Math.sin(-Ld*n)*r}),JT=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},g$=(e,t)=>{var r=e.x,n=e.y,a=t.x,i=t.y;return Math.sqrt((r-a)**2+(n-i)**2)},y$=(e,t)=>{var r=e.x,n=e.y,a=t.cx,i=t.cy,o=g$({x:r,y:n},{x:a,y:i});if(o<=0)return{radius:o,angle:0};var l=(r-a)/o,s=Math.acos(l);return n>i&&(s=2*Math.PI-s),{radius:o,angle:h$(s),angleInRadian:s}},x$=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),a=Math.floor(r/360),i=Math.min(n,a);return{startAngle:t-i*360,endAngle:r-i*360}},b$=(e,t)=>{var r=t.startAngle,n=t.endAngle,a=Math.floor(r/360),i=Math.floor(n/360),o=Math.min(a,i);return e+o*360},RT=(e,t)=>{var r=e.relativeX,n=e.relativeY,a=y$({x:r,y:n},t),i=a.radius,o=a.angle,l=t.innerRadius,s=t.outerRadius;if(is||i===0)return null;var u=x$(t),c=u.startAngle,d=u.endAngle,f=o,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?QT(QT({},t),{},{radius:i,angle:b$(f,t)}):null};function fh(e){var t=e.cx,r=e.cy,n=e.radius,a=e.startAngle,i=e.endAngle,o=Vt(t,r,n,a),l=Vt(t,r,n,i);return{points:[o,l],cx:t,cy:r,radius:n,startAngle:a,endAngle:i}}var l3=ee(ne());var e3,t3,r3,n3,a3,i3,o3;function q1(){return q1=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=cr(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},ph=e=>{var t=e.cx,r=e.cy,n=e.radius,a=e.angle,i=e.sign,o=e.isExternal,l=e.cornerRadius,s=e.cornerIsExternal,u=l*(o?1:-1)+n,c=Math.asin(l/u)/Ld,d=s?a:a+i*c,f=Vt(t,r,u,d),p=Vt(t,r,n,d),v=s?a-i*c:a,h=Vt(t,r,u*Math.cos(c*Ld),v);return{center:f,circleTangency:p,lineTangency:h,theta:c}},s3=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,i=e.startAngle,o=e.endAngle,l=w$(i,o),s=i+l,u=Vt(t,r,a,i),c=Vt(t,r,a,s),d=ur(e3||(e3=cl(["M ",",",` + A `,",",",0,0,",",",","," Z"])),e,t+s*m,m,m,c,e+u*m,t,e+r-u*m,t,m,m,c,e+r,t+s*m,e+r,t+n-s*m,m,m,c,e+r-u*m,t+n,e+u*m,t+n,m,m,c,e,t+n-s*m)}else d=tr(CT||(CT=wa(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return d},MT={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},DT=e=>{var t=At(e,MT),r=(0,Un.useRef)(null),n=(0,Un.useState)(-1),a=YU(n,2),i=a[0],o=a[1];(0,Un.useEffect)(()=>{if(r.current&&r.current.getTotalLength)try{var M=r.current.getTotalLength();M&&o(M)}catch{}},[]);var l=t.x,s=t.y,u=t.width,c=t.height,d=t.radius,f=t.className,p=t.animationEasing,v=t.animationDuration,g=t.animationBegin,b=t.isAnimationActive,m=t.isUpdateAnimationActive,h=(0,Un.useRef)(u),x=(0,Un.useRef)(c),w=(0,Un.useRef)(l),E=(0,Un.useRef)(s),C=(0,Un.useMemo)(()=>({x:l,y:s,width:u,height:c,radius:d}),[l,s,u,c,d]),T=Jv(C,"rectangle-");if(l!==+l||s!==+s||u!==+u||c!==+c||u===0||c===0)return null;var _=Te("recharts-rectangle",f);if(!m){var I=Lt(t),z=I.radius,B=OT(I,BU);return Rv.createElement("path",eh({},B,{x:ga(l),y:ga(s),width:ga(u),height:ga(c),radius:typeof d=="number"?d:void 0,className:_,d:TT(l,s,u,c,d)}))}var $=h.current,X=x.current,H=w.current,q=E.current,y="0px ".concat(i===-1?1:i,"px"),N="".concat(i,"px ").concat(i,"px"),O=vT(["strokeDasharray"],v,typeof p=="string"?p:MT.animationEasing);return Rv.createElement(Qv,{animationId:T,key:T,canBegin:i>0,duration:v,easing:p,isActive:m,begin:g},M=>{var A=zn($,u,M),k=zn(X,c,M),V=zn(H,l,M),G=zn(q,s,M);r.current&&(h.current=A,x.current=k,w.current=V,E.current=G);var Q;b?M>0?Q={transition:O,strokeDasharray:N}:Q={strokeDasharray:y}:Q={strokeDasharray:N};var se=Lt(t),ue=se.radius,pe=OT(se,UU);return Rv.createElement("path",eh({},pe,{radius:typeof d=="number"?d:void 0,className:_,d:TT(V,G,A,k,d),ref:r,style:ET(ET({},Q),t.style)}))})};function PT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function jT(e){for(var t=1;te*180/Math.PI,Tt=(e,t,r,n)=>({x:e+Math.cos(-Ed*n)*r,y:t+Math.sin(-Ed*n)*r}),IT=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},RU=(e,t)=>{var r=e.x,n=e.y,a=t.x,i=t.y;return Math.sqrt((r-a)**2+(n-i)**2)},e$=(e,t)=>{var r=e.x,n=e.y,a=t.cx,i=t.cy,o=RU({x:r,y:n},{x:a,y:i});if(o<=0)return{radius:o,angle:0};var l=(r-a)/o,s=Math.acos(l);return n>i&&(s=2*Math.PI-s),{radius:o,angle:JU(s),angleInRadian:s}},t$=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),a=Math.floor(r/360),i=Math.min(n,a);return{startAngle:t-i*360,endAngle:r-i*360}},r$=(e,t)=>{var r=t.startAngle,n=t.endAngle,a=Math.floor(r/360),i=Math.floor(n/360),o=Math.min(a,i);return e+o*360},zT=(e,t)=>{var r=e.relativeX,n=e.relativeY,a=e$({x:r,y:n},t),i=a.radius,o=a.angle,l=t.innerRadius,s=t.outerRadius;if(is||i===0)return null;var u=t$(t),c=u.startAngle,d=u.endAngle,f=o,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?jT(jT({},t),{},{radius:i,angle:r$(f,t)}):null};function th(e){var t=e.cx,r=e.cy,n=e.radius,a=e.startAngle,i=e.endAngle,o=Tt(t,r,n,a),l=Tt(t,r,n,i);return{points:[o,l],cx:t,cy:r,radius:n,startAngle:a,endAngle:i}}var YT=J(R());var LT,BT,UT,$T,HT,VT,FT;function T1(){return T1=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=rr(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},rh=e=>{var t=e.cx,r=e.cy,n=e.radius,a=e.angle,i=e.sign,o=e.isExternal,l=e.cornerRadius,s=e.cornerIsExternal,u=l*(o?1:-1)+n,c=Math.asin(l/u)/Ed,d=s?a:a+i*c,f=Tt(t,r,u,d),p=Tt(t,r,n,d),v=s?a-i*c:a,g=Tt(t,r,u*Math.cos(c*Ed),v);return{center:f,circleTangency:p,lineTangency:g,theta:c}},qT=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,i=e.startAngle,o=e.endAngle,l=n$(i,o),s=i+l,u=Tt(t,r,a,i),c=Tt(t,r,a,s),d=tr(LT||(LT=Jo(["M ",",",` A `,",",`,0, `,",",`, `,",",` - `])),u.x,u.y,a,a,+(Math.abs(l)>180),+(i>s),c.x,c.y);if(n>0){var f=Vt(t,r,n,i),p=Vt(t,r,n,s);d+=ur(t3||(t3=cl(["L ",",",` + `])),u.x,u.y,a,a,+(Math.abs(l)>180),+(i>s),c.x,c.y);if(n>0){var f=Tt(t,r,n,i),p=Tt(t,r,n,s);d+=tr(BT||(BT=Jo(["L ",",",` A `,",",`,0, `,",",`, - `,","," Z"])),p.x,p.y,n,n,+(Math.abs(l)>180),+(i<=s),f.x,f.y)}else d+=ur(r3||(r3=cl(["L ",","," Z"])),t,r);return d},S$=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,i=e.cornerRadius,o=e.forceCornerRadius,l=e.cornerIsExternal,s=e.startAngle,u=e.endAngle,c=cr(u-s),d=ph({cx:t,cy:r,radius:a,angle:s,sign:c,cornerRadius:i,cornerIsExternal:l}),f=d.circleTangency,p=d.lineTangency,v=d.theta,h=ph({cx:t,cy:r,radius:a,angle:u,sign:-c,cornerRadius:i,cornerIsExternal:l}),b=h.circleTangency,m=h.lineTangency,g=h.theta,x=l?Math.abs(s-u):Math.abs(s-u)-v-g;if(x<0)return o?ur(n3||(n3=cl(["M ",",",` + `,","," Z"])),p.x,p.y,n,n,+(Math.abs(l)>180),+(i<=s),f.x,f.y)}else d+=tr(UT||(UT=Jo(["L ",","," Z"])),t,r);return d},a$=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,i=e.cornerRadius,o=e.forceCornerRadius,l=e.cornerIsExternal,s=e.startAngle,u=e.endAngle,c=rr(u-s),d=rh({cx:t,cy:r,radius:a,angle:s,sign:c,cornerRadius:i,cornerIsExternal:l}),f=d.circleTangency,p=d.lineTangency,v=d.theta,g=rh({cx:t,cy:r,radius:a,angle:u,sign:-c,cornerRadius:i,cornerIsExternal:l}),b=g.circleTangency,m=g.lineTangency,h=g.theta,x=l?Math.abs(s-u):Math.abs(s-u)-v-h;if(x<0)return o?tr($T||($T=Jo(["M ",",",` a`,",",",0,0,1,",`,0 a`,",",",0,0,1,",`,0 - `])),p.x,p.y,i,i,i*2,i,i,-i*2):s3({cx:t,cy:r,innerRadius:n,outerRadius:a,startAngle:s,endAngle:u});var A=ur(a3||(a3=cl(["M ",",",` + `])),p.x,p.y,i,i,i*2,i,i,-i*2):qT({cx:t,cy:r,innerRadius:n,outerRadius:a,startAngle:s,endAngle:u});var w=tr(HT||(HT=Jo(["M ",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` A`,",",",0,0,",",",",",` - `])),p.x,p.y,i,i,+(c<0),f.x,f.y,a,a,+(x>180),+(c<0),b.x,b.y,i,i,+(c<0),m.x,m.y);if(n>0){var k=ph({cx:t,cy:r,radius:n,angle:s,sign:c,isExternal:!0,cornerRadius:i,cornerIsExternal:l}),_=k.circleTangency,M=k.lineTangency,E=k.theta,L=ph({cx:t,cy:r,radius:n,angle:u,sign:-c,isExternal:!0,cornerRadius:i,cornerIsExternal:l}),I=L.circleTangency,j=L.lineTangency,z=L.theta,X=l?Math.abs(s-u):Math.abs(s-u)-E-z;if(X<0&&i===0)return"".concat(A,"L").concat(t,",").concat(r,"Z");A+=ur(i3||(i3=cl(["L",",",` + `])),p.x,p.y,i,i,+(c<0),f.x,f.y,a,a,+(x>180),+(c<0),b.x,b.y,i,i,+(c<0),m.x,m.y);if(n>0){var E=rh({cx:t,cy:r,radius:n,angle:s,sign:c,isExternal:!0,cornerRadius:i,cornerIsExternal:l}),C=E.circleTangency,T=E.lineTangency,_=E.theta,I=rh({cx:t,cy:r,radius:n,angle:u,sign:-c,isExternal:!0,cornerRadius:i,cornerIsExternal:l}),z=I.circleTangency,B=I.lineTangency,$=I.theta,X=l?Math.abs(s-u):Math.abs(s-u)-_-$;if(X<0&&i===0)return"".concat(w,"L").concat(t,",").concat(r,"Z");w+=tr(VT||(VT=Jo(["L",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` - A`,",",",0,0,",",",",","Z"])),j.x,j.y,i,i,+(c<0),I.x,I.y,n,n,+(X>180),+(c>0),_.x,_.y,i,i,+(c<0),M.x,M.y)}else A+=ur(o3||(o3=cl(["L",",","Z"])),t,r);return A},A$={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},u3=e=>{var t=Pt(e,A$),r=t.cx,n=t.cy,a=t.innerRadius,i=t.outerRadius,o=t.cornerRadius,l=t.forceCornerRadius,s=t.cornerIsExternal,u=t.startAngle,c=t.endAngle,d=t.className;if(i0&&Math.abs(u-c)<360?h=S$({cx:r,cy:n,innerRadius:a,outerRadius:i,cornerRadius:Math.min(v,p/2),forceCornerRadius:l,cornerIsExternal:s,startAngle:u,endAngle:c}):h=s3({cx:r,cy:n,innerRadius:a,outerRadius:i,startAngle:u,endAngle:c}),l3.createElement("path",q1({},Kt(t),{className:f,d:h}))};function c3(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(qm(t)){if(e==="centric"){var n=t.cx,a=t.cy,i=t.innerRadius,o=t.outerRadius,l=t.angle,s=Vt(n,a,i,l),u=Vt(n,a,o,l);return[{x:s.x,y:s.y},{x:u.x,y:u.y}]}return fh(t)}}function d3(e){return yv(e)?NaN:Number(e)}function mh(e){return e?(e=d3(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function vh(e,t,r){r&&typeof r!="number"&&wd(e,t,r)&&(t=r=void 0),e=mh(e),t===void 0?(t=e,e=0):t=mh(t),r=r===void 0?ee.chartData,Y1=V([ln],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),Bd=(e,t,r,n)=>n?Y1(e):ln(e),f3=(e,t,r)=>r?Y1(e):ln(e),p3=V([Bd],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),Bae=V([Y1],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),m3=V([ln],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});function W1(e,t){return E$(e)||C$(e,t)||_$(e,t)||N$()}function N$(){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 _$(e,t){if(e){if(typeof e=="string")return v3(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)?v3(e,t):void 0}}function v3(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=Ud(e,2),r=t[0],n=t[1],a=r,i=n;return r>n&&(a=n,i=r),[a,i]},Q1=(e,t,r)=>{if(e.lte(0))return new Re.default(0);var n=X1(e.toNumber()),a=new Re.default(10).pow(n),i=e.div(a),o=n!==1?.05:.1,l=new Re.default(Math.ceil(i.div(o).toNumber())).add(r).mul(o),s=l.mul(a);return t?new Re.default(s.toNumber()):new Re.default(Math.ceil(s.toNumber()))},w3=(e,t,r)=>{var n;if(e.lte(0))return new Re.default(0);var a=[1,2,2.5,5],i=e.toNumber(),o=Math.floor(new Re.default(i).abs().log(10).toNumber()),l=new Re.default(10).pow(o),s=e.div(l).toNumber(),u=a.findIndex(p=>p>=s-1e-10);if(u===-1&&(l=l.mul(10),u=0),u+=r,u>=a.length){var c=Math.floor(u/a.length);u%=a.length,l=l.mul(new Re.default(10).pow(c))}var d=(n=a[u])!==null&&n!==void 0?n:1,f=new Re.default(d).mul(l);return t?f:new Re.default(Math.ceil(f.toNumber()))},D$=(e,t,r)=>{var n=new Re.default(1),a=new Re.default(e);if(!a.isint()&&r){var i=Math.abs(e);i<1?(n=new Re.default(10).pow(X1(e)-1),a=new Re.default(Math.floor(a.div(n).toNumber())).mul(n)):i>1&&(a=new Re.default(Math.floor(e)))}else e===0?a=new Re.default(Math.floor((t-1)/2)):r||(a=new Re.default(Math.floor(e)));for(var o=Math.floor((t-1)/2),l=[],s=0;s4&&arguments[4]!==void 0?arguments[4]:0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Q1;if(!Number.isFinite((r-t)/(n-1)))return{step:new Re.default(0),tickMin:new Re.default(0),tickMax:new Re.default(0)};var l=o(new Re.default(r).sub(t).div(n-1),a,i),s;t<=0&&r>=0?s=new Re.default(0):(s=new Re.default(t).add(r).div(2),s=s.sub(new Re.default(s).mod(l)));var u=Math.ceil(s.sub(t).div(l).toNumber()),c=Math.ceil(new Re.default(r).sub(s).div(l).toNumber()),d=u+c+1;return d>n?S3(t,r,n,a,i+1,o):(d0?c+(n-d):c,u=r>0?u:u+(n-d)),{step:l,tickMin:s.sub(new Re.default(u).mul(l)),tickMax:s.add(new Re.default(c).mul(l))})};var yh=function(t){var r=Ud(t,2),n=r[0],a=r[1],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=Math.max(i,2),u=b3([n,a]),c=Ud(u,2),d=c[0],f=c[1];if(d===-1/0||f===1/0){var p=f===1/0?[d,...Array(i-1).fill(1/0)]:[...Array(i-1).fill(-1/0),f];return n>a?p.reverse():p}if(d===f)return D$(d,i,o);var v=l==="snap125"?w3:Q1,h=S3(d,f,s,o,0,v),b=h.step,m=h.tickMin,g=h.tickMax,x=Z1(m,g.add(new Re.default(.1).mul(b)),b);return n>a?x.reverse():x},xh=function(t,r){var n=Ud(t,2),a=n[0],i=n[1],o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=b3([a,i]),u=Ud(s,2),c=u[0],d=u[1];if(c===-1/0||d===1/0)return[a,i];if(c===d)return[c];var f=l==="snap125"?w3:Q1,p=Math.max(r,2),v=f(new Re.default(d).sub(c).div(p-1),o,0),h=[...Z1(new Re.default(c),new Re.default(d),v),d];if(o===!1){h=h.map(m=>Math.round(m));var b=h.length-1;b>0&&h[b]===h[b-1]&&(h=h.slice(0,b))}return a>i?h.reverse():h};var A3=e=>e.rootProps.barCategoryGap;var bu=e=>e.rootProps.stackOffset,bh=e=>e.rootProps.reverseStackOrder,wu=e=>e.options.chartName,wh=e=>e.rootProps.syncId,J1=e=>e.rootProps.syncMethod,Sh=e=>e.options.eventEmitter,N3=e=>e.rootProps.baseValue;var dt={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 ho={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:dt.axis};var pa={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:dt.axis};var dl=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function fl(e,t,r){if(r!=="auto")return r;if(e!=null)return on(e,t)?"category":"number"}function _3(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Ah(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},Nh=V([z$,z1],(e,t)=>{var r;if(e!=null)return e;var n=(r=fl(t,"angleAxis",C3.type))!==null&&r!==void 0?r:"category";return Ah(Ah({},C3),{},{type:n})}),L$=(e,t)=>e.polarAxis.radiusAxis[t],_h=V([L$,z1],(e,t)=>{var r;if(e!=null)return e;var n=(r=fl(t,"radiusAxis",E3.type))!==null&&r!==void 0?r:"category";return Ah(Ah({},E3),{},{type:n})}),Ch=e=>e.polarOptions,R1=V([Pr,jr,Et],JT),k3=V([Ch,R1],(e,t)=>{if(e!=null)return Fn(e.innerRadius,t,0)}),O3=V([Ch,R1],(e,t)=>{if(e!=null)return Fn(e.outerRadius,t,t*.8)}),B$=e=>{if(e==null)return[0,0];var t=e.startAngle,r=e.endAngle;return[t,r]},e2=V([Ch],B$),mie=V([Nh,e2],dl),t2=V([R1,k3,O3],(e,t,r)=>{if(!(e==null||t==null||r==null))return[t,r]}),vie=V([_h,t2],dl),Eh=V([lt,Ch,k3,O3,Pr,jr],(e,t,r,n,a,i)=>{if(!(e!=="centric"&&e!=="radial"||t==null||r==null||n==null)){var o=t.cx,l=t.cy,s=t.startAngle,u=t.endAngle;return{cx:Fn(o,a,a/2),cy:Fn(l,i,i/2),innerRadius:r,outerRadius:n,startAngle:s,endAngle:u,clockWise:!1}}});var fr=(e,t)=>t;var $d=(e,t,r)=>r;function Su(e){return e?.id}function kh(e,t,r){var n=t.chartData,a=n===void 0?[]:n,i=r.allowDuplicatedCategory,o=r.dataKey,l=new Map;return e.forEach(s=>{var u,c=(u=s.data)!==null&&u!==void 0?u:a;if(!(c==null||c.length===0)){var d=Su(s);c.forEach((f,p)=>{var v=o==null||i?p:String(Ct(f,o,null)),h=Ct(f,s.dataKey,0),b;l.has(v)?b=l.get(v):b={},Object.assign(b,{[d]:h}),l.set(v,b)})}}),Array.from(l.values())}function Hd(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var pl=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function Au(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function T3(e,t){if(e.length===t.length){for(var r=0;r{var t=lt(e);return t==="horizontal"?"xAxis":t==="vertical"?"yAxis":t==="centric"?"angleAxis":"radiusAxis"};var go=e=>e.tooltip.settings.axisId;function Vd(e){if(e!=null){var t=e.ticks,r=e.bandwidth,n=e.range(),a=[Math.min(...n),Math.max(...n)];return{domain:()=>e.domain(),range:(function(i){function o(){return i.apply(this,arguments)}return o.toString=function(){return i.toString()},o})(()=>a),rangeMin:()=>a[0],rangeMax:()=>a[1],isInRange(i){var o=a[0],l=a[1];return o<=l?i>=o&&i<=l:i>=l&&i<=o},bandwidth:r?()=>r.call(e):void 0,ticks:t?i=>t.call(e,i):void 0,map:(i,o)=>{var l=e(i);if(l!=null){if(e.bandwidth&&o!==null&&o!==void 0&&o.position){var s=e.bandwidth();switch(o.position){case"middle":l+=s/2;break;case"end":l+=s;break;default:break}}return l}}}}}var M3=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!Cn(t)){for(var r,n,a=0;an)&&(n=i))}return r!==void 0&&n!==void 0?[r,n]:void 0}return t}default:return t}};var cf={};Ej(cf,{scaleBand:()=>Wd,scaleDiverging:()=>u0,scaleDivergingLog:()=>j2,scaleDivergingPow:()=>c0,scaleDivergingSqrt:()=>R4,scaleDivergingSymlog:()=>I2,scaleIdentity:()=>Kh,scaleImplicit:()=>Ih,scaleLinear:()=>Wh,scaleLog:()=>Gh,scaleOrdinal:()=>Cu,scalePoint:()=>B3,scalePow:()=>nf,scaleQuantile:()=>Qh,scaleQuantize:()=>Jh,scaleRadial:()=>Zh,scaleSequential:()=>i0,scaleSequentialLog:()=>D2,scaleSequentialPow:()=>o0,scaleSequentialQuantile:()=>l0,scaleSequentialSqrt:()=>J4,scaleSequentialSymlog:()=>P2,scaleSqrt:()=>b4,scaleSymlog:()=>Xh,scaleThreshold:()=>Rh,scaleTime:()=>T2,scaleUtc:()=>M2,tickFormat:()=>Jd});function Yr(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function r2(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function ml(e){let t,r,n;e.length!==2?(t=Yr,r=(l,s)=>Yr(e(l),s),n=(l,s)=>e(l)-s):(t=e===Yr||e===r2?e:U$,r=e,n=e);function a(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:a,center:o,right:i}}function U$(){return 0}function Fd(e){return e===null?NaN:+e}function*D3(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 P3=ml(Yr),j3=P3.right,$$=P3.left,H$=ml(Fd).center,ma=j3;var Nu=class extends Map{constructor(t,r=q$){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(let[n,a]of t)this.set(n,a)}get(t){return super.get(I3(this,t))}has(t){return super.has(I3(this,t))}set(t,r){return super.set(V$(this,t),r)}delete(t){return super.delete(F$(this,t))}};function I3({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):r}function V$({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function F$({_intern:e,_key:t},r){let n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function q$(e){return e!==null&&typeof e=="object"?e.valueOf():e}function z3(e=Yr){if(e===Yr)return n2;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 n2(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}var Y$=Math.sqrt(50),W$=Math.sqrt(10),K$=Math.sqrt(2);function Oh(e,t,r){let n=(t-e)/Math.max(0,r),a=Math.floor(Math.log10(n)),i=n/Math.pow(10,a),o=i>=Y$?10:i>=W$?5:i>=K$?2:1,l,s,u;return a<0?(u=Math.pow(10,-a)/o,l=Math.round(e*u),s=Math.round(t*u),l/ut&&--s,u=-u):(u=Math.pow(10,a)*o,l=Math.round(e/u),s=Math.round(t/u),l*ut&&--s),s0))return[];if(e===t)return[e];let n=t=a))return[];let l=i-a+1,s=new Array(l);if(n)if(o<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let a of e)(a=t(a,++n,e))!=null&&(r=a)&&(r=a)}return r}function Mh(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 a of e)(a=t(a,++n,e))!=null&&(r>a||r===void 0&&a>=a)&&(r=a)}return r}function Dh(e,t,r=0,n=1/0,a){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(a=a===void 0?n2:z3(a);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)),v=Math.min(n,Math.floor(t+(s-u)*d/s+f));Dh(e,t,p,v,a)}let i=e[t],o=r,l=n;for(Yd(e,r,t),a(e[n],i)>0&&Yd(e,r,n);o0;)--l}a(e[r],i)===0?Yd(e,r,l):(++l,Yd(e,l,n)),l<=t&&(r=l+1),t<=l&&(n=l-1)}return e}function Yd(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}function Ph(e,t,r){if(e=Float64Array.from(D3(e,r)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return Mh(e);if(t>=1)return Th(e);var n,a=(n-1)*t,i=Math.floor(a),o=Th(Dh(e,i).subarray(0,i+1)),l=Mh(e.subarray(i+1));return o+(l-o)*(a-i)}}function a2(e,t,r=Fd){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,a=(n-1)*t,i=Math.floor(a),o=+r(e[i],i,e),l=+r(e[i+1],i+1,e);return o+(l-o)*(a-i)}}function jh(e,t,r){e=+e,t=+t,r=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+r;for(var n=-1,a=Math.max(0,Math.ceil((t-e)/r))|0,i=new Array(a);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?Lh(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?Lh(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=X$.exec(e))?new sn(t[1],t[2],t[3],1):(t=Z$.exec(e))?new sn(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Q$.exec(e))?Lh(t[1],t[2],t[3],t[4]):(t=J$.exec(e))?Lh(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=R$.exec(e))?Y3(t[1],t[2]/100,t[3]/100,1):(t=eH.exec(e))?Y3(t[1],t[2]/100,t[3]/100,t[4]):U3.hasOwnProperty(e)?V3(U3[e]):e==="transparent"?new sn(NaN,NaN,NaN,0):null}function V3(e){return new sn(e>>16&255,e>>8&255,e&255,1)}function Lh(e,t,r,n){return n<=0&&(e=t=r=NaN),new sn(e,t,r,n)}function nH(e){return e instanceof Xd||(e=yo(e)),e?(e=e.rgb(),new sn(e.r,e.g,e.b,e.opacity)):new sn}function ku(e,t,r,n){return arguments.length===1?nH(e):new sn(e,t,r,n??1)}function sn(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}zh(sn,ku,i2(Xd,{brighter(e){return e=e==null?Uh:Math.pow(Uh,e),new sn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Kd:Math.pow(Kd,e),new sn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new sn(gl(this.r),gl(this.g),gl(this.b),$h(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:F3,formatHex:F3,formatHex8:aH,formatRgb:q3,toString:q3}));function F3(){return`#${hl(this.r)}${hl(this.g)}${hl(this.b)}`}function aH(){return`#${hl(this.r)}${hl(this.g)}${hl(this.b)}${hl((isNaN(this.opacity)?1:this.opacity)*255)}`}function q3(){let e=$h(this.opacity);return`${e===1?"rgb(":"rgba("}${gl(this.r)}, ${gl(this.g)}, ${gl(this.b)}${e===1?")":`, ${e})`}`}function $h(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function gl(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function hl(e){return e=gl(e),(e<16?"0":"")+e.toString(16)}function Y3(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new va(e,t,r,n)}function K3(e){if(e instanceof va)return new va(e.h,e.s,e.l,e.opacity);if(e instanceof Xd||(e=yo(e)),!e)return new va;if(e instanceof va)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,a=Math.min(t,r,n),i=Math.max(t,r,n),o=NaN,l=i-a,s=(i+a)/2;return l?(t===i?o=(r-n)/l+(r0&&s<1?0:o,new va(o,l,s,e.opacity)}function G3(e,t,r,n){return arguments.length===1?K3(e):new va(e,t,r,n??1)}function va(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}zh(va,G3,i2(Xd,{brighter(e){return e=e==null?Uh:Math.pow(Uh,e),new va(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Kd:Math.pow(Kd,e),new va(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,a=2*r-n;return new sn(o2(e>=240?e-240:e+120,a,n),o2(e,a,n),o2(e<120?e+240:e-120,a,n),this.opacity)},clamp(){return new va(W3(this.h),Bh(this.s),Bh(this.l),$h(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=$h(this.opacity);return`${e===1?"hsl(":"hsla("}${W3(this.h)}, ${Bh(this.s)*100}%, ${Bh(this.l)*100}%${e===1?")":`, ${e})`}`}}));function W3(e){return e=(e||0)%360,e<0?e+360:e}function Bh(e){return Math.max(0,Math.min(1,e||0))}function o2(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 l2(e,t,r,n,a){var i=e*e,o=i*e;return((1-3*e+3*i-o)*t+(4-6*i+3*o)*r+(1+3*e+3*i-3*o)*n+o*a)/6}function X3(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),a=e[n],i=e[n+1],o=n>0?e[n-1]:2*a-i,l=n()=>e;function iH(e,t){return function(r){return e+r*t}}function oH(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 Q3(e){return(e=+e)==1?Hh:function(t,r){return r-t?oH(t,r,e):Zd(isNaN(t)?r:t)}}function Hh(e,t){var r=t-e;return r?iH(e,r):Zd(isNaN(e)?t:e)}var s2=(function e(t){var r=Q3(t);function n(a,i){var o=r((a=ku(a)).r,(i=ku(i)).r),l=r(a.g,i.g),s=r(a.b,i.b),u=Hh(a.opacity,i.opacity);return function(c){return a.r=o(c),a.g=l(c),a.b=s(c),a.opacity=u(c),a+""}}return n.gamma=e,n})(1);function J3(e){return function(t){var r=t.length,n=new Array(r),a=new Array(r),i=new Array(r),o,l;for(o=0;or&&(i=t.slice(r,i),l[o]?l[o]+=i:l[++o]=i),(n=n[0])===(a=a[0])?l[o]?l[o]+=a:l[++o]=a:(l[++o]=null,s.push({i:o,x:xo(n,a)})),r=u2.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function cH(e,t,r){var n=e[0],a=e[1],i=t[0],o=t[1];return a2?dH:cH,s=u=null,d}function d(f){return f==null||isNaN(f=+f)?i:(s||(s=l(e.map(n),t,r)))(n(o(f)))}return d.invert=function(f){return o(a((u||(u=l(t,e.map(n),xo)))(f)))},d.domain=function(f){return arguments.length?(e=Array.from(f,bo),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=yl,c()},d.clamp=function(f){return arguments.length?(o=f?!0:pr,c()):o!==pr},d.interpolate=function(f){return arguments.length?(r=f,c()):r},d.unknown=function(f){return arguments.length?(i=f,d):i},function(f,p){return n=f,a=p,c()}}function bl(){return xl()(pr,pr)}function o4(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function wl(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 Da(e){return e=wl(Math.abs(e)),e?e[1]:NaN}function l4(e,t){return function(r,n){for(var a=r.length,i=[],o=0,l=e[0],s=0;a>0&&l>0&&(s+l+1>n&&(l=Math.max(1,n-s)),i.push(r.substring(a-=l,a+l)),!((s+=l+1)>n));)l=e[o=(o+1)%e.length];return i.reverse().join(t)}}function s4(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var fH=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Pa(e){if(!(t=fH.exec(e)))throw new Error("invalid format: "+e);var t;return new Fh({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]})}Pa.prototype=Fh.prototype;function Fh(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+""}Fh.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 u4(e){e:for(var t=e.length,r=1,n=-1,a;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(a+1):e}var Qd;function c4(e,t){var r=wl(e,t);if(!r)return Qd=void 0,e.toPrecision(t);var n=r[0],a=r[1],i=a-(Qd=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,o=n.length;return i===o?n:i>o?n+new Array(i-o+1).join("0"):i>0?n.slice(0,i)+"."+n.slice(i):"0."+new Array(1-i).join("0")+wl(e,Math.max(0,t+i-1))[0]}function p2(e,t){var r=wl(e,t);if(!r)return e+"";var n=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+n:n.length>a+1?n.slice(0,a+1)+"."+n.slice(a+1):n+new Array(a-n.length+2).join("0")}var m2={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:o4,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)=>p2(e*100,t),r:p2,s:c4,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function v2(e){return e}var d4=Array.prototype.map,f4=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function p4(e){var t=e.grouping===void 0||e.thousands===void 0?v2:l4(d4.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",a=e.decimal===void 0?".":e.decimal+"",i=e.numerals===void 0?v2:s4(d4.call(e.numerals,String)),o=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=Pa(d);var p=d.fill,v=d.align,h=d.sign,b=d.symbol,m=d.zero,g=d.width,x=d.comma,A=d.precision,k=d.trim,_=d.type;_==="n"?(x=!0,_="g"):m2[_]||(A===void 0&&(A=12),k=!0,_="g"),(m||p==="0"&&v==="=")&&(m=!0,p="0",v="=");var M=(f&&f.prefix!==void 0?f.prefix:"")+(b==="$"?r:b==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():""),E=(b==="$"?n:/[%p]/.test(_)?o:"")+(f&&f.suffix!==void 0?f.suffix:""),L=m2[_],I=/[defgprs%]/.test(_);A=A===void 0?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,A)):Math.max(0,Math.min(20,A));function j(z){var X=M,R=E,Q,y,C;if(_==="c")R=L(z)+R,z="";else{z=+z;var O=z<0||1/z<0;if(z=isNaN(z)?s:L(Math.abs(z),A),k&&(z=u4(z)),O&&+z==0&&h!=="+"&&(O=!1),X=(O?h==="("?h:l:h==="-"||h==="("?"":h)+X,R=(_==="s"&&!isNaN(z)&&Qd!==void 0?f4[8+Qd/3]:"")+R+(O&&h==="("?")":""),I){for(Q=-1,y=z.length;++QC||C>57){R=(C===46?a+z.slice(Q+1):z.slice(Q))+R,z=z.slice(0,Q);break}}}x&&!m&&(z=t(z,1/0));var D=X.length+z.length+R.length,N=D>1)+X+z+R+N.slice(D);break;default:z=N+X+z+R;break}return i(z)}return j.toString=function(){return d+""},j}function c(d,f){var p=Math.max(-8,Math.min(8,Math.floor(Da(f)/3)))*3,v=Math.pow(10,-p),h=u((d=Pa(d),d.type="f",d),{suffix:f4[8+p/3]});return function(b){return h(v*b)}}return{format:u,formatPrefix:c}}var qh,Ou,Yh;h2({thousands:",",grouping:[3],currency:["$",""]});function h2(e){return qh=p4(e),Ou=qh.format,Yh=qh.formatPrefix,qh}function g2(e){return Math.max(0,-Da(Math.abs(e)))}function y2(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Da(t)/3)))*3-Da(Math.abs(e)))}function x2(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Da(t)-Da(e))+1}function Jd(e,t,r,n){var a=_u(e,t,r),i;switch(n=Pa(n??",f"),n.type){case"s":{var o=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(i=y2(a,o))&&(n.precision=i),Yh(n,o)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(i=x2(a,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=i-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(i=g2(a))&&(n.precision=i-(n.type==="%")*2);break}}return Ou(n)}function Wr(e){var t=e.domain;return e.ticks=function(r){var n=t();return vl(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var a=t();return Jd(a[0],a[a.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),a=0,i=n.length-1,o=n[a],l=n[i],s,u,c=10;for(l0;){if(u=qd(o,l,r),u===s)return n[a]=o,n[i]=l,t(n);if(u>0)o=Math.floor(o/u)*u,l=Math.ceil(l/u)*u;else if(u<0)o=Math.ceil(o*u)/u,l=Math.floor(l*u)/u;else break;s=u}return e},e}function Wh(){var e=bl();return e.copy=function(){return Ma(e,Wh())},jt.apply(e,arguments),Wr(e)}function Kh(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,bo),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return Kh(e).unknown(t)},e=arguments.length?Array.from(e,bo):[0,1],Wr(r)}function Rd(e,t){e=e.slice();var r=0,n=e.length-1,a=e[r],i=e[n],o;return iMath.pow(e,t)}function gH(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 h4(e){return(t,r)=>-e(-t,r)}function ef(e){let t=e(m4,v4),r=t.domain,n=10,a,i;function o(){return a=gH(n),i=hH(n),r()[0]<0?(a=h4(a),i=h4(i),e(pH,mH)):e(m4,v4),t}return t.base=function(l){return arguments.length?(n=+l,o()):n},t.domain=function(l){return arguments.length?(r(l),o()):r()},t.ticks=l=>{let s=r(),u=s[0],c=s[s.length-1],d=c0){for(;f<=p;++f)for(v=1;vc)break;m.push(h)}}else for(;f<=p;++f)for(v=n-1;v>=1;--v)if(h=f>0?v/i(-f):v*i(f),!(hc)break;m.push(h)}m.length*2{if(l==null&&(l=10),s==null&&(s=n===10?"s":","),typeof s!="function"&&(!(n%1)&&(s=Pa(s)).precision==null&&(s.trim=!0),s=Ou(s)),l===1/0)return s;let u=Math.max(1,n*l/t.ticks().length);return c=>{let d=c/i(Math.round(a(c)));return d*nr(Rd(r(),{floor:l=>i(Math.floor(a(l))),ceil:l=>i(Math.ceil(a(l)))})),t}function Gh(){let e=ef(xl()).domain([1,10]);return e.copy=()=>Ma(e,Gh()).base(e.base()),jt.apply(e,arguments),e}function g4(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function y4(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function tf(e){var t=1,r=e(g4(t),y4(t));return r.constant=function(n){return arguments.length?e(g4(t=+n),y4(t)):t},Wr(r)}function Xh(){var e=tf(xl());return e.copy=function(){return Ma(e,Xh()).constant(e.constant())},jt.apply(e,arguments)}function x4(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function yH(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function xH(e){return e<0?-e*e:e*e}function rf(e){var t=e(pr,pr),r=1;function n(){return r===1?e(pr,pr):r===.5?e(yH,xH):e(x4(r),x4(1/r))}return t.exponent=function(a){return arguments.length?(r=+a,n()):r},Wr(t)}function nf(){var e=rf(xl());return e.copy=function(){return Ma(e,nf()).exponent(e.exponent())},jt.apply(e,arguments),e}function b4(){return nf.apply(null,arguments).exponent(.5)}function w4(e){return Math.sign(e)*e*e}function bH(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function Zh(){var e=bl(),t=[0,1],r=!1,n;function a(i){var o=bH(e(i));return isNaN(o)?n:r?Math.round(o):o}return a.invert=function(i){return e.invert(w4(i))},a.domain=function(i){return arguments.length?(e.domain(i),a):e.domain()},a.range=function(i){return arguments.length?(e.range((t=Array.from(i,bo)).map(w4)),a):t.slice()},a.rangeRound=function(i){return a.range(i).round(!0)},a.round=function(i){return arguments.length?(r=!!i,a):r},a.clamp=function(i){return arguments.length?(e.clamp(i),a):e.clamp()},a.unknown=function(i){return arguments.length?(n=i,a):n},a.copy=function(){return Zh(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},jt.apply(a,arguments),Wr(a)}function Qh(){var e=[],t=[],r=[],n;function a(){var o=0,l=Math.max(1,t.length);for(r=new Array(l-1);++o0?r[l-1]:e[0],l=r?[n[r-1],t]:[n[u-1],n[u]]},o.unknown=function(s){return arguments.length&&(i=s),o},o.thresholds=function(){return n.slice()},o.copy=function(){return Jh().domain([e,t]).range(a).unknown(i)},jt.apply(Wr(o),arguments)}function Rh(){var e=[.5],t=[0,1],r,n=1;function a(i){return i!=null&&i<=i?t[ma(e,i,0,n)]:r}return a.domain=function(i){return arguments.length?(e=Array.from(i),n=Math.min(e.length,t.length-1),a):e.slice()},a.range=function(i){return arguments.length?(t=Array.from(i),n=Math.min(e.length,t.length-1),a):t.slice()},a.invertExtent=function(i){var o=t.indexOf(i);return[e[o-1],e[o]]},a.unknown=function(i){return arguments.length?(r=i,a):r},a.copy=function(){return Rh().domain(e).range(t).unknown(r)},jt.apply(a,arguments)}var b2=new Date,w2=new Date;function gt(e,t,r,n){function a(i){return e(i=arguments.length===0?new Date:new Date(+i)),i}return a.floor=i=>(e(i=new Date(+i)),i),a.ceil=i=>(e(i=new Date(i-1)),t(i,1),e(i),i),a.round=i=>{let o=a(i),l=a.ceil(i);return i-o(t(i=new Date(+i),o==null?1:Math.floor(o)),i),a.range=(i,o,l)=>{let s=[];if(i=a.ceil(i),l=l==null?1:Math.floor(l),!(i0))return s;let u;do s.push(u=new Date(+i)),t(i,l),e(i);while(ugt(o=>{if(o>=o)for(;e(o),!i(o);)o.setTime(o-1)},(o,l)=>{if(o>=o)if(l<0)for(;++l<=0;)for(;t(o,-1),!i(o););else for(;--l>=0;)for(;t(o,1),!i(o););}),r&&(a.count=(i,o)=>(b2.setTime(+i),w2.setTime(+o),e(b2),e(w2),Math.floor(r(b2,w2))),a.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?a.filter(n?o=>n(o)%i===0:o=>a.count(0,o)%i===0):a)),a}var af=gt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);af.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?gt(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):af);var Kse=af.range;var Xn=gt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*1e3)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds()),S4=Xn.range;var Tu=gt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getMinutes()),wH=Tu.range,Mu=gt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes()),SH=Mu.range;var Du=gt(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()),AH=Du.range,Pu=gt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours()),NH=Pu.range;var vi=gt(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),_H=vi.range,Nl=gt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1),CH=Nl.range,e0=gt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5)),EH=e0.range;function _l(e){return gt(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 hi=_l(0),ju=_l(1),N4=_l(2),_4=_l(3),wo=_l(4),C4=_l(5),E4=_l(6),k4=hi.range,kH=ju.range,OH=N4.range,TH=_4.range,MH=wo.range,DH=C4.range,PH=E4.range;function Cl(e){return gt(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 gi=Cl(0),Iu=Cl(1),O4=Cl(2),T4=Cl(3),So=Cl(4),M4=Cl(5),D4=Cl(6),P4=gi.range,jH=Iu.range,IH=O4.range,zH=T4.range,LH=So.range,BH=M4.range,UH=D4.range;var zu=gt(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()),$H=zu.range,Lu=gt(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()),HH=Lu.range;var kn=gt(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());kn.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:gt(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 VH=kn.range,On=gt(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());On.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:gt(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 FH=On.range;function I4(e,t,r,n,a,i){let o=[[Xn,1,1e3],[Xn,5,5*1e3],[Xn,15,15*1e3],[Xn,30,30*1e3],[i,1,6e4],[i,5,5*6e4],[i,15,15*6e4],[i,30,30*6e4],[a,1,36e5],[a,3,3*36e5],[a,6,6*36e5],[a,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=cb).right(o,f);if(p===o.length)return e.every(_u(u/31536e6,c/31536e6,d));if(p===0)return af.every(Math.max(_u(u,c,d),1));let[v,h]=o[f/o[p-1][2]53)return null;"w"in $||($.w=1),"Z"in $?(ae=E2(lf($.y,0,1)),ie=ae.getUTCDay(),ae=ie>4||ie===0?Iu.ceil(ae):Iu(ae),ae=Nl.offset(ae,($.V-1)*7),$.y=ae.getUTCFullYear(),$.m=ae.getUTCMonth(),$.d=ae.getUTCDate()+($.w+6)%7):(ae=C2(lf($.y,0,1)),ie=ae.getDay(),ae=ie>4||ie===0?ju.ceil(ae):ju(ae),ae=vi.offset(ae,($.V-1)*7),$.y=ae.getFullYear(),$.m=ae.getMonth(),$.d=ae.getDate()+($.w+6)%7)}else("W"in $||"U"in $)&&("w"in $||($.w="u"in $?$.u%7:"W"in $?1:0),ie="Z"in $?E2(lf($.y,0,1)).getUTCDay():C2(lf($.y,0,1)).getDay(),$.m=0,$.d="W"in $?($.w+6)%7+$.W*7-(ie+5)%7:$.w+$.U*7-(ie+6)%7);return"Z"in $?($.H+=$.Z/100|0,$.M+=$.Z%100,E2($)):C2($)}}function E(se,Ne,F,$){for(var q=0,ae=Ne.length,ie=F.length,G,xe;q=ie)return-1;if(G=Ne.charCodeAt(q++),G===37){if(G=Ne.charAt(q++),xe=k[G in z4?Ne.charAt(q++):G],!xe||($=xe(se,F,$))<0)return-1}else if(G!=F.charCodeAt($++))return-1}return $}function L(se,Ne,F){var $=u.exec(Ne.slice(F));return $?(se.p=c.get($[0].toLowerCase()),F+$[0].length):-1}function I(se,Ne,F){var $=p.exec(Ne.slice(F));return $?(se.w=v.get($[0].toLowerCase()),F+$[0].length):-1}function j(se,Ne,F){var $=d.exec(Ne.slice(F));return $?(se.w=f.get($[0].toLowerCase()),F+$[0].length):-1}function z(se,Ne,F){var $=m.exec(Ne.slice(F));return $?(se.m=g.get($[0].toLowerCase()),F+$[0].length):-1}function X(se,Ne,F){var $=h.exec(Ne.slice(F));return $?(se.m=b.get($[0].toLowerCase()),F+$[0].length):-1}function R(se,Ne,F){return E(se,t,Ne,F)}function Q(se,Ne,F){return E(se,r,Ne,F)}function y(se,Ne,F){return E(se,n,Ne,F)}function C(se){return o[se.getDay()]}function O(se){return i[se.getDay()]}function D(se){return s[se.getMonth()]}function N(se){return l[se.getMonth()]}function T(se){return a[+(se.getHours()>=12)]}function H(se){return 1+~~(se.getMonth()/3)}function Y(se){return o[se.getUTCDay()]}function J(se){return i[se.getUTCDay()]}function fe(se){return s[se.getUTCMonth()]}function pe(se){return l[se.getUTCMonth()]}function ge(se){return a[+(se.getUTCHours()>=12)]}function ze(se){return 1+~~(se.getUTCMonth()/3)}return{format:function(se){var Ne=_(se+="",x);return Ne.toString=function(){return se},Ne},parse:function(se){var Ne=M(se+="",!1);return Ne.toString=function(){return se},Ne},utcFormat:function(se){var Ne=_(se+="",A);return Ne.toString=function(){return se},Ne},utcParse:function(se){var Ne=M(se+="",!0);return Ne.toString=function(){return se},Ne}}}var z4={"-":"",_:" ",0:"0"},yr=/^\s*\d+/,YH=/^%/,WH=/[\\^$*+?|[\]().{}]/g;function at(e,t,r){var n=e<0?"-":"",a=(n?-e:e)+"",i=a.length;return n+(i[t.toLowerCase(),r]))}function GH(e,t,r){var n=yr.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function XH(e,t,r){var n=yr.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function ZH(e,t,r){var n=yr.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function QH(e,t,r){var n=yr.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function JH(e,t,r){var n=yr.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function L4(e,t,r){var n=yr.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function B4(e,t,r){var n=yr.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function RH(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 eV(e,t,r){var n=yr.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function tV(e,t,r){var n=yr.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function U4(e,t,r){var n=yr.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function rV(e,t,r){var n=yr.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function $4(e,t,r){var n=yr.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function nV(e,t,r){var n=yr.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function aV(e,t,r){var n=yr.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function iV(e,t,r){var n=yr.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function oV(e,t,r){var n=yr.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function lV(e,t,r){var n=YH.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function sV(e,t,r){var n=yr.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function uV(e,t,r){var n=yr.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function H4(e,t){return at(e.getDate(),t,2)}function cV(e,t){return at(e.getHours(),t,2)}function dV(e,t){return at(e.getHours()%12||12,t,2)}function fV(e,t){return at(1+vi.count(kn(e),e),t,3)}function W4(e,t){return at(e.getMilliseconds(),t,3)}function pV(e,t){return W4(e,t)+"000"}function mV(e,t){return at(e.getMonth()+1,t,2)}function vV(e,t){return at(e.getMinutes(),t,2)}function hV(e,t){return at(e.getSeconds(),t,2)}function gV(e){var t=e.getDay();return t===0?7:t}function yV(e,t){return at(hi.count(kn(e)-1,e),t,2)}function K4(e){var t=e.getDay();return t>=4||t===0?wo(e):wo.ceil(e)}function xV(e,t){return e=K4(e),at(wo.count(kn(e),e)+(kn(e).getDay()===4),t,2)}function bV(e){return e.getDay()}function wV(e,t){return at(ju.count(kn(e)-1,e),t,2)}function SV(e,t){return at(e.getFullYear()%100,t,2)}function AV(e,t){return e=K4(e),at(e.getFullYear()%100,t,2)}function NV(e,t){return at(e.getFullYear()%1e4,t,4)}function _V(e,t){var r=e.getDay();return e=r>=4||r===0?wo(e):wo.ceil(e),at(e.getFullYear()%1e4,t,4)}function CV(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+at(t/60|0,"0",2)+at(t%60,"0",2)}function V4(e,t){return at(e.getUTCDate(),t,2)}function EV(e,t){return at(e.getUTCHours(),t,2)}function kV(e,t){return at(e.getUTCHours()%12||12,t,2)}function OV(e,t){return at(1+Nl.count(On(e),e),t,3)}function G4(e,t){return at(e.getUTCMilliseconds(),t,3)}function TV(e,t){return G4(e,t)+"000"}function MV(e,t){return at(e.getUTCMonth()+1,t,2)}function DV(e,t){return at(e.getUTCMinutes(),t,2)}function PV(e,t){return at(e.getUTCSeconds(),t,2)}function jV(e){var t=e.getUTCDay();return t===0?7:t}function IV(e,t){return at(gi.count(On(e)-1,e),t,2)}function X4(e){var t=e.getUTCDay();return t>=4||t===0?So(e):So.ceil(e)}function zV(e,t){return e=X4(e),at(So.count(On(e),e)+(On(e).getUTCDay()===4),t,2)}function LV(e){return e.getUTCDay()}function BV(e,t){return at(Iu.count(On(e)-1,e),t,2)}function UV(e,t){return at(e.getUTCFullYear()%100,t,2)}function $V(e,t){return e=X4(e),at(e.getUTCFullYear()%100,t,2)}function HV(e,t){return at(e.getUTCFullYear()%1e4,t,4)}function VV(e,t){var r=e.getUTCDay();return e=r>=4||r===0?So(e):So.ceil(e),at(e.getUTCFullYear()%1e4,t,4)}function FV(){return"+0000"}function F4(){return"%"}function q4(e){return+e}function Y4(e){return Math.floor(+e/1e3)}var Bu,t0,Z4,r0,Q4;O2({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 O2(e){return Bu=k2(e),t0=Bu.format,Z4=Bu.parse,r0=Bu.utcFormat,Q4=Bu.utcParse,Bu}function qV(e){return new Date(e)}function YV(e){return e instanceof Date?+e:+new Date(+e)}function n0(e,t,r,n,a,i,o,l,s,u){var c=bl(),d=c.invert,f=c.domain,p=u(".%L"),v=u(":%S"),h=u("%I:%M"),b=u("%I %p"),m=u("%a %d"),g=u("%b %d"),x=u("%B"),A=u("%Y");function k(_){return(s(_)<_?p:l(_)<_?v:o(_)<_?h:i(_)<_?b:n(_)<_?a(_)<_?m:g:r(_)<_?x:A)(_)}return c.invert=function(_){return new Date(d(_))},c.domain=function(_){return arguments.length?f(Array.from(_,YV)):f().map(qV)},c.ticks=function(_){var M=f();return e(M[0],M[M.length-1],_??10)},c.tickFormat=function(_,M){return M==null?k:u(M)},c.nice=function(_){var M=f();return(!_||typeof _.range!="function")&&(_=t(M[0],M[M.length-1],_??10)),_?f(Rd(M,_)):c},c.copy=function(){return Ma(c,n0(e,t,r,n,a,i,o,l,s,u))},c}function T2(){return jt.apply(n0(N2,_2,kn,zu,hi,vi,Du,Tu,Xn,t0).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function M2(){return jt.apply(n0(S2,A2,On,Lu,gi,Nl,Pu,Mu,Xn,r0).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function a0(){var e=0,t=1,r,n,a,i,o=pr,l=!1,s;function u(d){return d==null||isNaN(d=+d)?s:o(a===0?.5:(d=(i(d)-r)*a,l?Math.max(0,Math.min(1,d)):d))}u.domain=function(d){return arguments.length?([e,t]=d,r=i(e=+e),n=i(t=+t),a=r===n?0:1/(n-r),u):[e,t]},u.clamp=function(d){return arguments.length?(l=!!d,u):l},u.interpolator=function(d){return arguments.length?(o=d,u):o};function c(d){return function(f){var p,v;return arguments.length?([p,v]=f,o=d(p,v),u):[o(0),o(1)]}}return u.range=c(En),u.rangeRound=c(yl),u.unknown=function(d){return arguments.length?(s=d,u):s},function(d){return i=d,r=d(e),n=d(t),a=r===n?0:1/(n-r),u}}function yi(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function i0(){var e=Wr(a0()(pr));return e.copy=function(){return yi(e,i0())},Gn.apply(e,arguments)}function D2(){var e=ef(a0()).domain([1,10]);return e.copy=function(){return yi(e,D2()).base(e.base())},Gn.apply(e,arguments)}function P2(){var e=tf(a0());return e.copy=function(){return yi(e,P2()).constant(e.constant())},Gn.apply(e,arguments)}function o0(){var e=rf(a0());return e.copy=function(){return yi(e,o0()).exponent(e.exponent())},Gn.apply(e,arguments)}function J4(){return o0.apply(null,arguments).exponent(.5)}function l0(){var e=[],t=pr;function r(n){if(n!=null&&!isNaN(n=+n))return t((ma(e,n,1)-1)/(e.length-1))}return r.domain=function(n){if(!arguments.length)return e.slice();e=[];for(let a of n)a!=null&&!isNaN(a=+a)&&e.push(a);return e.sort(Yr),r},r.interpolator=function(n){return arguments.length?(t=n,r):t},r.range=function(){return e.map((n,a)=>t(a/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(a,i)=>Ph(e,i/n))},r.copy=function(){return l0(t).domain(e)},Gn.apply(r,arguments)}function s0(){var e=0,t=.5,r=1,n=1,a,i,o,l,s,u=pr,c,d=!1,f;function p(h){return isNaN(h=+h)?f:(h=.5+((h=+c(h))-i)*(n*h{if(e!=null){var n=e.scale,a=e.type;if(n==="auto")return a==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!t)?"point":a==="category"?"band":"linear";if(typeof n=="string")return GV(n)?n:"point"}};function XV(e,t){for(var r=0,n=e.length,a=e[0]t)?r=i+1:n=i}return r}function f0(e,t){if(e){var r=t??e.domain(),n=r.map(i=>{var o;return(o=e(i))!==null&&o!==void 0?o:0}),a=e.range();if(!(r.length===0||a.length<2))return i=>{var o,l,s=XV(n,i);if(s<=0)return r[0];if(s>=r.length)return r[r.length-1];var u=(o=n[s-1])!==null&&o!==void 0?o:0,c=(l=n[s])!==null&&l!==void 0?l:0;return Math.abs(i-u)<=Math.abs(i-c)?r[s-1]:r[s]}}}function tM(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):f0(e,void 0)}function rM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function p0(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);re.cartesianAxis.xAxis[t],Ia=(e,t)=>{var r=L2(e,t);return r??Xt},Zt={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:z2,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:il},B2=(e,t)=>e.cartesianAxis.yAxis[t],za=(e,t)=>{var r=B2(e,t);return r??Zt},nF={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:""},U2=(e,t)=>{var r=e.cartesianAxis.zAxis[t];return r??nF},Ir=(e,t,r)=>{switch(t){case"xAxis":return Ia(e,r);case"yAxis":return za(e,r);case"zAxis":return U2(e,r);case"angleAxis":return Nh(e,r);case"radiusAxis":return _h(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},aF=(e,t,r)=>{switch(t){case"xAxis":return Ia(e,r);case"yAxis":return za(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},pf=(e,t,r)=>{switch(t){case"xAxis":return Ia(e,r);case"yAxis":return za(e,r);case"angleAxis":return Nh(e,r);case"radiusAxis":return _h(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},$2=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function H2(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 V2=e=>e.graphicalItems.cartesianItems,iF=V([fr,$d],H2),F2=(e,t,r)=>e.filter(r).filter(n=>t?.includeHidden===!0?!0:!n.hide),$u=V([V2,Ir,iF],F2,{memoizeOptions:{resultEqualityCheck:Au}}),oM=V([$u],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(Hd)),q2=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),oF=V([$u],q2),Y2=e=>e.map(t=>t.data).filter(Boolean).flat(1),lF=V([$u],e=>e.some(t=>!t.data)),lM=V([$u],Y2,{memoizeOptions:{resultEqualityCheck:Au}}),W2=(e,t)=>{var r=t.chartData,n=r===void 0?[]:r,a=t.dataStartIndex,i=t.dataEndIndex;return e.length>0?e:n.slice(a,i+1)},K2=V([lM,Bd],W2),sF=(e,t,r)=>t?.dataKey!=null?e.map(n=>({value:Ct(n,t.dataKey)})):r.length>0?r.map(n=>n.dataKey).flatMap(n=>e.map(a=>({value:Ct(a,n)}))):e.map(n=>({value:n})),G2=(e,t,r,n,a,i)=>{var o=n.chartData,l=o===void 0?[]:o,s=n.dataStartIndex,u=n.dataEndIndex,c=sF(e,t,r);if(a&&t?.dataKey!=null&&i.length>0){var d=l.slice(s,u+1),f=d.map(p=>({value:Ct(p,t.dataKey)})).filter(p=>p.value!=null);return[...f,...c]}return c},mf=V([K2,Ir,$u,Bd,lF,lM],G2);function Uu(e){if(qr(e)||e instanceof Date){var t=Number(e);if(Ie(t))return t}}function aM(e){if(Array.isArray(e)){var t=[Uu(e[0]),Uu(e[1])];return Cn(t)?t:void 0}var r=Uu(e);if(r!=null)return[r,r]}function ha(e){return e.map(Uu).filter(dr)}function uF(e,t){var r=Uu(e),n=Uu(t);return r==null&&n==null?0:r==null?-1:n==null?1:r-n}var cF=V([mf],e=>e?.map(t=>t.value).sort(uF));function sM(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function dF(e,t,r){if(!r)return[];if(!r.length)return[];var n;if(typeof t=="number"&&!Mr(t))n=t;else if(Array.isArray(t)){var a=ha(t);a.length>0&&(n=Math.max(...a))}return n==null?[]:ha(r.flatMap(i=>{var o=Ct(e,i.dataKey),l,s;if(Array.isArray(o)){var u=iM(o,2);l=u[0],s=u[1]}else l=s=o;if(!(!Ie(l)||!Ie(s)))return[n-l,n+s]}))}var Qt=e=>{var t=Gt(e),r=go(e);return pf(e,t,r)},xi=V([Qt],e=>e?.dataKey),fF=V([oM,Bd,Qt],kh),X2=(e,t,r,n)=>{var a={},i=t.reduce((o,l)=>{if(l.stackId==null)return o;var s=o[l.stackId];return s==null&&(s=[]),s.push(l),o[l.stackId]=s,o},a);return Object.fromEntries(Object.entries(i).map(o=>{var l=iM(o,2),s=l[0],u=l[1],c=n?[...u].reverse():u,d=c.map(Su);return[s,{stackedData:bO(e,d,r),graphicalItems:c}]}))},Z2=V([fF,oM,bu,bh],X2),Q2=(e,t,r,n)=>{var a=t.dataStartIndex,i=t.dataEndIndex;if(n==null&&r!=="zAxis")return SO(e,a,i)},pF=V([Ir],e=>e.allowDataOverflow),m0=e=>{var t;if(e==null||!("domain"in e))return z2;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var r=ha(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:z2},uM=V([Ir],m0),cM=V([uM,pF],hh),mF=V([Z2,ln,fr,cM],Q2,{memoizeOptions:{resultEqualityCheck:pl}}),v0=e=>e.errorBars,vF=(e,t,r)=>e.flatMap(n=>t[n.id]).filter(Boolean).filter(n=>sM(r,n)),ff=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]:o,f=(c=a[u.id])===null||c===void 0?void 0:c.filter(p=>sM(i,p));d.forEach(p=>{var v,h=Ct(p,(v=r.dataKey)!==null&&v!==void 0?v:u.dataKey),b=dF(p,h,f);if(b.length>=2){var m=Math.min(...b),g=Math.max(...b);(l==null||ms)&&(s=g)}var x=aM(h);x!=null&&(l=l==null?x[0]:Math.min(l,x[0]),s=s==null?x[1]:Math.max(s,x[1]))})}),r?.dataKey!=null&&n.length===0&&t.forEach(u=>{var c=aM(Ct(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]))}),Ie(l)&&Ie(s))return[l,s]},hF=V([K2,Ir,oF,v0,fr,p3],J2,{memoizeOptions:{resultEqualityCheck:pl}});function gF(e){var t=e.value;if(qr(t)||t instanceof Date)return t}var yF=(e,t,r)=>{var n=e.map(gF).filter(a=>a!=null);return r&&(t.dataKey==null||t.allowDuplicatedCategory&&Tb(n))?vh(0,e.length):t.allowDuplicatedCategory?n:Array.from(new Set(n))},R2=e=>e.referenceElements.dots,El=(e,t,r)=>e.filter(n=>n.ifOverflow==="extendDomain").filter(n=>t==="xAxis"?n.xAxisId===r:n.yAxisId===r),xF=V([R2,fr,$d],El),ew=e=>e.referenceElements.areas,bF=V([ew,fr,$d],El),tw=e=>e.referenceElements.lines,wF=V([tw,fr,$d],El),rw=(e,t)=>{if(e!=null){var r=ha(e.map(n=>t==="xAxis"?n.x:n.y));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},SF=V(xF,fr,rw),nw=(e,t)=>{if(e!=null){var r=ha(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)]}},AF=V([bF,fr],nw);function NF(e){var t;if(e.x!=null)return ha([e.x]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.x);return r==null||r.length===0?[]:ha(r)}function _F(e){var t;if(e.y!=null)return ha([e.y]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.y);return r==null||r.length===0?[]:ha(r)}var aw=(e,t)=>{if(e!=null){var r=e.flatMap(n=>t==="xAxis"?NF(n):_F(n));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},CF=V([wF,fr],aw),EF=V(SF,CF,AF,(e,t,r)=>ff(e,r,t)),iw=(e,t,r,n,a,i,o,l,s)=>{if(r!=null)return r;var u=o==="vertical"&&l==="xAxis"||o==="horizontal"&&l==="yAxis",c=u?ff(n,i,a):ff(i,a),d=g3(t,c,e.allowDataOverflow);return d??(e.allowDataOverflow&&c==null&&s!=null?s:d)},kF=e=>{if(!(e==null||e.type!=="number"||!("ticks"in e)||e.ticks==null)){var t=ha(e.ticks);if(t.length!==0)return[Math.min(...t),Math.max(...t)]}},OF=V([Ir],kF,{memoizeOptions:{resultEqualityCheck:pl}}),TF=V([Ir,uM,cM,mF,hF,EF,lt,fr,OF],iw,{memoizeOptions:{resultEqualityCheck:pl}}),MF=[0,1],ow=(e,t,r,n,a,i,o)=>{if(!((e==null||r==null||r.length===0)&&o===void 0)){var l=e.dataKey,s=e.type,u=on(t,i);if(u&&l==null){var c;return vh(0,(c=r?.length)!==null&&c!==void 0?c:0)}return s==="category"?yF(n,e,u):a==="expand"&&!u?MF:o}},lw=V([Ir,lt,K2,mf,bu,fr,TF],ow),Hu=V([Ir,$2,wu],d0),sw=(e,t,r)=>{var n=t.niceTicks;if(n!=="none"){var a=m0(t),i=Array.isArray(a)&&(a[0]==="auto"||a[1]==="auto");if((n==="snap125"||n==="adaptive")&&t!=null&&t.tickCount&&Cn(e)){if(i)return yh(e,t.tickCount,t.allowDecimals,n);if(t.type==="number")return xh(e,t.tickCount,t.allowDecimals,n)}if(n==="auto"&&r==="linear"&&t!=null&&t.tickCount){if(i&&Cn(e))return yh(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&Cn(e))return xh(e,t.tickCount,t.allowDecimals,"adaptive")}}},uw=V([lw,pf,Hu],sw),cw=(e,t,r,n)=>{if(n!=="angleAxis"&&e?.type==="number"&&Cn(t)&&Array.isArray(r)&&r.length>0){var a,i,o=t[0],l=(a=r[0])!==null&&a!==void 0?a:0,s=t[1],u=(i=r[r.length-1])!==null&&i!==void 0?i:0;return[Math.min(o,l),Math.max(s,u)]}return t},DF=V([Ir,lw,uw,fr],cw),PF=V(mf,Ir,(e,t)=>{if(!(!t||t.type!=="number")){var r=1/0,n=Array.from(ha(e.map(d=>d.value))).sort((d,f)=>d-f),a=n[0],i=n[n.length-1];if(a==null||i==null)return 1/0;var o=i-a;if(o===0)return 1/0;for(var l=0;la,(e,t,r,n,a)=>{if(!Ie(e))return 0;var i=t==="vertical"?n.height:n.width;if(a==="gap")return e*i/2;if(a==="no-gap"){var o=Fn(r,e*i),l=e*i/2;return l-o-(l-o)/i*o}return 0}),jF=(e,t,r)=>{var n=Ia(e,t);return n==null||typeof n.padding!="string"?0:dM(e,"xAxis",t,r,n.padding)},IF=(e,t,r)=>{var n=za(e,t);return n==null||typeof n.padding!="string"?0:dM(e,"yAxis",t,r,n.padding)},zF=V(Ia,jF,(e,t)=>{var r,n;if(e==null)return{left:0,right:0};var a=e.padding;return typeof a=="string"?{left:t,right:t}:{left:((r=a.left)!==null&&r!==void 0?r:0)+t,right:((n=a.right)!==null&&n!==void 0?n:0)+t}}),LF=V(za,IF,(e,t)=>{var r,n;if(e==null)return{top:0,bottom:0};var a=e.padding;return typeof a=="string"?{top:t,bottom:t}:{top:((r=a.top)!==null&&r!==void 0?r:0)+t,bottom:((n=a.bottom)!==null&&n!==void 0?n:0)+t}}),dw=V([Et,zF,ol,fu,(e,t,r)=>r],(e,t,r,n,a)=>{var i=n.padding;return a?[i.left,r.width-i.right]:[e.left+t.left,e.left+e.width-t.right]}),fw=V([Et,lt,LF,ol,fu,(e,t,r)=>r],(e,t,r,n,a,i)=>{var o=a.padding;return i?[n.height-o.bottom,o.top]:t==="horizontal"?[e.top+e.height-r.bottom,e.top+r.top]:[e.top+r.top,e.top+e.height-r.bottom]}),Vu=(e,t,r,n)=>{var a;switch(t){case"xAxis":return dw(e,r,n);case"yAxis":return fw(e,r,n);case"zAxis":return(a=U2(e,r))===null||a===void 0?void 0:a.range;case"angleAxis":return e2(e);case"radiusAxis":return t2(e,r);default:return}},fM=V([Ir,Vu],dl),BF=V([Hu,DF],M3),pw=V([Ir,Hu,BF,fM],df),mw=(e,t,r,n)=>{if(!(r==null||r.dataKey==null)){var a=r.type,i=r.scale,o=on(e,n);if(o&&(a==="number"||i!=="auto"))return t.map(l=>l.value)}},vw=V([lt,mf,pf,fr],mw),h0=V([pw],Vd),hde=V([pw],tM),gde=V([pw,cF],f0),yde=V([$u,v0,fr],vF);function pM(e,t){return e.idt.id?1:0}var g0=(e,t)=>t,y0=(e,t,r)=>r,UF=V(cu,g0,y0,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(pM)),$F=V(du,g0,y0,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(pM)),mM=(e,t)=>{var r=typeof t.height=="number"?t.height:kd;return{width:e.width,height:r}},HF=(e,t)=>{var r=typeof t.width=="number"?t.width:il;return{width:r,height:e.height}},vM=V(Et,Ia,mM),VF=(e,t,r)=>{switch(t){case"top":return e.top;case"bottom":return r-e.bottom;default:return 0}},FF=(e,t,r)=>{switch(t){case"left":return e.left;case"right":return r-e.right;default:return 0}},qF=V(jr,Et,UF,g0,y0,(e,t,r,n,a)=>{var i={},o;return r.forEach(l=>{var s=mM(t,l);o==null&&(o=VF(t,n,e));var u=n==="top"&&!a||n==="bottom"&&a;i[l.id]=o-Number(u)*s.height,o+=(u?-1:1)*s.height}),i}),YF=V(Pr,Et,$F,g0,y0,(e,t,r,n,a)=>{var i={},o;return r.forEach(l=>{var s=HF(t,l);o==null&&(o=FF(t,n,e));var u=n==="left"&&!a||n==="right"&&a;i[l.id]=o-Number(u)*s.width,o+=(u?-1:1)*s.width}),i}),WF=(e,t)=>{var r=Ia(e,t);if(r!=null)return qF(e,r.orientation,r.mirror)},hM=V([Et,Ia,WF,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var a=r?.[n];return a==null?{x:e.left,y:0}:{x:e.left,y:a}}}),KF=(e,t)=>{var r=za(e,t);if(r!=null)return YF(e,r.orientation,r.mirror)},gM=V([Et,za,KF,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var a=r?.[n];return a==null?{x:0,y:e.top}:{x:a,y:e.top}}}),yM=V(Et,za,(e,t)=>{var r=typeof t.width=="number"?t.width:il;return{width:r,height:e.height}});var hw=(e,t,r,n)=>{if(r!=null){var a=r.allowDuplicatedCategory,i=r.type,o=r.dataKey,l=on(e,n),s=t.map(c=>c.value),u=s.filter(c=>c!=null);if(o&&l&&i==="category"&&a&&Tb(u))return s}},gw=V([lt,mf,Ir,fr],hw),yw=V([lt,aF,Hu,h0,gw,vw,Vu,uw,fr],(e,t,r,n,a,i,o,l,s)=>{if(t!=null){var u=on(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:i,duplicateDomain:a,isCategorical:u,niceTicks:l,range:o,realScaleType:r,scale:n}}}),GF=(e,t,r,n,a,i,o,l,s)=>{if(!(t==null||n==null)){var u=on(e,s),c=t.type,d=t.ticks,f=t.tickCount,p=r==="scaleBand"&&typeof n.bandwidth=="function"?n.bandwidth()/2:2,v=c==="category"&&n.bandwidth?n.bandwidth()/p:0;v=s==="angleAxis"&&i!=null&&i.length>=2?cr(i[0]-i[1])*2*v:v;var h=d||a;return h?h.map((b,m)=>{var g=o?o.indexOf(b):b,x=n.map(g);return Ie(x)?{index:m,coordinate:x+v,value:b,offset:v}:null}).filter(dr):u&&l?l.map((b,m)=>{var g=n.map(b);return Ie(g)?{coordinate:g+v,value:b,index:m,offset:v}:null}).filter(dr):n.ticks?n.ticks(f).map((b,m)=>{var g=n.map(b);return Ie(g)?{coordinate:g+v,value:b,index:m,offset:v}:null}).filter(dr):n.domain().map((b,m)=>{var g=n.map(b);return Ie(g)?{coordinate:g+v,value:o?o[b]:b,index:m,offset:v}:null}).filter(dr)}},x0=V([lt,pf,Hu,h0,uw,Vu,gw,vw,fr],GF),XF=(e,t,r,n,a,i,o)=>{if(!(t==null||r==null||n==null||n[0]===n[1])){var l=on(e,o),s=t.tickCount,u=0;return u=o==="angleAxis"&&n?.length>=2?cr(n[0]-n[1])*2*u:u,l&&i?i.map((c,d)=>{var f=r.map(c);return Ie(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(dr):r.ticks?r.ticks(s).map((c,d)=>{var f=r.map(c);return Ie(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(dr):r.domain().map((c,d)=>{var f=r.map(c);return Ie(f)?{coordinate:f+u,value:a?a[c]:c,index:d,offset:u}:null}).filter(dr)}},xw=V([lt,pf,h0,Vu,gw,vw,fr],XF),bw=V(Ir,h0,(e,t)=>{if(!(e==null||t==null))return p0(p0({},e),{},{scale:t})}),ZF=V([Ir,Hu,lw,fM],df),QF=V([ZF],Vd),xde=V((e,t,r)=>U2(e,r),QF,(e,t)=>{if(!(e==null||t==null))return p0(p0({},e),{},{scale:t})}),xM=V([lt,cu,du],(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}}),JF=(e,t,r)=>{var n;return(n=e.renderedTicks[t])===null||n===void 0?void 0:n[r]},bde=V([JF],e=>{if(!(!e||e.length===0))return t=>{var r,n=1/0,a=e[0];for(var i of e){var o=Math.abs(i.coordinate-t);oe.options.defaultTooltipEventType,Sw=e=>e.options.validateTooltipEventTypes;function Aw(e,t,r){if(e==null)return t;var n=e?"axis":"item";return r==null?t:r.includes(n)?n:t}function Ao(e,t){var r=ww(e),n=Sw(e);return Aw(t,r,n)}function bM(e){return Se(t=>Ao(t,e))}var b0=(e,t)=>{var r,n=Number(t);if(!(Mr(n)||t==null))return n>=0?e==null||(r=e[n])===null||r===void 0?void 0:r.value:void 0};var wM=e=>e.tooltip.settings;var bi={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},RF={itemInteraction:{click:bi,hover:bi},axisInteraction:{click:bi,hover:bi},keyboardInteraction:bi,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}},SM=nt({name:"tooltip",initialState:RF,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push($e(t.payload))},prepare:st()},replaceTooltipEntrySettings:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,i=Er(e).tooltipItemPayloads.indexOf($e(n));i>-1&&(e.tooltipItemPayloads[i]=$e(a))},prepare:st()},removeTooltipEntrySettings:{reducer(e,t){var r=Er(e).tooltipItemPayloads.indexOf($e(t.payload));r>-1&&e.tooltipItemPayloads.splice(r,1)},prepare:st()},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}}}),Zn=SM.actions,AM=Zn.addTooltipEntrySettings,NM=Zn.replaceTooltipEntrySettings,_M=Zn.removeTooltipEntrySettings,CM=Zn.setTooltipSettingsState,EM=Zn.setActiveMouseOverItemIndex,Ode=Zn.mouseLeaveItem,w0=Zn.mouseLeaveChart,Tde=Zn.setActiveClickItemIndex,S0=Zn.setMouseOverAxisIndex,kM=Zn.setMouseClickAxisIndex,Fu=Zn.setSyncInteraction,vf=Zn.setKeyboardInteraction;var OM=SM.reducer;function TM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function A0(e){for(var t=1;t{if(t==null)return bi;var a=nq(e,t,r);if(a==null)return bi;if(a.active)return a;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var i=e.settings.active===!0;if(aq(a)){if(i)return A0(A0({},a),{},{active:!0})}else if(n!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:n,graphicalItemId:void 0};return A0(A0({},bi),{},{coordinate:a.coordinate})};function iq(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 oq(e,t){var r=iq(e),n=t[0],a=t[1];if(r===void 0)return!1;var i=Math.min(n,a),o=Math.max(n,a);return r>=i&&r<=o}function lq(e,t,r){if(r==null||t==null)return!0;var n=Ct(e,t);return n==null||!Cn(r)?!0:oq(n,r)}var No=(e,t,r,n)=>{var a=e?.index;if(a==null)return null;var i=Number(a);if(!Ie(i))return a;var o=0,l=1/0;t.length>0&&(l=t.length-1);var s=Math.max(o,Math.min(i,l)),u=t[s];return u==null||lq(u,r,n)?String(s):null};var _0=(e,t,r,n,a,i,o)=>{if(i!=null){var l=o[0],s=l?.getPosition(i);if(s!=null)return s;var u=a?.[Number(i)];if(u)return r==="horizontal"?{x:u.coordinate,y:(n.top+t)/2}:{x:(n.left+e)/2,y:u.coordinate}}};var C0=(e,t,r,n)=>{if(t==="axis")return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var a;if(r==="hover"?a=e.itemInteraction.hover.graphicalItemId:a=e.itemInteraction.click.graphicalItemId,e.syncInteraction.active&&a==null)return e.tooltipItemPayloads;if(a==null&&(n!=null||e.keyboardInteraction.active)){var i=e.tooltipItemPayloads[0];return i!=null?[i]:[]}return e.tooltipItemPayloads.filter(o=>{var l;return((l=o.settings)===null||l===void 0?void 0:l.graphicalItemId)===a})};var E0=e=>e.options.tooltipPayloadSearcher;var wi=e=>e.tooltip;function MM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function DM(e){for(var t=1;te(t)}function PM(e){if(typeof e=="string")return e}function mq(e){if(!(e==null||typeof e!="object")){var t="name"in e?dq(e.name):void 0,r="unit"in e?fq(e.unit):void 0,n="dataKey"in e?pq(e.dataKey):void 0,a="payload"in e?e.payload:void 0,i="color"in e?PM(e.color):void 0,o="fill"in e?PM(e.fill):void 0;return{name:t,unit:r,dataKey:n,payload:a,color:i,fill:o}}}function vq(e,t){return e??t}var k0=(e,t,r,n,a,i,o)=>{if(!(t==null||i==null)){var l=r.chartData,s=r.computedData,u=r.dataStartIndex,c=r.dataEndIndex,d=[];return e.reduce((f,p)=>{var v,h=p.dataDefinedOnItem,b=p.settings,m=vq(h,l),g=Array.isArray(m)?Wv(m,u,c):m,x=(v=b?.dataKey)!==null&&v!==void 0?v:n,A=b?.nameKey,k;if(n&&Array.isArray(g)&&!Array.isArray(g[0])&&o==="axis"?(k=Lm(g,n,a),k==null&&(k=i(g,t,s,A))):k=i(g,t,s,A),Array.isArray(k))k.forEach(M=>{var E,L,I=mq(M),j=I?.name,z=I?.dataKey,X=I?.payload,R=DM(DM({},b),{},{name:j,unit:I?.unit,color:(E=I?.color)!==null&&E!==void 0?E:b?.color,fill:(L=I?.fill)!==null&&L!==void 0?L:b?.fill});f.push(D1({tooltipEntrySettings:R,dataKey:z,payload:X,value:Ct(X,z),name:j==null?void 0:String(j)}))});else{var _;f.push(D1({tooltipEntrySettings:b,dataKey:x,payload:k,value:Ct(k,x),name:(_=Ct(k,A))!==null&&_!==void 0?_:b?.name}))}return f},d)}};var Nw=V([Qt,$2,wu],d0),hq=V([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),gq=V([Gt,go],H2),_o=V([hq,Qt,gq],F2,{memoizeOptions:{resultEqualityCheck:Au}}),yq=V([_o],e=>e.filter(Hd)),jM=V([_o],Y2,{memoizeOptions:{resultEqualityCheck:Au}}),xq=V([_o],e=>e.some(t=>!t.data)),Si=V([jM,ln],W2),bq=V([yq,ln,Qt],kh),_w=V([Si,Qt,_o,ln,xq,jM],G2),IM=V([Qt],m0),wq=V([Qt],e=>e.allowDataOverflow),zM=V([IM,wq],hh),Sq=V([_o],e=>e.filter(Hd)),Aq=V([bq,Sq,bu,bh],X2),Nq=V([Aq,ln,Gt,zM],Q2),_q=V([_o],q2),Cq=V([Si,Qt,_q,v0,Gt,m3],J2,{memoizeOptions:{resultEqualityCheck:pl}}),Eq=V([R2,Gt,go],El),kq=V([Eq,Gt],rw),Oq=V([ew,Gt,go],El),Tq=V([Oq,Gt],nw),Mq=V([tw,Gt,go],El),Dq=V([Mq,Gt],aw),Pq=V([kq,Dq,Tq],ff),jq=V([Qt,IM,zM,Nq,Cq,Pq,lt,Gt],iw),Co=V([Qt,lt,Si,_w,bu,Gt,jq],ow),Iq=V([Co,Qt,Nw],sw),zq=V([Qt,Co,Iq,Gt],cw),LM=e=>{var t=Gt(e),r=go(e),n=!1;return Vu(e,t,r,n)},Cw=V([Qt,LM],dl),Lq=V([Qt,Nw,zq,Cw],df),Ew=V([Lq],Vd),Bq=V([lt,_w,Qt,Gt],hw),Uq=V([lt,_w,Qt,Gt],mw),$q=(e,t,r,n,a,i,o,l)=>{if(t){var s=t.type,u=on(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"&&a!=null&&a?.length>=2?cr(a[0]-a[1])*2*d:d,u&&o?o.map((f,p)=>{var v=n.map(f);return Ie(v)?{coordinate:v+d,value:f,index:p,offset:d}:null}).filter(dr):n.domain().map((f,p)=>{var v=n.map(f);return Ie(v)?{coordinate:v+d,value:i?i[f]:f,index:p,offset:d}:null}).filter(dr)}}},un=V([lt,Qt,Nw,Ew,LM,Bq,Uq,Gt],$q),kw=V([ww,Sw,wM],(e,t,r)=>Aw(r.shared,e,t)),BM=e=>e.tooltip.settings.trigger,Ow=e=>e.tooltip.settings.defaultIndex,hf=V([wi,kw,BM,Ow],N0),kl=V([hf,Si,xi,Co],No),O0=V([un,kl],b0),UM=V([hf],e=>{if(e)return e.dataKey}),$M=V([hf],e=>{if(e)return e.graphicalItemId}),HM=V([wi,kw,BM,Ow],C0),Hq=V([Pr,jr,lt,Et,un,Ow,HM],_0),Tw=V([hf,Hq],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),Mw=V([hf],e=>{var t;return(t=e?.active)!==null&&t!==void 0?t:!1}),Vq=V([HM,kl,ln,xi,O0,E0,kw],k0),VM=V([Vq],e=>{if(e!=null){var t=e.map(r=>r.payload).filter(r=>r!=null);return Array.from(new Set(t))}});function FM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function qM(e){for(var t=1;tSe(Qt),YM=()=>{var e=Wq(),t=Se(un),r=Se(Ew);return!e||!r?uu(void 0,t):uu(qM(qM({},e),{},{scale:r}),t)};function WM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function qu(e){for(var t=1;t{var a=t.find(i=>i&&i.index===r);if(a){if(e==="horizontal")return{x:a.coordinate,y:n.relativeY};if(e==="vertical")return{x:n.relativeX,y:a.coordinate}}return{x:0,y:0}},GM=(e,t,r,n)=>{var a=t.find(u=>u&&u.index===r);if(a){if(e==="centric"){var i=a.coordinate,o=n.radius;return qu(qu(qu({},n),Vt(n.cx,n.cy,o,i)),{},{angle:i,radius:o})}var l=a.coordinate,s=n.angle;return qu(qu(qu({},n),Vt(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 XM(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 Dw=(e,t,r,n,a)=>{var i,o=(i=t?.length)!==null&&i!==void 0?i:0;if(o<=1||e==null)return 0;if(n==="angleAxis"&&a!=null&&Math.abs(Math.abs(a[1]-a[0])-360)<=1e-6)for(var l=a[1]-a[0],s=(Q,y,C)=>[e,e+l,e-l].some(O=>(C?O>=Q:O>Q)&&O<=y),u=0;u0?(c=r[u-1])===null||c===void 0?void 0:c.coordinate:(d=r[o-1])===null||d===void 0?void 0:d.coordinate,b=(f=r[u])===null||f===void 0?void 0:f.coordinate,m=u>=o-1?(p=r[0])===null||p===void 0?void 0:p.coordinate:(v=r[u+1])===null||v===void 0?void 0:v.coordinate,g=void 0;if(!(h==null||b==null||m==null))if(cr(b-h)!==cr(m-b)){var x=[];if(cr(m-b)===cr(a[1]-a[0])){g=m;var A=b+a[1]-a[0];x[0]=Math.min(A,(A+h)/2),x[1]=Math.max(A,(A+h)/2)}else{g=h;var k=m+a[1]-a[0];x[0]=Math.min(b,(k+b)/2),x[1]=Math.max(b,(k+b)/2)}var _=[Math.min(b,(g+b)/2),Math.max(b,(g+b)/2)];if(s(_[0],_[1],!1)||s(x[0],x[1],!0)){var M;return(M=r[u])===null||M===void 0?void 0:M.index}}else{var E=Math.min(h,m),L=Math.max(h,m);if(s((E+b)/2,(L+b)/2,!1)){var I;return(I=r[u])===null||I===void 0?void 0:I.index}}}else if(t)for(var j=0;j(z.coordinate+R.coordinate)/2||j>0&&j(z.coordinate+R.coordinate)/2&&e<=(z.coordinate+X.coordinate)/2)return z.index}}return-1};var T0=()=>Se(wu),Pw=(e,t)=>t,ZM=(e,t,r)=>r,jw=(e,t,r,n)=>n,QM=V(un,e=>di(e,t=>t.coordinate)),Iw=V([wi,Pw,ZM,jw],N0),zw=V([Iw,Si,xi,Co],No),JM=(e,t,r)=>{if(t!=null){var n=wi(e);return t==="axis"?r==="hover"?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:r==="hover"?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}},RM=V([wi,Pw,ZM,jw],C0),gf=V([Pr,jr,lt,Et,un,jw,RM],_0),e8=V([Iw,gf],(e,t)=>{var r;return(r=e.coordinate)!==null&&r!==void 0?r:t}),Lw=V([un,zw],b0),t8=V([RM,zw,ln,xi,Lw,E0,Pw],k0),r8=V([Iw,zw],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),Zq=(e,t,r,n,a,i,o)=>{if(!(!e||!r||!n||!a)&&XM(e,o)){var l=AO(e,t),s=Dw(l,i,a,r,n),u=KM(t,a,s,e);return{activeIndex:String(s),activeCoordinate:u}}},Qq=(e,t,r,n,a,i,o)=>{if(!(!e||!n||!a||!i||!r)){var l=RT(e,r);if(l){var s=NO(l,t),u=Dw(s,o,i,n,a),c=GM(t,i,u,l);return{activeIndex:String(u),activeCoordinate:c}}}},n8=(e,t,r,n,a,i,o,l)=>{if(!(!e||!t||!n||!a||!i))return t==="horizontal"||t==="vertical"?Zq(e,t,n,a,i,o,l):Qq(e,t,r,n,a,i,o)};var Yu=ee(ne()),p8=ee(ip());var a8=V(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}}),i8=V(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(n=>parseInt(n,10)).concat(Object.values(dt)),r=Array.from(new Set(t));return r.sort((n,a)=>n-a)},{memoizeOptions:{resultEqualityCheck:T3}});function o8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function l8(e){for(var t=1;tl8(l8({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),tY)},nY=new Set(Object.values(dt));function aY(e){return nY.has(e)}var s8=nt({name:"zIndex",initialState:rY,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:st()},unregisterZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(e.zIndexMap[r].consumers-=1,e.zIndexMap[r].consumers<=0&&!aY(r)&&delete e.zIndexMap[r])},prepare:st()},registerZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload,n=r.zIndex,a=r.element,i=r.isPanorama;e.zIndexMap[n]?i?e.zIndexMap[n].panoramaElement=$e(a):e.zIndexMap[n].element=$e(a):e.zIndexMap[n]={consumers:0,element:i?void 0:$e(a),panoramaElement:i?$e(a):void 0}},prepare:st()},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:st()}}}),M0=s8.actions,u8=M0.registerZIndexPortal,D0=M0.unregisterZIndexPortal,c8=M0.registerZIndexPortalElement,d8=M0.unregisterZIndexPortalElement;var f8=s8.reducer;function kr(e){var t=e.zIndex,r=e.children,n=$O(),a=n&&t!==void 0&&t!==0,i=bt(),o=(0,Yu.useRef)(void 0),l=(0,Yu.useRef)(new Set),s=Ve(),u=Se(d=>a8(d,t,i));if((0,Yu.useLayoutEffect)(()=>{if(!a){var d=l.current;d.forEach(p=>{s(D0({zIndex:p}))}),d.clear(),o.current=void 0;return}if(l.current.has(t)||(s(u8({zIndex:t})),l.current.add(t)),u){o.current=u;var f=l.current;f.forEach(p=>{p!==t&&(s(D0({zIndex:p})),f.delete(p))})}},[s,t,a,u]),(0,Yu.useLayoutEffect)(()=>{var d=l.current;return()=>{d.forEach(f=>{s(D0({zIndex:f}))}),d.clear()}},[s]),!a)return r;var c=u??o.current;return c?(0,p8.createPortal)(r,c):null}function Bw(){return Bw=Object.assign?Object.assign.bind():function(e){for(var t=1;t(0,I0.useContext)(Uw);var xf=ee(ne());var x8=ee(y8(),1);var b8=x8.default;var Ku=new b8;var L0="recharts.syncEvent.tooltip",Hw="recharts.syncEvent.brush";var w8=(e,t)=>{if(t&&Array.isArray(e)){var r=Number.parseInt(t,10);if(!Mr(r))return e[r]}},fY={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},S8=nt({name:"options",initialState:fY,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),A8=S8.reducer,N8=S8.actions.createEventEmitter;function _8(e){return e.tooltip.syncInteraction}var pY={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},C8=nt({name:"chartData",initialState:pY,reducers:{setChartData(e,t){if(e.chartData=$e(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,a=r.endIndex;n!=null&&(e.dataStartIndex=n),a!=null&&(e.dataEndIndex=a)}}}),Vw=C8.actions,Fw=Vw.setChartData,E8=Vw.setDataStartEndIndexes,mY=Vw.setComputedData;var k8=C8.reducer;var vY=["x","y"];function O8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Gu(e){for(var t=1;ts.rootProps.className);(0,xf.useEffect)(()=>{if(e==null)return ua;var s=(u,c,d)=>{if(t!==d&&e===u){if(c.payload.active===!1){r(Fu({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(o&&c!==null&&c!==void 0&&(f=c.payload)!==null&&f!==void 0&&f.coordinate&&c.payload.sourceViewBox){var p=c.payload.coordinate,v=p.x,h=p.y,b=xY(p,vY),m=c.payload.sourceViewBox,g=m.x,x=m.y,A=m.width,k=m.height,_=Gu(Gu({},b),{},{x:o.x+(A?(v-g)/A:0)*o.width,y:o.y+(k?(h-x)/k:0)*o.height});r(Gu(Gu({},c),{},{payload:Gu(Gu({},c.payload),{},{coordinate:_})}))}else r(c);return}if(a!=null){var M;if(typeof n=="function"){var E={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},L=n(a,E);M=a[L]}else n==="value"&&(M=a.find(C=>String(C.value)===c.payload.label));var I=c.payload.coordinate;if(I==null||o==null){r(Fu({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(M==null){r(Fu({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:void 0}));return}var j=I.x,z=I.y,X=Math.min(j,o.x+o.width),R=Math.min(z,o.y+o.height),Q={x:i==="horizontal"?M.coordinate:X,y:i==="horizontal"?R:M.coordinate},y=Fu({active:c.payload.active,coordinate:Q,dataKey:c.payload.dataKey,index:String(M.index),label:c.payload.label,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:c.payload.graphicalItemId});r(y)}}};return Ku.on(L0,s),()=>{Ku.off(L0,s)}},[l,r,t,e,n,a,i,o])}function SY(){var e=Se(wh),t=Se(Sh),r=Ve();(0,xf.useEffect)(()=>{if(e==null)return ua;var n=(a,i,o)=>{t!==o&&e===a&&r(E8(i))};return Ku.on(Hw,n),()=>{Ku.off(Hw,n)}},[r,t,e])}function T8(){var e=Ve();(0,xf.useEffect)(()=>{e(N8())},[e]),wY(),SY()}function M8(e,t,r,n,a,i){var o=Se(v=>JM(v,e,t)),l=Se($M),s=Se(Sh),u=Se(wh),c=Se(J1),d=Se(_8),f=d?.sourceViewBox!=null,p=sl();(0,xf.useEffect)(()=>{if(!f&&u!=null&&s!=null){var v=Fu({active:i,coordinate:r,dataKey:o,index:a,label:typeof n=="number"?String(n):n,sourceViewBox:p,graphicalItemId:l});Ku.emit(L0,u,v,s)}},[f,r,o,l,a,n,s,u,c,i,p])}function D8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function P8(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{M(CM({shared:g,trigger:x,axisId:_,active:a,defaultIndex:E}))},[M,g,x,_,a,E]);var L=sl(),I=nh(),j=bM(g),z=(t=Se(F=>r8(F,j,x,E)))!==null&&t!==void 0?t:{},X=z.activeIndex,R=z.isActive,Q=Se(F=>t8(F,j,x,E)),y=Se(F=>Lw(F,j,x,E)),C=Se(F=>e8(F,j,x,E)),O=Q,D=h8(),N=(r=a??R)!==null&&r!==void 0?r:!1,T=wk([O,N]),H=CY(T,2),Y=H[0],J=H[1],fe=j==="axis"?y:void 0;M8(j,x,C,fe,X,N);var pe=k??D;if(pe==null||L==null||j==null)return null;var ge=O??I8;N||(ge=I8),u&&ge.length&&(ge=QE(ge.filter(F=>F.value!=null&&(F.hide!==!0||n.includeHidden)),f,MY));var ze=ge.length>0,se=P8(P8({},n),{},{payload:ge,label:fe,active:N,activeIndex:X,coordinate:C,accessibilityLayer:I}),Ne=Qn.createElement(sT,{allowEscapeViewBox:i,animationDuration:o,animationEasing:l,isAnimationActive:c,active:N,coordinate:C,hasPayload:ze,offset:d,position:p,reverseDirection:v,useTranslate3d:h,viewBox:L,wrapperStyle:b,lastBoundingBox:Y,innerRef:J,hasPortalFromProps:!!k},DY(s,se));return Qn.createElement(Qn.Fragment,null,(0,L8.createPortal)(Ne,pe),N&&Qn.createElement(v8,{cursor:m,tooltipEventType:j,coordinate:C,payload:ge,index:X}))}var Yw=ee(ne()),H0=ee(ne());function jY(e,t,r){return(t=IY(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function IY(e){var t=zY(e,"string");return typeof t=="symbol"?t:t+""}function zY(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 B0=class{constructor(t){jY(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 B8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function LY(e){for(var t=1;t{try{var r=document.getElementById($8);r||(r=document.createElement("span"),r.setAttribute("id",$8),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),Object.assign(r.style,VY,t),r.textContent="".concat(e);var n=r.getBoundingClientRect();return{width:n.width,height:n.height}}catch{return{width:0,height:0}}},Ol=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Wn.isSsr)return{width:0,height:0};if(!V8.enableCache)return H8(t,r);var n=FY(t,r),a=U8.get(n);if(a)return a;var i=H8(t,r);return U8.set(n,i),i};var K8;function U0(e,t){return KY(e)||WY(e,t)||YY(e,t)||qY()}function qY(){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 YY(e,t){if(e){if(typeof e=="string")return F8(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)?F8(e,t):void 0}}function F8(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 a=[];Dt(t)||(r?a=t.toString().split(""):a=t.toString().split(eD));var i=a.map(l=>({word:l,width:Ol(l,n).width})),o=r?0:Ol("\xA0",n).width;return{wordsWithComputedWidth:i,spaceWidth:o}}catch{return null}};function V0(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function rD(e){return Dt(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var nD=(e,t,r,n)=>e.reduce((a,i)=>{var o=i.word,l=i.width,s=a[a.length-1];if(s&&l!=null&&(t==null||n||s.width+l+re.reduce((t,r)=>t.width>r.width?t:r),pW="\u2026",J8=(e,t,r,n,a,i,o,l)=>{var s=e.slice(0,t),u=tD({breakAll:r,style:n,children:s+pW});if(!u)return[!1,[]];var c=nD(u.wordsWithComputedWidth,i,o,l),d=c.length>a||aD(c).width>Number(i);return[d,c]},mW=(e,t,r,n,a)=>{var i=e.maxLines,o=e.children,l=e.style,s=e.breakAll,u=ye(i),c=String(o),d=nD(t,n,r,a);if(!u||a)return d;var f=d.length>i||aD(d).width>Number(n);if(!f)return d;for(var p=0,v=c.length-1,h=0,b;p<=v&&h<=c.length-1;){var m=Math.floor((p+v)/2),g=m-1,x=J8(c,g,s,l,i,n,r,a),A=Z8(x,2),k=A[0],_=A[1],M=J8(c,m,s,l,i,n,r,a),E=Z8(M,1),L=E[0];if(!k&&!L&&(p=m+1),k&&L&&(v=m-1),!k&&L){b=_;break}h++}return b||d},R8=e=>{var t=Dt(e)?[]:e.toString().split(eD);return[{words:t,width:void 0}]},vW=e=>{var t=e.width,r=e.scaleToFit,n=e.children,a=e.style,i=e.breakAll,o=e.maxLines;if((t||r)&&!Wn.isSsr){var l,s,u=tD({breakAll:i,children:n,style:a});if(u){var c=u.wordsWithComputedWidth,d=u.spaceWidth;l=c,s=d}else return R8(n);return mW({breakAll:i,children:n,maxLines:o,style:a},l,s,t,!!r)}return R8(n)},iD="#808080",hW={angle:0,breakAll:!1,capHeight:"0.71em",fill:iD,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},bf=(0,H0.forwardRef)((e,t)=>{var r=Pt(e,hW),n=r.x,a=r.y,i=r.lineHeight,o=r.capHeight,l=r.fill,s=r.scaleToFit,u=r.textAnchor,c=r.verticalAnchor,d=X8(r,oW),f=(0,H0.useMemo)(()=>vW({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,v=d.dy,h=d.angle,b=d.className,m=d.breakAll,g=X8(d,lW);if(!qr(n)||!qr(a)||f.length===0)return null;var x=Number(n)+(ye(p)?p:0),A=Number(a)+(ye(v)?v:0);if(!Ie(x)||!Ie(A))return null;var k;switch(c){case"start":k=$0("calc(".concat(o,")"));break;case"middle":k=$0("calc(".concat((f.length-1)/2," * -").concat(i," + (").concat(o," / 2))"));break;default:k=$0("calc(".concat(f.length-1," * -").concat(i,")"));break}var _=[],M=f[0];if(s&&M!=null){var E=M.width,L=d.width;_.push("scale(".concat(ye(L)&&ye(E)?L/E:1,")"))}return h&&_.push("rotate(".concat(h,", ").concat(x,", ").concat(A,")")),_.length&&(g.transform=_.join(" ")),Yw.createElement("text",qw({},Kt(g),{ref:t,x,y:A,className:Le("recharts-text",b),textAnchor:u,fill:l.includes("url")?iD:l}),f.map((I,j)=>{var z=I.words.join(m?"":" ");return Yw.createElement("tspan",{x,dy:j===0?k:i,key:"".concat(z,"-").concat(j)},z)}))});bf.displayName="Text";var Tn=ee(ne()),xr=ee(ne());var gW=["labelRef"],yW=["content"];function oD(e,t){if(e==null)return{};var r,n,a=xW(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n{var t=e.x,r=e.y,n=e.upperWidth,a=e.lowerWidth,i=e.width,o=e.height,l=e.children,s=(0,xr.useMemo)(()=>({x:t,y:r,upperWidth:n,lowerWidth:a,width:i,height:o}),[t,r,n,a,i,o]);return Tn.createElement(sD.Provider,{value:s},l)},cD=()=>{var e=(0,xr.useContext)(sD),t=sl();return e||(t?md(t):void 0)},AW=(0,xr.createContext)(null);var NW=()=>{var e=(0,xr.useContext)(AW),t=Se(Eh);return e||t},_W=e=>{var t=e.value,r=e.formatter,n=Dt(e.children)?t:e.children;return typeof r=="function"?r(n):n},Ml=e=>e!=null&&typeof e=="function",CW=(e,t)=>{var r=cr(t-e),n=Math.min(Math.abs(t-e),360);return r*n},EW=(e,t,r,n,a)=>{var i=e.offset,o=e.className,l=a.cx,s=a.cy,u=a.innerRadius,c=a.outerRadius,d=a.startAngle,f=a.endAngle,p=a.clockWise,v=(u+c)/2,h=CW(d,f),b=h>=0?1:-1,m,g;switch(t){case"insideStart":m=d+b*i,g=p;break;case"insideEnd":m=f-b*i,g=!p;break;case"end":m=f+b*i,g=p;break;default:throw new Error("Unsupported position ".concat(t))}g=h<=0?g:!g;var x=Vt(l,s,v,m),A=Vt(l,s,v,m+(g?1:-1)*359),k="M".concat(x.x,",").concat(x.y,` - A`).concat(v,",").concat(v,",0,1,").concat(g?0:1,`, - `).concat(A.x,",").concat(A.y),_=Dt(e.id)?ui("recharts-radial-line-"):e.id;return Tn.createElement("text",Ni({},n,{dominantBaseline:"central",className:Le("recharts-radial-bar-label",o)}),Tn.createElement("defs",null,Tn.createElement("path",{id:_,d:k})),Tn.createElement("textPath",{xlinkHref:"#".concat(_)},r))},kW=(e,t,r)=>{var n=e.cx,a=e.cy,i=e.innerRadius,o=e.outerRadius,l=e.startAngle,s=e.endAngle,u=(l+s)/2;if(r==="outside"){var c=Vt(n,a,o+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:a,textAnchor:"middle",verticalAnchor:"middle"};if(r==="centerTop")return{x:n,y:a,textAnchor:"middle",verticalAnchor:"start"};if(r==="centerBottom")return{x:n,y:a,textAnchor:"middle",verticalAnchor:"end"};var p=(i+o)/2,v=Vt(n,a,p,u),h=v.x,b=v.y;return{x:h,y:b,textAnchor:"middle",verticalAnchor:"middle"}},Qu=e=>e!=null&&"cx"in e&&ye(e.cx),OW={angle:0,offset:5,zIndex:dt.label,position:"middle",textBreakAll:!1};function TW(e){if(!Qu(e))return e;var t=e.cx,r=e.cy,n=e.outerRadius,a=n*2;return{x:t-n,y:r-n,width:a,upperWidth:a,lowerWidth:a,height:a}}function Ai(e){var t,r,n=Pt(e,OW),a=n.viewBox,i=n.parentViewBox,o=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,v=NW(),h=cD(),b=o==="center"?h:v??h,m,g,x;a==null?m=b:Qu(a)?m=a:m=md(a);var A=TW(m);if(!m||Dt(l)&&Dt(s)&&!(0,xr.isValidElement)(u)&&typeof u!="function")return null;var k=Qu(m)&&(o==="insideStart"||o==="insideEnd"||o==="end");if(Qu(m))k||(x=kW(m,n.offset,n.position));else if(A){var _=cE({viewBox:A,position:o,offset:n.offset,parentViewBox:Qu(i)?void 0:i,clamp:!0});x=Tl(Tl({x:_.x,y:_.y,textAnchor:_.horizontalAnchor,verticalAnchor:_.verticalAnchor},_.width!==void 0?{width:_.width}:{}),_.height!==void 0?{height:_.height}:{})}var M=Tl(Tl(Tl(Tl({},((t=x)===null||t===void 0?void 0:t.x)!==void 0?{x:x.x}:{}),((r=x)===null||r===void 0?void 0:r.y)!==void 0?{y:x.y}:{}),n),{},{viewBox:m});if((0,xr.isValidElement)(u)){var E=M.labelRef,L=oD(M,gW);return(0,xr.cloneElement)(u,L)}if(typeof u=="function"){var I=M.content,j=oD(M,yW);if(g=(0,xr.createElement)(u,j),(0,xr.isValidElement)(g))return g}else g=_W(n);var z=Kt(n);return k&&Qu(m)?EW(n,o,g,z,m):x==null?null:Tn.createElement(kr,{zIndex:n.zIndex},Tn.createElement(bf,Ni({ref:p,className:Le("recharts-label",d)},z,x,{textAnchor:V0(z.textAnchor)?z.textAnchor:x.textAnchor,breakAll:f}),g))}Ai.displayName="Label";var MW=(e,t,r)=>{if(!e)return null;var n={viewBox:t,labelRef:r};return e===!0?Tn.createElement(Ai,Ni({key:"label-implicit"},n)):qr(e)?Tn.createElement(Ai,Ni({key:"label-implicit",value:e},n)):(0,xr.isValidElement)(e)?e.type===Ai?(0,xr.cloneElement)(e,Tl({key:"label-implicit"},n)):Tn.createElement(Ai,Ni({key:"label-implicit",content:e},n)):Ml(e)?Tn.createElement(Ai,Ni({key:"label-implicit",content:e},n)):e&&typeof e=="object"?Tn.createElement(Ai,Ni({},e,{key:"label-implicit"},n)):null};function dD(e){var t=e.label,r=e.labelRef,n=cD();return MW(t,n,r)||null}var _i=ee(ne()),Ju=ee(ne());var DW=["valueAccessor"],PW=["dataKey","clockWise","id","textBreakAll","zIndex"];function q0(){return q0=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(rD(t))return t},pD=(0,Ju.createContext)(void 0),mD=pD.Provider,vD=(0,Ju.createContext)(void 0),Jme=vD.Provider;function zW(){return(0,Ju.useContext)(pD)}function LW(){return(0,Ju.useContext)(vD)}function F0(e){var t=e.valueAccessor,r=t===void 0?IW:t,n=fD(e,DW),a=n.dataKey,i=n.clockWise,o=n.id,l=n.textBreakAll,s=n.zIndex,u=fD(n,PW),c=zW(),d=LW(),f=c||d;return!f||!f.length?null:_i.createElement(kr,{zIndex:s??dt.label},_i.createElement(sr,{className:"recharts-label-list"},f.map((p,v)=>{var h,b=Dt(a)?r(p,v):Ct(p.payload,a),m=Dt(o)?{}:{id:"".concat(o,"-").concat(v)};return _i.createElement(Ai,q0({key:"label-".concat(v)},Kt(p),u,m,{fill:(h=n.fill)!==null&&h!==void 0?h:p.fill,parentViewBox:p.parentViewBox,value:b,textBreakAll:l,viewBox:p.viewBox,index:v,zIndex:0}))})))}F0.displayName="LabelList";function hD(e){var t=e.label;return t?t===!0?_i.createElement(F0,{key:"labelList-implicit"}):_i.isValidElement(t)||Ml(t)?_i.createElement(F0,{key:"labelList-implicit",content:t}):typeof t=="object"?_i.createElement(F0,q0({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}var gD=ee(ne());function Ww(){return Ww=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,r=e.cy,n=e.r,a=e.className,i=Le("recharts-dot",a);return ye(t)&&ye(r)&&ye(n)?gD.createElement("circle",Ww({},gr(e),eu(e),{className:i,cx:t,cy:r,r:n})):null};var BW={radiusAxis:{},angleAxis:{}},yD=nt({name:"polarAxis",initialState:BW,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=$e(t.payload)},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=$e(t.payload)},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),W0=yD.actions,lve=W0.addRadiusAxis,sve=W0.removeRadiusAxis,uve=W0.addAngleAxis,cve=W0.removeAngleAxis;var xD=yD.reducer;function bD(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var UW=ee(ne());var K0=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;var Ru=ee(ne()),wf=ee(ne());function wD(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function SD(e){for(var t=1;t{n||(a.current===null?r(AM(t)):a.current!==t&&r(NM({prev:a.current,next:t})),a.current=t)},[t,r,n]),(0,Sf.useLayoutEffect)(()=>()=>{a.current&&(r(_M(a.current)),a.current=null)},[r]),null}var Af=ee(ne());function CD(e){var t=e.legendPayload,r=Ve(),n=bt(),a=(0,Af.useRef)(null);return(0,Af.useLayoutEffect)(()=>{n||(a.current===null?r(VO(t)):a.current!==t&&r(FO({prev:a.current,next:t})),a.current=t)},[r,n,t]),(0,Af.useLayoutEffect)(()=>()=>{a.current&&(r(qO(a.current)),a.current=null)},[r]),null}var OD=ee(ne()),Cf=ee(ne());function KW(e,t){return QW(e)||ZW(e,t)||XW(e,t)||GW()}function GW(){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 XW(e,t){if(e){if(typeof e=="string")return ED(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)?ED(e,t):void 0}}function ED(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 a of r)n.push({status:"removed",prev:a});for(var i=0;ie[Math.floor(i*r)]);return Kw(n,t)}function eK(e,t){var r=t.map((n,a)=>e[a]);return Kw(r,t)}function tK(e,t){for(var r=new Map,n=0;n{var p=r(d,f);if(p!=null){var v=n.get(p);if(v!==void 0)return a.add(p),v}}),o=[];for(var l of n){var s=KW(l,2),u=s[0],c=s[1];a.has(u)||o.push(c)}return Kw(i,t,o)}function _f(e,t,r){return t==null?null:e==null?t.map(n=>({status:"added",next:n})):r===Nf?RW(e,t):r===JW?eK(e,t):rK(e,t,r)}var ec=ee(ne());function G0(e,t){var r=(0,ec.useRef)(e),n=(0,ec.useRef)(t.current),a=(0,ec.useRef)(!0);r.current!==e&&(r.current=e,n.current=t.current,a.current=!1);var i=(0,ec.useCallback)(function(o,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(l===0){a.current=!0;return}l===1&&(n.current=o),l>0&&a.current&&s&&(t.current=o)},[t]);return{startValue:n.current,syncStepValue:i}}function nK(e,t){return lK(e)||oK(e,t)||iK(e,t)||aK()}function aK(){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 iK(e,t){if(e){if(typeof e=="string")return kD(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)?kD(e,t):void 0}}function kD(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{typeof e=="function"&&e(),i(!0)},[e]),l=(0,Cf.useCallback)(()=>{typeof t=="function"&&t(),i(!1)},[t]);return{isAnimating:a,handleAnimationStart:o,handleAnimationEnd:l}}function MD(e){var t,r=e.animationInput,n=e.animationIdPrefix,a=e.items,i=e.previousItemsRef,o=e.isAnimationActive,l=e.animationBegin,s=e.animationDuration,u=e.animationEasing,c=e.onAnimationStart,d=e.onAnimationEnd,f=e.animationInterpolateFn,p=e.animationMatchBy,v=e.shouldUpdatePreviousRef,h=e.children,b=e.layout,m=uh(r,n),g=G0(m,i),x=(t=g.startValue)!==null&&t!==void 0?t:null,A=_f(x,a,p??Nf);return OD.createElement(sh,{animationId:m,begin:l,duration:s,isActive:o,easing:u,onAnimationEnd:d,onAnimationStart:c,key:m},k=>{var _=x==null,M=a==null?a:f(A,k,b),E=v?v(k):k>0;return g.syncStepValue(M,k,E),M==null?null:h(M,k,_)})}var jD=ee(ne()),Xw=ee(ne());var X0=ee(ne());var Gw;function sK(e,t){return fK(e)||dK(e,t)||cK(e,t)||uK()}function uK(){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 cK(e,t){if(e){if(typeof e=="string")return DD(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)?DD(e,t):void 0}}function DD(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e=X0.useState(()=>ui("uid-")),t=sK(e,1),r=t[0];return r},Z0=(Gw=X0.useId)!==null&&Gw!==void 0?Gw:pK;function PD(e,t){var r=Z0();return t||(e?"".concat(e,"-").concat(r):r)}var mK=(0,Xw.createContext)(void 0),ID=e=>{var t=e.id,r=e.type,n=e.children,a=PD("recharts-".concat(r),t);return jD.createElement(mK.Provider,{value:a},n(a))};var Dl=ee(ne());var vK={cartesianItems:[],polarItems:[]},zD=nt({name:"graphicalItems",initialState:vK,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push($e(t.payload))},prepare:st()},replaceCartesianGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,i=Er(e).cartesianItems.indexOf($e(n));i>-1&&(e.cartesianItems[i]=$e(a))},prepare:st()},removeCartesianGraphicalItem:{reducer(e,t){var r=Er(e).cartesianItems.indexOf($e(t.payload));r>-1&&e.cartesianItems.splice(r,1)},prepare:st()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push($e(t.payload))},prepare:st()},removePolarGraphicalItem:{reducer(e,t){var r=Er(e).polarItems.indexOf($e(t.payload));r>-1&&e.polarItems.splice(r,1)},prepare:st()},replacePolarGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,i=Er(e).polarItems.indexOf($e(n));i>-1&&(e.polarItems[i]=$e(a))},prepare:st()}}}),tc=zD.actions,LD=tc.addCartesianGraphicalItem,BD=tc.replaceCartesianGraphicalItem,UD=tc.removeCartesianGraphicalItem,hK=tc.addPolarGraphicalItem,gK=tc.removePolarGraphicalItem,yK=tc.replacePolarGraphicalItem;var $D=zD.reducer;var xK=e=>{var t=Ve(),r=(0,Dl.useRef)(null);return(0,Dl.useLayoutEffect)(()=>{r.current===null?t(LD(e)):r.current!==e&&t(BD({prev:r.current,next:e})),r.current=e},[t,e]),(0,Dl.useLayoutEffect)(()=>()=>{r.current&&(t(UD(r.current)),r.current=null)},[t]),null},HD=(0,Dl.memo)(xK);var Ef=ee(ne()),J0=ee(ne());var bK=["points"];function VD(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Zw(e){for(var t=1;t{var m,g,x=Zw(Zw(Zw({r:3},o),f),{},{index:b,cx:(m=h.x)!==null&&m!==void 0?m:void 0,cy:(g=h.y)!==null&&g!==void 0?g:void 0,dataKey:i,value:h.value,payload:h.payload,points:t});return Ef.createElement(CK,{key:"dot-".concat(b),option:r,dotProps:x,className:a})}),v={};return l&&s!=null&&(v.clipPath="url(#clipPath-".concat(d?"":"dots-").concat(s,")")),Ef.createElement(kr,{zIndex:c},Ef.createElement(sr,Q0({className:n},v),p))}var kf=ee(ne()),eg=ee(ne());function qD(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function R0(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right}));var r6=V([t6,Pr,jr],(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 rc=()=>Se(r6),n6=()=>Se(VM);function a6(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Jw(e){for(var t=1;t{var t=e.point,r=e.childIndex,n=e.mainColor,a=e.activeDot,i=e.dataKey,o=e.clipPath;if(a===!1||t.x==null||t.y==null)return null;var l={index:r,dataKey:i,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},s=Jw(Jw(Jw({},l),uo(a)),eu(a)),u;return(0,eg.isValidElement)(a)?u=(0,eg.cloneElement)(a,s):typeof a=="function"?u=a(s):u=kf.createElement(Y0,s),kf.createElement(sr,{className:"recharts-active-dot",clipPath:o},u)};function Rw(e){var t=e.points,r=e.mainColor,n=e.activeDot,a=e.itemDataKey,i=e.clipPath,o=e.zIndex,l=o===void 0?dt.activeDot:o,s=Se(kl),u=n6();if(t==null||u==null)return null;var c=t.find(d=>u.includes(d.payload));return Dt(c)?null:kf.createElement(kr,{zIndex:l},kf.createElement(IK,{point:c,childIndex:Number(s),mainColor:r,dataKey:a,activeDot:n,clipPath:i}))}var i6=ee(ne());var o6=e=>{var t=e.chartData,r=Ve(),n=bt();return(0,i6.useEffect)(()=>n?()=>{}:(r(Fw(t)),()=>{r(Fw(void 0))}),[t,r,n]),null};var l6={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},s6=nt({name:"brush",initialState:l6,reducers:{setBrushSettings(e,t){return t.payload==null?l6:t.payload}}}),The=s6.actions.setBrushSettings;var u6=s6.reducer;function zK(e){return(e%180+180)%180}var c6=function(t){var r=t.width,n=t.height,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=zK(a),o=i*Math.PI/180,l=Math.atan(n/r),s=o>l&&o{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=Er(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=Er(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push($e(t.payload))},removeLine:(e,t)=>{var r=Er(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),nc=d6.actions,Ihe=nc.addDot,zhe=nc.removeDot,Lhe=nc.addArea,Bhe=nc.removeArea,Uhe=nc.addLine,$he=nc.removeLine;var f6=d6.reducer;var Of=ee(ne()),Tf=ee(ne());function BK(e,t){return VK(e)||HK(e,t)||$K(e,t)||UK()}function UK(){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 $K(e,t){if(e){if(typeof e=="string")return p6(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)?p6(e,t):void 0}}function p6(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=(0,Tf.useState)("".concat(ui("recharts"),"-clip")),n=BK(r,1),a=n[0],i=rc();if(i==null)return null;var o=i.x,l=i.y,s=i.width,u=i.height;return Of.createElement(FK.Provider,{value:a},Of.createElement("defs",null,Of.createElement("clipPath",{id:a},Of.createElement("rect",{x:o,y:l,height:u,width:s}))),t)};var kt=ee(ne()),Br=ee(ne());function v6(){}function eS(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 h6(e,t,r){return Mf(e,t,void 0,void 0,void 0,void 0,r)}function Mf(e,t,r,n,a,i,o){let l=o(e,t,r,n,a,i);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 Df(e,t,i,o)}return Df(e,t,i,o)}function Df(e,t,r,n){if(Object.is(e,t))return!0;let a=ci(e),i=ci(t);if(a==="[object Arguments]"&&(a=au),i==="[object Arguments]"&&(i=au),a!==i)return!1;switch(a){case tu:return e.toString()===t.toString();case ru:return po(e.valueOf(),t.valueOf());case nu:case Xm:case Gm:return Object.is(e.valueOf(),t.valueOf());case Wm:return e.source===t.source&&e.flags===t.flags;case jE:return e===t}r=r??new Map;let o=r.get(e),l=r.get(t);if(o!=null&&l!=null)return o===t;r.set(e,t),r.set(t,e);try{switch(a){case Zm:if(e.size!==t.size)return!1;for(let[s,u]of e.entries())if(!t.has(s)||!Mf(u,t.get(s),s,e,t,r,n))return!1;return!0;case Qm:{if(e.size!==t.size)return!1;let s=Array.from(e.values()),u=Array.from(t.values());for(let c=0;cMf(d,p,void 0,e,t,r,n));if(f===-1)return!1;u.splice(f,1)}return!0}case Jm:case tv:case rv:case nv:case av:case zE:case iv:case ov:case lv:case LE:case sv:case uv:if(yd(e)!==yd(t)||e.length!==t.length)return!1;for(let s=0;se*a)return!1;var i=r();return e*(t-e*i/2-n)>=0&&e*(t+e*i/2-a)<=0}function x6(e,t){return tg(e,t+1)}function b6(e,t,r,n,a){for(var i=(n||[]).slice(),o=t.start,l=t.end,s=0,u=1,c=o,d=function(){var v=n?.[s];if(v===void 0)return{v:tg(n,u)};var h=s,b,m=()=>(b===void 0&&(b=r(v,h)),b),g=v.coordinate,x=s===0||Pl(e,g,m,c,l);x||(s=0,c=o,u+=1),x&&(c=g+e*(m()/2+a),s+=u)},f;u<=i.length;)if(f=d(),f)return f.v;return[]}function w6(e,t,r,n,a){var i=(n||[]).slice(),o=i.length;if(o===0)return[];for(var l=t.start,s=t.end,u=1;u<=o;u++){for(var c=(o-1)%u,d=l,f=!0,p=function(){var A=n[h];if(A==null)return 0;var k=h,_,M=()=>(_===void 0&&(_=r(A,k)),_),E=A.coordinate,L=h===c||Pl(e,E,M,d,s);if(!L)return f=!1,1;L&&(d=E+e*(M()/2+a))},v,h=c;h(h===void 0&&(h=r(p,f)),h);if(f===o-1){var m=e*(v.coordinate+e*b()/2-s);i[f]=v=Lr(Lr({},v),{},{tickCoord:m>0?v.coordinate-m*e:v.coordinate})}else i[f]=v=Lr(Lr({},v),{},{tickCoord:v.coordinate});if(v.tickCoord!=null){var g=Pl(e,v.tickCoord,b,l,s);g&&(s=v.tickCoord-e*(b()/2+a),i[f]=Lr(Lr({},v),{},{isShow:!0}))}},c=o-1;c>=0;c--)u(c);return i}function GK(e,t,r,n,a,i){var o=(n||[]).slice(),l=o.length,s=t.start,u=t.end;if(i){var c=n[l-1];if(c!=null){var d=r(c,l-1),f=e*(c.coordinate+e*d/2-u);if(o[l-1]=c=Lr(Lr({},c),{},{tickCoord:f>0?c.coordinate-f*e:c.coordinate}),c.tickCoord!=null){var p=Pl(e,c.tickCoord,()=>d,s,u);p&&(u=c.tickCoord-e*(d/2+a),o[l-1]=Lr(Lr({},c),{},{isShow:!0}))}}}for(var v=i?l-1:l,h=function(g){var x=o[g];if(x==null)return 1;var A=x,k,_=()=>(k===void 0&&(k=r(x,g)),k);if(g===0){var M=e*(A.coordinate-e*_()/2-s);o[g]=A=Lr(Lr({},A),{},{tickCoord:M<0?A.coordinate-M*e:A.coordinate})}else o[g]=A=Lr(Lr({},A),{},{tickCoord:A.coordinate});if(A.tickCoord!=null){var E=Pl(e,A.tickCoord,_,s,u);E&&(s=A.tickCoord+e*(_()/2+a),o[g]=Lr(Lr({},A),{},{isShow:!0}))}},b=0;b{var M=typeof u=="function"?u(k.value,_):k.value;return v==="width"?g6(Ol(M,{fontSize:t,letterSpacing:r}),h,d):Ol(M,{fontSize:t,letterSpacing:r})[v]},m=a[0],g=a[1],x=a.length>=2&&m!=null&&g!=null?cr(g.coordinate-m.coordinate):1,A=y6(i,x,v);return s==="equidistantPreserveStart"?b6(x,A,b,a,o):s==="equidistantPreserveEnd"?w6(x,A,b,a,o):(s==="preserveStart"||s==="preserveStartEnd"?p=GK(x,A,b,a,o,s==="preserveStartEnd"):p=KK(x,A,b,a,o),p.filter(k=>k.isShow))}var A6=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,a=n===void 0?5:n,i=e.tickSize,o=i===void 0?0:i,l=e.tickMargin,s=l===void 0?0:l,u=0;if(t){Array.from(t).forEach(p=>{if(p){var v=p.getBoundingClientRect();v.width>u&&(u=v.width)}});var c=r?r.getBoundingClientRect().width:0,d=o+s,f=u+d+c+(r?a:0);return Math.round(f)}return 0};var N6=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,a=n===void 0?5:n,i=e.tickSize,o=i===void 0?0:i,l=e.tickMargin,s=l===void 0?0:l,u=0;if(t){Array.from(t).forEach(p=>{if(p){var v=p.getBoundingClientRect();v.height>u&&(u=v.height)}});var c=r?r.getBoundingClientRect().height:0,d=o+s,f=u+d+c+(r?a:0);return Math.round(f)}return 0};var XK={xAxis:{},yAxis:{}},_6=nt({name:"renderedTicks",initialState:XK,reducers:{setRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,a=r.axisId,i=r.ticks;e[n][a]=$e(i)},removeRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,a=r.axisId;delete e[n][a]}}}),C6=_6.actions,E6=C6.setRenderedTicks,k6=C6.removeRenderedTicks;var O6=_6.reducer;var ZK=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function T6(e,t){return eG(e)||RK(e,t)||JK(e,t)||QK()}function QK(){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 JK(e,t){if(e){if(typeof e=="string")return M6(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)?M6(e,t):void 0}}function M6(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(!(n==null||r==null)){var o=t.map(s=>({value:s.value,coordinate:s.coordinate,offset:s.offset,index:s.index})),l=i.current;l!=null&&l.axisId===n&&l.axisType===r&&tS(l.ticks,o)||(i.current={ticks:o,axisId:n,axisType:r},a(E6({ticks:o,axisId:n,axisType:r})))}},[a,t,n,r]),(0,Br.useEffect)(()=>n==null||r==null?ua:()=>{a(k6({axisId:n,axisType:r}))},[a,n,r]),null}var fG=(0,Br.forwardRef)((e,t)=>{var r=e.ticks,n=r===void 0?[]:r,a=e.tick,i=e.tickLine,o=e.stroke,l=e.tickFormatter,s=e.unit,u=e.padding,c=e.tickTextProps,d=e.orientation,f=e.mirror,p=e.x,v=e.y,h=e.width,b=e.height,m=e.tickSize,g=e.tickMargin,x=e.fontSize,A=e.letterSpacing,k=e.getTicksConfig,_=e.events,M=e.axisType,E=e.axisId,L=Pf(Ft(Ft({},k),{},{ticks:n}),x,A),I=gr(k),j=uo(a),z=V0(I.textAnchor)?I.textAnchor:sG(d,f),X=uG(d,f),R={};typeof i=="object"&&(R=i);var Q=Ft(Ft({},I),{},{fill:"none"},R),y=L.map(D=>Ft({entry:D},lG(D,p,v,h,b,d,m,f,g))),C=y.map(D=>{var N=D.entry,T=D.line;return kt.createElement(sr,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(N.value,"-").concat(N.coordinate,"-").concat(N.tickCoord)},i&&kt.createElement("line",jl({},Q,T,{className:Le("recharts-cartesian-axis-tick-line",wn(i,"className"))})))}),O=y.map((D,N)=>{var T,H,Y=D.entry,J=D.tick,fe=Ft(Ft(Ft(Ft({verticalAnchor:X},I),{},{textAnchor:z,stroke:"none",fill:o},J),{},{index:N,payload:Y,visibleTicksCount:L.length,tickFormatter:l,padding:u},c),{},{angle:(T=(H=c?.angle)!==null&&H!==void 0?H:I.angle)!==null&&T!==void 0?T:0}),pe=Ft(Ft({},fe),j);return kt.createElement(sr,jl({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(Y.value,"-").concat(Y.coordinate,"-").concat(Y.tickCoord)},kE(_,Y,N)),a&&kt.createElement(cG,{option:a,tickProps:pe,value:"".concat(typeof l=="function"?l(Y.value,N):Y.value).concat(s||"")}))});return kt.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(M,"-ticks")},kt.createElement(dG,{ticks:L,axisId:E,axisType:M}),O.length>0&&kt.createElement(kr,{zIndex:dt.label},kt.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(M,"-tick-labels"),ref:t},O)),C.length>0&&kt.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(M,"-tick-lines")},C))}),pG=(0,Br.forwardRef)((e,t)=>{var r=e.axisLine,n=e.width,a=e.height,i=e.className,o=e.hide,l=e.ticks,s=e.axisType,u=e.axisId,c=tG(e,ZK),d=(0,Br.useState)(""),f=T6(d,2),p=f[0],v=f[1],h=(0,Br.useState)(""),b=T6(h,2),m=b[0],g=b[1],x=(0,Br.useRef)(null);(0,Br.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>{var k;return A6({ticks:x.current,label:(k=e.labelRef)===null||k===void 0?void 0:k.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})},getCalculatedHeight:()=>{var k;return N6({ticks:x.current,label:(k=e.labelRef)===null||k===void 0?void 0:k.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var A=(0,Br.useCallback)(k=>{if(k){var _=k.getElementsByClassName("recharts-cartesian-axis-tick-value");x.current=_;var M=_[0];if(M){var E=window.getComputedStyle(M),L=E.fontSize,I=E.letterSpacing;(L!==p||I!==m)&&(v(L),g(I))}}},[p,m]);return o||n!=null&&n<=0||a!=null&&a<=0?null:kt.createElement(kr,{zIndex:e.zIndex},kt.createElement(sr,{className:Le("recharts-cartesian-axis",i)},kt.createElement(oG,{x:e.x,y:e.y,width:n,height:a,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:gr(e)}),kt.createElement(fG,{ref:A,axisType:s,events:c,fontSize:p,getTicksConfig:e,height:e.height,letterSpacing:m,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}),kt.createElement(uD,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},kt.createElement(dD,{label:e.label,labelRef:e.labelRef}),e.children)))}),jf=kt.forwardRef((e,t)=>{var r=Pt(e,Jn);return kt.createElement(pG,jl({},r,{ref:t}))});jf.displayName="CartesianAxis";var qt=ee(ne());var rg=ee(ne());var P6={grid:{stroke:"#ccc",fill:"none"}};var j6=(0,rg.createContext)(P6),q0e=j6.Provider,I6=()=>(0,rg.useContext)(j6);var mG=["x1","y1","x2","y2","key"],vG=["offset"],hG=["xAxisId","yAxisId"],gG=["xAxisId","yAxisId"];function z6(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Ur(e){for(var t=1;t{var t=e.fill;if(!t||t==="none")return null;var r=e.fillOpacity,n=e.x,a=e.y,i=e.width,o=e.height,l=e.ry;return qt.createElement("rect",{x:n,y:a,ry:l,width:i,height:o,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function L6(e){var t=e.option,r=e.lineItemProps,n;if(qt.isValidElement(t))n=qt.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var a,i=r.x1,o=r.y1,l=r.x2,s=r.y2,u=r.key,c=ng(r,mG),d=(a=gr(c))!==null&&a!==void 0?a:{},f=d.offset,p=ng(d,vG),v=Array.isArray(p.strokeDasharray)?p.strokeDasharray.join(","):p.strokeDasharray;n=qt.createElement("line",Il({},p,{strokeDasharray:v,x1:i,y1:o,x2:l,y2:s,fill:"none",key:u}))}return n}function AG(e){var t=e.x,r=e.width,n=e.horizontal,a=n===void 0?!0:n,i=e.horizontalPoints;if(!a||!i||!i.length)return null;var o=e.xAxisId,l=e.yAxisId,s=ng(e,hG),u=i.map((c,d)=>{var f=Ur(Ur({},s),{},{x1:t,y1:c,x2:t+r,y2:c,key:"line-".concat(d),index:d});return qt.createElement(L6,{key:"line-".concat(d),option:a,lineItemProps:f})});return qt.createElement("g",{className:"recharts-cartesian-grid-horizontal"},u)}function NG(e){var t=e.y,r=e.height,n=e.vertical,a=n===void 0?!0:n,i=e.verticalPoints;if(!a||!i||!i.length)return null;var o=e.xAxisId,l=e.yAxisId,s=ng(e,gG),u=i.map((c,d)=>{var f=Ur(Ur({},s),{},{x1:c,y1:t,x2:c,y2:t+r,key:"line-".concat(d),index:d});return qt.createElement(L6,{option:a,lineItemProps:f,key:"line-".concat(d)})});return qt.createElement("g",{className:"recharts-cartesian-grid-vertical"},u)}function _G(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,a=e.y,i=e.width,o=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+a-a)).sort((f,p)=>f-p);a!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var v=c[p+1],h=v==null,b=h?a+o-f:v-f;if(b<=0)return null;var m=p%t.length;return qt.createElement("rect",{key:"react-".concat(p),y:f,x:n,height:b,width:i,stroke:"none",fill:t[m],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return qt.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function CG(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,a=e.fillOpacity,i=e.x,o=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+i-i)).sort((f,p)=>f-p);i!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var v=c[p+1],h=v==null,b=h?i+l-f:v-f;if(b<=0)return null;var m=p%n.length;return qt.createElement("rect",{key:"react-".concat(p),x:f,y:o,width:b,height:s,stroke:"none",fill:n[m],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return qt.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var EG=(e,t)=>{var r=e.xAxis,n=e.width,a=e.height,i=e.offset;return E1(Pf(Ur(Ur(Ur({},Jn),r),{},{ticks:k1(r,!0),viewBox:{x:0,y:0,width:n,height:a}})),i.left,i.left+i.width,t)},kG=(e,t)=>{var r=e.yAxis,n=e.width,a=e.height,i=e.offset;return E1(Pf(Ur(Ur(Ur({},Jn),r),{},{ticks:k1(r,!0),viewBox:{x:0,y:0,width:n,height:a}})),i.top,i.top+i.height,t)},OG={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:dt.grid};function zl(e){var t,r,n,a,i,o,l=Rv(),s=eh(),u=Jv(),c=Ur(Ur({},Pt(e,OG)),{},{x:ye(e.x)?e.x:u.left,y:ye(e.y)?e.y:u.top,width:ye(e.width)?e.width:u.width,height:ye(e.height)?e.height:u.height}),d=c.xAxisId,f=c.yAxisId,p=c.x,v=c.y,h=c.width,b=c.height,m=c.syncWithTicks,g=c.horizontalValues,x=c.verticalValues,A=bt(),k=Se(C=>yw(C,"xAxis",d,A)),_=Se(C=>yw(C,"yAxis",f,A)),M=I6(),E={stroke:(t=c.stroke)!==null&&t!==void 0?t:M.grid.stroke,strokeWidth:(r=c.strokeWidth)!==null&&r!==void 0?r:M.grid.strokeWidth,strokeOpacity:(n=c.strokeOpacity)!==null&&n!==void 0?n:M.grid.strokeOpacity,strokeDasharray:(a=c.strokeDasharray)!==null&&a!==void 0?a:M.grid.strokeDasharray};if(!nn(h)||!nn(b)||!ye(p)||!ye(v))return null;var L=c.verticalCoordinatesGenerator||EG,I=c.horizontalCoordinatesGenerator||kG,j=c.horizontalPoints,z=c.verticalPoints;if((!j||!j.length)&&typeof I=="function"){var X=g&&g.length,R=I({yAxis:_?Ur(Ur({},_),{},{ticks:X?g:_.ticks}):void 0,width:l??h,height:s??b,offset:u},X?!0:m);pu(Array.isArray(R),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof R,"]")),Array.isArray(R)&&(j=R)}if((!z||!z.length)&&typeof L=="function"){var Q=x&&x.length,y=L({xAxis:k?Ur(Ur({},k),{},{ticks:Q?x:k.ticks}):void 0,width:l??h,height:s??b,offset:u},Q?!0:m);pu(Array.isArray(y),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof y,"]")),Array.isArray(y)&&(z=y)}return qt.createElement(kr,{zIndex:c.zIndex},qt.createElement("g",{className:"recharts-cartesian-grid"},qt.createElement(SG,{fill:(i=c.fill)!==null&&i!==void 0?i:M.grid.fill,fillOpacity:(o=c.fillOpacity)!==null&&o!==void 0?o:M.grid.fillOpacity,x:c.x,y:c.y,width:c.width,height:c.height,ry:c.ry}),qt.createElement(_G,Il({},c,{horizontalPoints:j})),qt.createElement(CG,Il({},c,{verticalPoints:z})),qt.createElement(AG,Il({},c,E,{offset:u,horizontalPoints:j,xAxis:k,yAxis:_})),qt.createElement(NG,Il({},c,E,{offset:u,verticalPoints:z,xAxis:k,yAxis:_}))))}zl.displayName="CartesianGrid";var TG={},B6=nt({name:"errorBars",initialState:TG,reducers:{addErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,a=r.errorBar;e[n]||(e[n]=[]),e[n].push(a)},replaceErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,a=r.prev,i=r.next;e[n]&&(e[n]=e[n].map(o=>o.dataKey===a.dataKey&&o.direction===a.direction?i:o))},removeErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,a=r.errorBar;e[n]&&(e[n]=e[n].filter(i=>i.dataKey!==a.dataKey||i.direction!==a.direction))}}}),rS=B6.actions,uge=rS.addErrorBar,cge=rS.replaceErrorBar,dge=rS.removeErrorBar;var U6=B6.reducer;var nS=ee(ne());function aS(e,t){var r,n,a=Se(u=>Ia(u,e)),i=Se(u=>za(u,t)),o=(r=a?.allowDataOverflow)!==null&&r!==void 0?r:Xt.allowDataOverflow,l=(n=i?.allowDataOverflow)!==null&&n!==void 0?n:Zt.allowDataOverflow,s=o||l;return{needClip:s,needClipX:o,needClipY:l}}function $6(e){var t=e.xAxisId,r=e.yAxisId,n=e.clipPathId,a=rc(),i=aS(t,r),o=i.needClipX,l=i.needClipY,s=i.needClip,u=Se(x=>dw(x,t,!1)),c=Se(x=>fw(x,r,!1));if(!s||!a)return null;var d=a.x,f=a.y,p=a.width,v=a.height,h=o&&u?Math.min(u[0],u[1]):d-p/2,b=l&&c?Math.min(c[0],c[1]):f-v/2,m=o&&u?Math.abs(u[1]-u[0]):p*2,g=l&&c?Math.abs(c[1]-c[0]):v*2;return nS.createElement("clipPath",{id:"clipPath-".concat(n)},nS.createElement("rect",{x:h,y:b,width:m,height:g}))}function H6(e){var t=uo(e),r=3,n=2;if(t!=null){var a=t.r,i=t.strokeWidth,o=Number(a),l=Number(i);return(Number.isNaN(o)||o<0)&&(o=r),(Number.isNaN(l)||l<0)&&(l=n),{r:o,strokeWidth:l}}return{r,strokeWidth:n}}var Ze=ee(ne()),Ll=ee(ne());function ag(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(a=>a.id===t))===null||n===void 0?void 0:n.xAxisId)!==null&&r!==void 0?r:Qw}function ig(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(a=>a.id===t))===null||n===void 0?void 0:n.yAxisId)!==null&&r!==void 0?r:Qw}var V6=(e,t,r)=>bw(e,"xAxis",ag(e,t),r),F6=(e,t,r)=>xw(e,"xAxis",ag(e,t),r),q6=(e,t,r)=>bw(e,"yAxis",ig(e,t),r),Y6=(e,t,r)=>xw(e,"yAxis",ig(e,t),r),MG=V([lt,V6,q6,F6,Y6],(e,t,r,n,a)=>on(e,"xAxis")?uu(t,n,!1):uu(r,a,!1)),DG=(e,t)=>t,iS=V([V2,DG],(e,t)=>e.filter(r=>r.type==="area").find(r=>r.id===t)),W6=e=>{var t=lt(e),r=on(t,"xAxis");return r?"yAxis":"xAxis"},PG=(e,t)=>{var r=W6(e);return r==="yAxis"?ig(e,t):ag(e,t)},K6=(e,t,r)=>Z2(e,W6(e),PG(e,t),r),jG=V([iS,K6],(e,t)=>{var r;if(!(e==null||t==null)){var n=e.stackId,a=Su(e);if(!(n==null||a==null)){var i=(r=t[n])===null||r===void 0?void 0:r.stackedData,o=i?.find(l=>l.key===a);if(o!=null)return o.map(l=>[l[0],l[1]])}}}),IG=V([iS,K6],(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(dr)}}),G6=V([lt,V6,q6,F6,Y6,jG,f3,MG,iS,N3,IG],(e,t,r,n,a,i,o,l,s,u,c)=>{var d=o.chartData,f=o.dataStartIndex,p=o.dataEndIndex;if(!(s==null||e!=="horizontal"&&e!=="vertical"||t==null||r==null||n==null||a==null||n.length===0||a.length===0||l==null)){var v=s.data,h;if(v&&v.length>0?h=v:h=d?.slice(f,p+1),h!=null)return X6({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:a,dataStartIndex:f,areaSettings:s,stackedData:i,displayedData:h,chartBaseValue:u,bandSize:l,stackDataKeys:c})}});var $r=ee(ne());var zG=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],LG=["id","baseLine"];function If(){return If=Object.assign?Object.assign.bind():function(e){for(var t=1;td.y||0));return ye(a)?c=Math.max(a,c):a&&Array.isArray(a)&&a.length&&(c=Math.max(...a.map(d=>d.y||0),c)),ye(c)?$r.createElement("rect",{x:ld.x||0));return ye(a)?c=Math.max(a,c):a&&Array.isArray(a)&&a.length&&(c=Math.max(...a.map(d=>d.x||0),c)),ye(c)?$r.createElement("rect",{x:0,y:le==null?[]:t===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>r.status==="matched"?[ac(ac({},r.next),{},{x:qn(r.prev.x,r.next.x,t),y:qn(r.prev.y,r.next.y,t)})]:r.status==="added"?[r.next]:[]),eP={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:Nf,animationInterpolateFn:GG,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:Q6,xAxisId:0,yAxisId:0,zIndex:dt.area};function lg(e,t){return e&&e!=="none"?e:t}var XG=e=>{var t=e.dataKey,r=e.name,n=e.stroke,a=e.fill,i=e.legendType,o=e.hide;return[{inactive:o,dataKey:t,type:i,color:lg(n,a),value:P1(r,t),payload:e}]},ZG=Ze.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,a=e.strokeWidth,i=e.fill,o=e.name,l=e.hide,s=e.unit,u=e.formatter,c=e.tooltipType,d=e.id,f={dataDefinedOnItem:r,getPosition:ua,settings:{stroke:n,strokeWidth:a,fill:i,dataKey:t,nameKey:void 0,name:P1(o,t),hide:l,type:c,color:lg(n,i),unit:s,formatter:u,graphicalItemId:d}};return Ze.createElement(_D,{tooltipEntrySettings:f})});function QG(e){var t=e.clipPathId,r=e.points,n=e.props,a=n.needClip,i=n.dot,o=n.dataKey,l=gr(n);return Ze.createElement(FD,{points:r,dot:i,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:o,baseProps:l,needClip:a,clipPathId:t})}function JG(e){var t=e.showLabels,r=e.children,n=e.points,a=n.map(i=>{var o,l,s={x:(o=i.x)!==null&&o!==void 0?o:0,y:(l=i.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return ac(ac({},s),{},{value:i.value,payload:i.payload,parentViewBox:void 0,viewBox:s,fill:void 0})});return Ze.createElement(mD,{value:t?a:void 0},r)}function RG(e){var t=e.points,r=e.baseLine,n=e.needClip,a=e.clipPathId,i=e.props,o=e.animationElapsedTime,l=e.isAnimating,s=e.isEntrance,u=i.layout,c=i.type,d=i.stroke,f=i.connectNulls,p=i.isRange,v=i.shape,h=i.id,b=R6(i,VG),m=Kt(b),g=ac(ac({},m),{},{id:h,points:t,connectNulls:f,type:c,baseLine:r,layout:u,stroke:d,isRange:p,animationElapsedTime:o,isAnimating:l,isEntrance:s});return Ze.createElement(Ze.Fragment,null,t?.length>1&&Ze.createElement(sr,{clipPath:n?"url(#clipPath-".concat(a,")"):void 0},Ze.createElement(ND,{option:v,DefaultShape:eP.shape,shapeProps:g})),Ze.createElement(QG,{points:t,props:b,clipPathId:a}))}function eX(e,t,r){if(ye(e)){var n=ye(t)?t:void 0;return qn(n,e,r)}if(Dt(e)||Mr(e)){var a=ye(t)?t:void 0;return qn(a,0,r)}return e}function tX(e){var t=e.needClip,r=e.clipPathId,n=e.props,a=e.previousPointsRef,i=e.previousBaselineRef,o=n.points,l=n.baseLine,s=n.isAnimationActive,u=n.animationBegin,c=n.animationDuration,d=n.animationEasing,f=n.animationMatchBy,p=n.animationInterpolateFn,v=(0,Ll.useMemo)(()=>({points:o,baseLine:l}),[o,l]),h=G0(v,i),b=vu(),m=TD(n.onAnimationStart,n.onAnimationEnd),g=m.isAnimating,x=m.handleAnimationStart,A=m.handleAnimationEnd,k=h.startValue;if(b==null)return null;var _;return Array.isArray(l)&&Array.isArray(k)?_=_f(k,l,f):Array.isArray(l)?_=_f(null,l,f):_=null,Ze.createElement(MD,{animationInput:v,animationIdPrefix:"recharts-area-",items:o,previousItemsRef:a,isAnimationActive:s,animationBegin:u,animationDuration:c,animationEasing:d,onAnimationStart:x,onAnimationEnd:A,animationInterpolateFn:p,animationMatchBy:f,layout:b},(M,E,L)=>{var I;return E===1?I=l:Array.isArray(l)?I=p(_,E,b):I=L?l:eX(l,k,E),h.syncStepValue(I,E),Ze.createElement(JG,{showLabels:!g,points:o},n.children,Ze.createElement(RG,{points:M,baseLine:I,needClip:t,clipPathId:r,props:n,animationElapsedTime:E,isAnimating:g||E<1,isEntrance:L}),Ze.createElement(hD,{label:n.label}))})}function rX(e){var t=e.needClip,r=e.clipPathId,n=e.props,a=(0,Ll.useRef)(null),i=(0,Ll.useRef)();return Ze.createElement(tX,{needClip:t,clipPathId:r,props:n,previousPointsRef:a,previousBaselineRef:i})}var oS=class extends Ll.PureComponent{render(){var t=this.props,r=t.hide,n=t.dot,a=t.points,i=t.className,o=t.top,l=t.left,s=t.needClip,u=t.xAxisId,c=t.yAxisId,d=t.width,f=t.height,p=t.id,v=t.baseLine,h=t.zIndex;if(r)return null;var b=Le("recharts-area",i),m=p,g=H6(n),x=g.r,A=g.strokeWidth,k=K0(n),_=x*2+A,M=s?"url(#clipPath-".concat(k?"":"dots-").concat(m,")"):void 0;return Ze.createElement(kr,{zIndex:h},Ze.createElement(sr,{className:b},s&&Ze.createElement("defs",null,Ze.createElement($6,{clipPathId:m,xAxisId:u,yAxisId:c}),!k&&Ze.createElement("clipPath",{id:"clipPath-dots-".concat(m)},Ze.createElement("rect",{x:l-_/2,y:o-_/2,width:d+_,height:f+_}))),Ze.createElement(rX,{needClip:s,clipPathId:m,props:this.props})),Ze.createElement(Rw,{points:a,mainColor:lg(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:M}),this.props.isRange&&Array.isArray(v)&&Ze.createElement(Rw,{points:v,mainColor:lg(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:M}))}};function nX(e){var t,r=e.activeDot,n=e.animationBegin,a=e.animationDuration,i=e.animationEasing,o=e.connectNulls,l=e.dot,s=e.fill,u=e.fillOpacity,c=e.hide,d=e.isAnimationActive,f=e.legendType,p=e.stroke,v=e.xAxisId,h=e.yAxisId,b=R6(e,FG),m=ka(),g=T0(),x=aS(v,h),A=x.needClip,k=bt(),_=(t=Se(Q=>G6(Q,e.id,k)))!==null&&t!==void 0?t:{},M=_.points,E=_.isRange,L=_.baseLine,I=rc();if(m!=="horizontal"&&m!=="vertical"||I==null||g!=="AreaChart"&&g!=="ComposedChart")return null;var j=I.height,z=I.width,X=I.x,R=I.y;return!M||!M.length?null:Ze.createElement(oS,og({},b,{activeDot:r,animationBegin:n,animationDuration:a,animationEasing:i,baseLine:L,connectNulls:o,dot:l,fill:s,fillOpacity:u,height:j,hide:c,layout:m,isAnimationActive:d,isRange:E,legendType:f,needClip:A,points:M,stroke:p,width:z,left:X,top:R,xAxisId:v,yAxisId:h}))}var aX=(e,t,r,n,a)=>{var i=r??t;if(ye(i))return i;var o=e==="horizontal"?a:n,l=o.scale.domain();if(o.type==="number"){var s=Math.max(l[0],l[1]),u=Math.min(l[0],l[1]);return i==="dataMin"?u:i==="dataMax"||s<0?s:Math.max(Math.min(l[0],l[1]),0)}return i==="dataMin"?l[0]:i==="dataMax"?l[1]:l[0]};function X6(e){var t=e.areaSettings,r=t.connectNulls,n=t.baseValue,a=t.dataKey,i=e.stackedData,o=e.layout,l=e.chartBaseValue,s=e.xAxis,u=e.yAxis,c=e.displayedData,d=e.dataStartIndex,f=e.xAxisTicks,p=e.yAxisTicks,v=e.bandSize,h=e.stackDataKeys,b=i&&i.length,m=aX(o,l,n,s,u),g=o==="horizontal",x=!1,A=c.map((_,M)=>{var E,L,I,j;if(b)j=i[d+M];else{var z=Ct(_,a);Array.isArray(z)?(j=z,x=!0):j=[m,z]}var X=(E=(L=j)===null||L===void 0?void 0:L[1])!==null&&E!==void 0?E:null,R=Ct(_,a),Q=b&&R==null&&h!=null&&h.length>0&&h.every(O=>Ct(_,O)==null),y=X==null||b&&!r&&R==null||Q;if(g){var C;return{x:O1({axis:s,ticks:f,bandSize:v,entry:_,index:M}),y:y?null:(C=u.scale.map(X))!==null&&C!==void 0?C:null,value:j,payload:_}}return{x:y?null:(I=s.scale.map(X))!==null&&I!==void 0?I:null,y:O1({axis:u,ticks:p,bandSize:v,entry:_,index:M}),value:j,payload:_}}),k;return b||x?k=A.map(_=>{var M,E=Array.isArray(_.value)?_.value[0]:null;if(g){var L;return{x:_.x,y:E!=null&&_.y!=null&&(L=u.scale.map(E))!==null&&L!==void 0?L:null,payload:_.payload}}return{x:E!=null&&(M=s.scale.map(E))!==null&&M!==void 0?M:null,y:_.y,payload:_.payload}}):k=g?u.scale.map(m):s.scale.map(m),{points:A,baseLine:k??0,isRange:x}}function iX(e){var t=Pt(e,eP),r=bt();return Ze.createElement(ID,{id:t.id,type:"area"},n=>Ze.createElement(Ze.Fragment,null,Ze.createElement(CD,{legendPayload:XG(t)}),Ze.createElement(ZG,{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}),Ze.createElement(HD,{type:"area",id:n,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:wO(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:r,connectNulls:t.connectNulls}),Ze.createElement(nX,og({},t,{id:n}))))}var Bl=Ze.memo(iX,mo);Bl.displayName="Area";var Ci=ee(ne()),Rn=ee(ne());var oX=["domain","range"],lX=["domain","range"];function tP(e,t){if(e==null)return{};var r,n,a=sX(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n{if(o!=null)return aP(aP({},i),{},{type:o})},[i,o]);return(0,Rn.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(WD(l)):r.current!==l&&t(KD({prev:r.current,next:l})),r.current=l)},[l,t]),(0,Rn.useLayoutEffect)(()=>()=>{r.current&&(t(GD(r.current)),r.current=null)},[t]),null}var gX=e=>{var t=e.xAxisId,r=e.className,n=e.height,a=e.label,i=(0,Rn.useRef)(null),o=(0,Rn.useRef)(null),l=Se(Xv),s=bt(),u=Ve(),c="xAxis",d=Se(_=>x0(_,c,t,s)),f=Se(_=>vM(_,t)),p=Se(_=>hM(_,t)),v=Se(_=>L2(_,t));if((0,Rn.useLayoutEffect)(()=>{if(!(n!=="auto"||!f||Ml(a)||(0,Rn.isValidElement)(a)||v==null)){var _=i.current;if(_){var M=_.getCalculatedHeight();Math.round(f.height)!==Math.round(M)&&u(RD({id:t,height:M}))}}},[d,f,u,a,t,n,v]),f==null||p==null||v==null)return null;var h=e.dangerouslySetInnerHTML,b=e.ticks,m=e.scale,g=sS(e,cX),x=v.id,A=v.scale,k=sS(v,dX);return Ci.createElement(jf,lS({},g,k,{ref:i,labelRef:o,x:p.x,y:p.y,width:f.width,height:f.height,className:Le("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:d,axisType:c,axisId:t}))},yX={allowDataOverflow:Xt.allowDataOverflow,allowDecimals:Xt.allowDecimals,allowDuplicatedCategory:Xt.allowDuplicatedCategory,angle:Xt.angle,axisLine:Jn.axisLine,height:Xt.height,hide:!1,includeHidden:Xt.includeHidden,interval:Xt.interval,label:!1,minTickGap:Xt.minTickGap,mirror:Xt.mirror,orientation:Xt.orientation,padding:Xt.padding,reversed:Xt.reversed,scale:Xt.scale,tick:Xt.tick,tickCount:Xt.tickCount,tickLine:Jn.tickLine,tickSize:Jn.tickSize,type:Xt.type,niceTicks:Xt.niceTicks,xAxisId:0},xX=e=>{var t=Pt(e,yX);return Ci.createElement(Ci.Fragment,null,Ci.createElement(hX,{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}),Ci.createElement(gX,t))},Ul=Ci.memo(xX,sg);Ul.displayName="XAxis";var Ei=ee(ne()),ea=ee(ne());var bX=["type"],wX=["dangerouslySetInnerHTML","ticks","scale"],SX=["id","scale"];function uS(){return uS=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(o!=null)return oP(oP({},i),{},{type:o})},[o,i]);return(0,ea.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(XD(l)):r.current!==l&&t(ZD({prev:r.current,next:l})),r.current=l)},[l,t]),(0,ea.useLayoutEffect)(()=>()=>{r.current&&(t(QD(r.current)),r.current=null)},[t]),null}function kX(e){var t=e.yAxisId,r=e.className,n=e.width,a=e.label,i=(0,ea.useRef)(null),o=(0,ea.useRef)(null),l=Se(Xv),s=bt(),u=Ve(),c="yAxis",d=Se(_=>yM(_,t)),f=Se(_=>gM(_,t)),p=Se(_=>x0(_,c,t,s)),v=Se(_=>B2(_,t));if((0,ea.useLayoutEffect)(()=>{if(!(n!=="auto"||!d||Ml(a)||(0,ea.isValidElement)(a)||v==null)){var _=i.current;if(_){var M=_.getCalculatedWidth();Math.round(d.width)!==Math.round(M)&&u(JD({id:t,width:M}))}}},[p,d,u,a,t,n,v]),d==null||f==null||v==null)return null;var h=e.dangerouslySetInnerHTML,b=e.ticks,m=e.scale,g=cS(e,wX),x=v.id,A=v.scale,k=cS(v,SX);return Ei.createElement(jf,uS({},g,k,{ref:i,labelRef:o,x:f.x,y:f.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:d.width,height:d.height,className:Le("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:p,axisType:c,axisId:t}))}var OX={allowDataOverflow:Zt.allowDataOverflow,allowDecimals:Zt.allowDecimals,allowDuplicatedCategory:Zt.allowDuplicatedCategory,angle:Zt.angle,axisLine:Jn.axisLine,hide:!1,includeHidden:Zt.includeHidden,interval:Zt.interval,label:!1,minTickGap:Zt.minTickGap,mirror:Zt.mirror,orientation:Zt.orientation,padding:Zt.padding,reversed:Zt.reversed,scale:Zt.scale,tick:Zt.tick,tickCount:Zt.tickCount,tickLine:Jn.tickLine,tickSize:Jn.tickSize,type:Zt.type,niceTicks:Zt.niceTicks,width:Zt.width,yAxisId:0},TX=e=>{var t=Pt(e,OX);return Ei.createElement(Ei.Fragment,null,Ei.createElement(EX,{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}),Ei.createElement(kX,t))},$l=Ei.memo(TX,sg);$l.displayName="YAxis";var Wl=ee(ne()),zP=ee(ne());var bP=ee(ne()),wP=ee(ne());var MX=(e,t)=>t,zf=V([MX,lt,Eh,Gt,Cw,un,QM,Et],n8);function DX(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function Lf(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if(DX(e)){var a=e.currentTarget.getBBox();r=a.width>0?t.width/a.width:1,n=a.height>0?t.height/a.height:1}else{var i=e.currentTarget;r=i.offsetWidth>0?t.width/i.offsetWidth:1,n=i.offsetHeight>0?t.height/i.offsetHeight:1}var o=(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=>o(l.clientX,l.clientY)):o(e.clientX,e.clientY)}var fS=rr("mouseClick"),pS=mi();pS.startListening({actionCreator:fS,effect:(e,t)=>{var r=e.payload,n=zf(t.getState(),Lf(r));n?.activeIndex!=null&&t.dispatch(kM({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var ug=rr("mouseMove"),mS=mi(),ic=null,Hl=null,dS=null;mS.startListening({actionCreator:ug,effect:(e,t)=>{var r=e.payload,n=t.getState(),a=n.eventSettings,i=a.throttleDelay,o=a.throttledEvents,l=o==="all"||o?.includes("mousemove");ic!==null&&(cancelAnimationFrame(ic),ic=null),Hl!==null&&(typeof i!="number"||!l)&&(clearTimeout(Hl),Hl=null),dS=Lf(r);var s=()=>{var u=t.getState(),c=Ao(u,u.tooltip.settings.shared);if(!dS){ic=null,Hl=null;return}if(c==="axis"){var d=zf(u,dS);d?.activeIndex!=null?t.dispatch(S0({activeIndex:d.activeIndex,activeDataKey:void 0,activeCoordinate:d.activeCoordinate})):t.dispatch(w0())}ic=null,Hl=null};if(!l){s();return}i==="raf"?ic=requestAnimationFrame(s):typeof i=="number"&&Hl===null&&(Hl=setTimeout(s,i))}});function lP(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 sP={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},uP=nt({name:"rootProps",initialState:sP,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:sP.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}}}),cP=uP.reducer,dP=uP.actions.updateOptions;var PX=null,jX={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)},fP=nt({name:"polarOptions",initialState:PX,reducers:jX}),cxe=fP.actions.updatePolarOptions;var pP=fP.reducer;var vS=rr("keyDown"),hS=rr("focus"),gS=rr("blur"),Bf=mi(),oc=null,Vl=null,cg=null;Bf.startListening({actionCreator:vS,effect:(e,t)=>{cg=e.payload,oc!==null&&(cancelAnimationFrame(oc),oc=null);var r=t.getState(),n=r.eventSettings,a=n.throttleDelay,i=n.throttledEvents,o=i==="all"||i.includes("keydown");Vl!==null&&(typeof a!="number"||!o)&&(clearTimeout(Vl),Vl=null);var l=()=>{try{var s=t.getState(),u=s.rootProps.accessibilityLayer!==!1;if(!u)return;var c=s.tooltip.keyboardInteraction,d=cg;if(d!=="ArrowRight"&&d!=="ArrowLeft"&&d!=="Enter")return;var f=No(c,Si(s),xi(s),Co(s)),p=f==null?-1:Number(f),v=!Number.isFinite(p)||p<0,h=un(s),b=Si(s),m=Ao(s,s.tooltip.settings.shared);if(d==="Enter"){if(v)return;var g=gf(s,m,"hover",String(c.index));t.dispatch(vf({active:!c.active,activeIndex:c.index,activeCoordinate:g}));return}var x=xM(s),A=x==="left-to-right"?1:-1,k=d==="ArrowRight"?1:-1,_;if(v){var M=xi(s),E=Co(s),L=k*A,I=Q=>({active:!1,index:String(Q),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(_=-1,L>0){for(var j=0;j=0;z--)if(No(I(z),b,M,E)!=null){_=z;break}if(_<0)return}else{_=p+k*A;var X=h?.length||b.length;if(X===0||_>=X||_<0)return}var R=gf(s,m,"hover",String(_));t.dispatch(vf({active:!0,activeIndex:_.toString(),activeCoordinate:R}))}finally{oc=null,Vl=null}};if(!o){l();return}a==="raf"?oc=requestAnimationFrame(l):typeof a=="number"&&Vl===null&&(l(),cg=null,Vl=setTimeout(()=>{cg?l():(Vl=null,oc=null)},a))}});Bf.startListening({actionCreator:hS,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var a=r.tooltip.keyboardInteraction;if(!a.active&&a.index==null){var i="0",o=Ao(r,r.tooltip.settings.shared),l=gf(r,o,"hover",String(i));t.dispatch(vf({active:!0,activeIndex:i,activeCoordinate:l}))}}}});Bf.startListening({actionCreator:gS,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var a=r.tooltip.keyboardInteraction;a.active&&t.dispatch(vf({active:!1,activeIndex:a.index,activeCoordinate:a.coordinate}))}}});function dg(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(r,n)=>{if(n==="currentTarget")return t;var a=Reflect.get(r,n);return typeof a=="function"?a.bind(r):a}})}var Mn=rr("externalEvent"),xS=mi(),fg=new Map,Uf=new Map,yS=new Map;xS.startListening({actionCreator:Mn,effect:(e,t)=>{var r=e.payload,n=r.handler,a=r.reactEvent;if(n!=null){var i=a.type,o=dg(a);yS.set(i,{handler:n,reactEvent:o});var l=fg.get(i);l!==void 0&&(cancelAnimationFrame(l),fg.delete(i));var s=t.getState(),u=s.eventSettings,c=u.throttleDelay,d=u.throttledEvents,f=d,p=f==="all"||f?.includes(i),v=Uf.get(i);v!==void 0&&(typeof c!="number"||!p)&&(clearTimeout(v),Uf.delete(i));var h=()=>{var g=yS.get(i);try{if(!g)return;var x=g.handler,A=g.reactEvent,k=t.getState(),_={activeCoordinate:Tw(k),activeDataKey:UM(k),activeIndex:kl(k),activeLabel:O0(k),activeTooltipIndex:kl(k),isTooltipActive:Mw(k)};x&&x(_,A)}finally{fg.delete(i),Uf.delete(i),yS.delete(i)}};if(!p){h();return}if(c==="raf"){var b=requestAnimationFrame(h);fg.set(i,b)}else if(typeof c=="number"){if(!Uf.has(i)){h();var m=setTimeout(h,c);Uf.set(i,m)}}else h()}}});var IX=V([wi],e=>e.tooltipItemPayloads),mP=V([IX,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(i=>i.settings.graphicalItemId===r);if(n!=null){var a=n.getPosition;if(a!=null)return a(t)}}});var bS=rr("touchMove"),wS=mi(),Fl=null,ko=null,vP=null,$f=null;wS.startListening({actionCreator:bS,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){$f=dg(r);var n=t.getState(),a=n.eventSettings,i=a.throttleDelay,o=a.throttledEvents,l=o==="all"||o.includes("touchmove");Fl!==null&&(cancelAnimationFrame(Fl),Fl=null),ko!==null&&(typeof i!="number"||!l)&&(clearTimeout(ko),ko=null),vP=Array.from(r.touches).map(u=>Lf({clientX:u.clientX,clientY:u.clientY,currentTarget:r.currentTarget}));var s=()=>{if($f!=null){var u=t.getState(),c=Ao(u,u.tooltip.settings.shared);if(c==="axis"){var d,f=(d=vP)===null||d===void 0?void 0:d[0];if(f==null){Fl=null,ko=null;return}var p=zf(u,f);p?.activeIndex!=null&&t.dispatch(S0({activeIndex:p.activeIndex,activeDataKey:void 0,activeCoordinate:p.activeCoordinate}))}else if(c==="item"){var v,h=$f.touches[0];if(document.elementFromPoint==null||h==null)return;var b=document.elementFromPoint(h.clientX,h.clientY);if(!b||!b.getAttribute)return;var m=b.getAttribute(CO),g=(v=b.getAttribute(EO))!==null&&v!==void 0?v:void 0,x=_o(u).find(_=>_.id===g);if(m==null||x==null||g==null)return;var A=x.dataKey,k=mP(u,m,g);t.dispatch(EM({activeDataKey:A,activeIndex:m,activeCoordinate:k,activeGraphicalItemId:g}))}Fl=null,ko=null}};if(!l){s();return}i==="raf"?Fl=requestAnimationFrame(s):typeof i=="number"&&ko===null&&(s(),$f=null,ko=setTimeout(()=>{$f?s():(ko=null,Fl=null)},i))}}});var SS={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},hP=nt({name:"eventSettings",initialState:SS,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=$e(t.payload.throttledEvents))}}}),gP=hP.actions.setEventSettings;var yP=hP.reducer;var zX=Sv({brush:u6,cartesianAxis:e6,chartData:k8,errorBars:U6,eventSettings:yP,graphicalItems:$D,layout:gO,legend:YO,options:A8,polarAxis:xD,polarOptions:pP,referenceElements:f6,renderedTicks:O6,rootProps:cP,tooltip:OM,zIndex:f8}),xP=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return Rk({reducer:zX,preloadedState:t,middleware:n=>{var a;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((a="es6")!==null&&a!==void 0?a:"")}).concat([pS.middleware,mS.middleware,Bf.middleware,xS.middleware,wS.middleware])},enhancers:n=>{var a=n;return typeof n=="function"&&(a=n()),a.concat(A1({type:"raf"}))},devTools:Wn.devToolsEnabled&&{serialize:{replacer:lP},name:"recharts-".concat(r)}})};function SP(e){var t=e.preloadedState,r=e.children,n=e.reduxStoreName,a=bt(),i=(0,wP.useRef)(null);if(a)return r;i.current==null&&(i.current=xP(t,n));var o=xd;return bP.createElement(RO,{context:o,store:i.current},r)}var pg=ee(ne());function LX(e){var t=e.layout,r=e.margin,n=Ve(),a=bt();return(0,pg.useEffect)(()=>{a||(n(mO(t)),n(C1(r)))},[n,a,t,r]),null}var AP=(0,pg.memo)(LX,mo);var NP=ee(ne());function _P(e){var t=Ve();return(0,NP.useEffect)(()=>{t(dP(e))},[t,e]),null}var mg=ee(ne());var BX=e=>{var t=Ve();return(0,mg.useEffect)(()=>{t(gP(e))},[t,e]),null},CP=(0,mg.memo)(BX,mo);var ki=ee(ne()),PP=ee(ne());var Yl=ee(ne()),NS=ee(ne());var ql=ee(ne()),vg=ee(ne());function EP(e){var t=e.zIndex,r=e.isPanorama,n=(0,vg.useRef)(null),a=Ve();return(0,vg.useLayoutEffect)(()=>(n.current&&a(c8({zIndex:t,element:n.current,isPanorama:r})),()=>{a(d8({zIndex:t,isPanorama:r}))}),[a,t,r]),ql.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function AS(e){var t=e.children,r=e.isPanorama,n=Se(i8);if(!n||n.length===0)return t;var a=n.filter(o=>o<0),i=n.filter(o=>o>0);return ql.createElement(ql.Fragment,null,a.map(o=>ql.createElement(EP,{key:o,zIndex:o,isPanorama:r})),t,i.map(o=>ql.createElement(EP,{key:o,zIndex:o,isPanorama:r})))}var UX=["children"];function $X(e,t){if(e==null)return{};var r,n,a=HX(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n{var r=Rv(),n=eh(),a=nh();if(!nn(r)||!nn(n))return null;var i=e.children,o=e.otherAttributes,l=e.title,s=e.desc,u,c;return o!=null&&(typeof o.tabIndex=="number"?u=o.tabIndex:u=a?0:void 0,typeof o.role=="string"?c=o.role:c=a?"application":void 0),Yl.createElement(Eb,hg({},o,{title:l,desc:s,role:c,tabIndex:u,width:r,height:n,style:VX,ref:t}),i)}),qX=e=>{var t=e.children,r=Se(ol);if(!r)return null;var n=r.width,a=r.height,i=r.y,o=r.x;return Yl.createElement(Eb,{width:n,height:a,x:o,y:i},t)},_S=(0,NS.forwardRef)((e,t)=>{var r=e.children,n=$X(e,UX),a=bt();return a?Yl.createElement(qX,null,Yl.createElement(AS,{isPanorama:!0},r)):Yl.createElement(FX,hg({ref:t},n),Yl.createElement(AS,{isPanorama:!1},r))});var It=ee(ne()),We=ee(ne());var gg=ee(ne());function YX(e,t){return XX(e)||GX(e,t)||KX(e,t)||WX()}function WX(){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 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);r{if(n!=null){var o=n.getBoundingClientRect(),l=o.width/n.offsetWidth;Ie(l)&&l!==i&&e(hO(l))}},[n,e,i]),a}function TP(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function ZX(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r(T8(),null);function xg(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var iZ=(0,We.forwardRef)((e,t)=>{var r,n,a=(0,We.useRef)(null),i=(0,We.useState)({containerWidth:xg((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:xg((n=e.style)===null||n===void 0?void 0:n.height)}),o=yg(i,2),l=o[0],s=o[1],u=(0,We.useCallback)((d,f)=>{s(p=>{var v=Math.round(d),h=Math.round(f);return p.containerWidth===v&&p.containerHeight===h?p:{containerWidth:v,containerHeight:h}})},[]),c=(0,We.useCallback)(d=>{if(typeof t=="function"&&t(d),a.current!=null&&(a.current.disconnect(),a.current=null),d!=null&&typeof ResizeObserver<"u"){var f=d.getBoundingClientRect(),p=f.width,v=f.height;u(p,v);var h=m=>{var g=m[0];if(g!=null){var x=g.contentRect,A=x.width,k=x.height;u(A,k)}},b=new ResizeObserver(h);b.observe(d),a.current=b}},[t,u]);return(0,We.useEffect)(()=>()=>{var d=a.current;d?.disconnect()},[u]),It.createElement(It.Fragment,null,It.createElement(ul,{width:l.containerWidth,height:l.containerHeight}),It.createElement("div",Oo({ref:c},e)))}),oZ=(0,We.forwardRef)((e,t)=>{var r=e.width,n=e.height,a=(0,We.useState)({containerWidth:xg(r),containerHeight:xg(n)}),i=yg(a,2),o=i[0],l=i[1],s=(0,We.useCallback)((c,d)=>{l(f=>{var p=Math.round(c),v=Math.round(d);return f.containerWidth===p&&f.containerHeight===v?f:{containerWidth:p,containerHeight:v}})},[]),u=(0,We.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 It.createElement(It.Fragment,null,It.createElement(ul,{width:o.containerWidth,height:o.containerHeight}),It.createElement("div",Oo({ref:u},e)))}),lZ=(0,We.forwardRef)((e,t)=>{var r=e.width,n=e.height;return It.createElement(It.Fragment,null,It.createElement(ul,{width:r,height:n}),It.createElement("div",Oo({ref:t},e)))}),sZ=(0,We.forwardRef)((e,t)=>{var r=e.width,n=e.height;return typeof r=="string"||typeof n=="string"?It.createElement(oZ,Oo({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?It.createElement(lZ,Oo({},e,{width:r,height:n,ref:t})):It.createElement(It.Fragment,null,It.createElement(ul,{width:r,height:n}),It.createElement("div",Oo({ref:t},e)))});function uZ(e){return e?iZ:sZ}var DP=(0,We.forwardRef)((e,t)=>{var r=e.children,n=e.className,a=e.height,i=e.onClick,o=e.onContextMenu,l=e.onDoubleClick,s=e.onMouseDown,u=e.onMouseEnter,c=e.onMouseLeave,d=e.onMouseMove,f=e.onMouseUp,p=e.onTouchEnd,v=e.onTouchMove,h=e.onTouchStart,b=e.style,m=e.width,g=e.responsive,x=e.dispatchTouchEvents,A=x===void 0?!0:x,k=(0,We.useRef)(null),_=Ve(),M=(0,We.useState)(null),E=yg(M,2),L=E[0],I=E[1],j=(0,We.useState)(null),z=yg(j,2),X=z[0],R=z[1],Q=OP(),y=Od(),C=y?.width>0?y.width:m,O=y?.height>0?y.height:a,D=(0,We.useCallback)(ie=>{Q(ie),typeof t=="function"&&t(ie),I(ie),R(ie),ie!=null&&(k.current=ie)},[Q,t,I,R]),N=(0,We.useCallback)(ie=>{_(fS(ie)),_(Mn({handler:i,reactEvent:ie}))},[_,i]),T=(0,We.useCallback)(ie=>{_(ug(ie)),_(Mn({handler:u,reactEvent:ie}))},[_,u]),H=(0,We.useCallback)(ie=>{_(w0()),_(Mn({handler:c,reactEvent:ie}))},[_,c]),Y=(0,We.useCallback)(ie=>{_(ug(ie)),_(Mn({handler:d,reactEvent:ie}))},[_,d]),J=(0,We.useCallback)(()=>{_(hS())},[_]),fe=(0,We.useCallback)(()=>{_(gS())},[_]),pe=(0,We.useCallback)(ie=>{_(vS(ie.key))},[_]),ge=(0,We.useCallback)(ie=>{_(Mn({handler:o,reactEvent:ie}))},[_,o]),ze=(0,We.useCallback)(ie=>{_(Mn({handler:l,reactEvent:ie}))},[_,l]),se=(0,We.useCallback)(ie=>{_(Mn({handler:s,reactEvent:ie}))},[_,s]),Ne=(0,We.useCallback)(ie=>{_(Mn({handler:f,reactEvent:ie}))},[_,f]),F=(0,We.useCallback)(ie=>{_(Mn({handler:h,reactEvent:ie}))},[_,h]),$=(0,We.useCallback)(ie=>{A&&_(bS(ie)),_(Mn({handler:v,reactEvent:ie}))},[_,A,v]),q=(0,We.useCallback)(ie=>{_(Mn({handler:p,reactEvent:ie}))},[_,p]),ae=uZ(g);return It.createElement(Uw.Provider,{value:L},It.createElement(fE.Provider,{value:X},It.createElement(ae,{width:C??b?.width,height:O??b?.height,className:Le("recharts-wrapper",n),style:ZX({position:"relative",cursor:"default",width:C,height:O},b),onClick:N,onContextMenu:ge,onDoubleClick:ze,onFocus:J,onBlur:fe,onKeyDown:pe,onMouseDown:se,onMouseEnter:T,onMouseLeave:H,onMouseMove:Y,onMouseUp:Ne,onTouchEnd:q,onTouchMove:$,onTouchStart:F,ref:D},It.createElement(aZ,null),r)))});var cZ=["width","height","responsive","children","className","style","compact","title","desc"];function dZ(e,t){if(e==null)return{};var r,n,a=fZ(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n{var r=e.width,n=e.height,a=e.responsive,i=e.children,o=e.className,l=e.style,s=e.compact,u=e.title,c=e.desc,d=dZ(e,cZ),f=gr(d);return s?ki.createElement(ki.Fragment,null,ki.createElement(ul,{width:r,height:n}),ki.createElement(_S,{otherAttributes:f,title:u,desc:c},i)):ki.createElement(DP,{className:o,style:l,width:r,height:n,responsive:a??!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},ki.createElement(_S,{otherAttributes:f,title:u,desc:c,ref:t},ki.createElement(m6,null,i)))});function CS(){return CS=Object.assign?Object.assign.bind():function(e){for(var t=1;tBP.createElement(LP,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:xZ,tooltipPayloadSearcher:w8,categoricalChartProps:e,ref:t}));var _e=ee(ne());var ta=ee(ne()),bZ=/(\*\*[^*]+\*\*|\*[^*\n]+\*|`[^`]+`|\[[^\]]+\]\((?:https?:\/\/|\/)[^)\s]+\))/g,ES=(e,t)=>e.split(bZ).filter(Boolean).map((r,n)=>{let a=`${t}-${n}`;if(r.startsWith("**")&&r.endsWith("**"))return ta.default.createElement("strong",{key:a},r.slice(2,-2));if(r.startsWith("*")&&r.endsWith("*")&&r.length>2)return ta.default.createElement("em",{key:a},r.slice(1,-1));if(r.startsWith("`")&&r.endsWith("`"))return ta.default.createElement("code",{key:a,className:"px-1 py-0.5 rounded text-[0.9em]",style:{background:"rgba(127,127,127,0.15)"}},r.slice(1,-1));let i=r.match(/^\[([^\]]+)\]\(((?:https?:\/\/|\/)[^)\s]+)\)$/);return i?ta.default.createElement("a",{key:a,href:i[2],target:"_blank",rel:"noopener noreferrer",className:"underline text-blue-500"},i[1]):r});function kS({text:e}){if(!e)return null;let t=[],r=String(e).split(` -`),n=0,a=0;for(;nta.default.createElement("li",{key:u},ES(s,`li${a}-${u}`)))));continue}if(i.trim()===""){t.push(ta.default.createElement("div",{key:a++,className:"h-2"})),n+=1;continue}t.push(ta.default.createElement("div",{key:a++},ES(i,`p${a}`))),n+=1}return ta.default.createElement("div",{className:"break-words"},t)}var cn=ee(ne()),wZ=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"},SZ=e=>Array.isArray(e.parameters)?e.parameters:e.parameters&&typeof e.parameters=="object"?Object.keys(e.parameters.properties||e.parameters):[];function OS({tool:e,darkMode:t}){let r=SZ(e);return cn.default.createElement("div",{style:{display:"grid",gap:"4px"}},e.description&&cn.default.createElement("div",{className:"text-sm",style:{color:t?"rgba(255,255,255,0.75)":"#4b5563"}},e.description),cn.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"}},cn.default.createElement("span",null,"params: ",r.length>0?r.join(", "):"none"),cn.default.createElement("span",null,"source: ",wZ(e))))}function TS({tools:e,darkMode:t}){let[r,n]=(0,cn.useState)(null),a=(e||[]).filter(l=>l&&l.name);if(a.length===0)return null;let i=a.find(l=>l.name===r),o=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 cn.default.createElement("div",{style:{marginTop:"8px"}},cn.default.createElement("div",{className:"flex items-center gap-1.5 flex-wrap font-mono"},cn.default.createElement("span",{className:"text-xs uppercase",style:{letterSpacing:"0.05em",color:t?"rgba(255,255,255,0.45)":"#9ca3af"}},"tools"),a.map(l=>cn.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:o(r===l.name)},"\u2699 ",l.name))),i&&cn.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"}`}},cn.default.createElement(OS,{tool:i,darkMode:t})))}var $P=e=>e==null?null:e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`,Hf=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}},AZ=["text","output","body","content"],HP=e=>{if(e==null)return null;if(typeof e=="object")return e;try{return JSON.parse(e)}catch{return null}},NZ=e=>{let t=HP(e.tool_result)??HP(e.content);if(!t||typeof t!="object"||Array.isArray(t))return null;let r=AZ.find(i=>typeof t[i]=="string"&&t[i].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 "),a=Object.fromEntries(Object.entries(t).filter(([i])=>i!==r));return{field:r,meta:n,body:t[r],rest:a}},_Z=e=>!!(e.tool_name||e.tool_call_id||e.tool_arguments||e.tool_result||(e.tool_calls||[]).length>0||e.duration_ms!=null||Hf(e.content)),FP=280,CZ=["tool","system","developer"],Vf=(e,t=FP)=>e.replace(/\s+/g," ").trim().slice(0,t),MS=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)}},qP=e=>{let t=e.tool_calls;return t?Array.isArray(t)?t.map(r=>({name:r.function?.name||r.name||e.tool_name,args:MS(r.function?.arguments??r.arguments??r.input)})):[{name:e.tool_name,args:MS(t)}]:[]},YP=e=>!!(e&&String(e).trim()&&String(e).trim()!=="\u2014"),EZ=e=>{let t=(e||[]).filter(Boolean),r=new Map,n=new Set;return t.forEach((a,i)=>{if(a.role!=="assistant"||YP(a.content))return;let o=qP(a);if(o.length===0)return;let l=new Set;Array.isArray(a.tool_calls)?a.tool_calls.forEach(u=>u.id&&l.add(u.id)):a.tool_call_id&&l.add(a.tool_call_id);let s=[];for(let u=i+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=o.find(p=>p.name&&p.name===d.tool_name)||o[Math.min(c,o.length-1)];f&&f.args&&!d.tool_arguments&&r.set(u,{tool_arguments:f.args,created_at:a.created_at||d.created_at})}),n.add(i))}),t.map((a,i)=>r.has(i)?{...a,...r.get(i)}:a).filter((a,i)=>!n.has(i))},VP=e=>CZ.includes(e.role)&&typeof e.content=="string"&&Vf(e.content).length>=FP,kZ=({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),a=Math.max(e.span_duration_ms/r*100,2),i=e.role==="tool"?"#22c55e":e.role==="assistant"?"#ef4444":"#60a5fa";return _e.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"}},_e.default.createElement("span",{style:{position:"absolute",top:0,bottom:0,left:`${n}%`,width:`${Math.min(a,100-n)}%`,borderRadius:"999px",background:i}}))},DS=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}),ra=(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}}};function Oi({messages:e,darkMode:t,tools:r}){let[n,a]=(0,_e.useState)({}),i=s=>a(u=>({...u,[s]:!u[s]})),o={textPrimary:t?"#ffffff":"#111827",textSecondary:t?"rgba(255,255,255,0.6)":"#6b7280",textMuted:t?"rgba(255,255,255,0.4)":"#9ca3af"},l=EZ(e);return _e.default.createElement("div",{className:"space-y-3"},l.map(s=>{let u=ra(s.role,t),c=!!n[s.id],d=VP(s)&&!c,f=_Z(s)||VP(s),p=Hf(s.tool_arguments),v=Hf(s.tool_result)||Hf(s.content),h=s.tool_calls&&(!Array.isArray(s.tool_calls)||s.tool_calls.length>0)?Hf(s.tool_calls):null,b=s.role==="tool"?NZ(s):null,m=s.tool_name?(r||[]).find(L=>L&&L.name===s.tool_name):null,g=s.role==="tool"?MS(s.tool_arguments):null,x=s.role==="tool"&&!!g,A=ra("assistant",t),k=ra("tool",t),_=s.role==="tool"&&!s.tool_arguments&&l.some(L=>L&&L.role==="assistant"&&(s.tool_call_id&&L.tool_call_id===s.tool_call_id||Array.isArray(L.tool_calls)&&L.tool_calls.some(I=>I.id&&I.id===s.tool_call_id))),M=s.role==="assistant"&&!YP(s.content)?qP(s):[],E=DS(t);return _e.default.createElement("div",{key:s.id},_e.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${f?"cursor-pointer":""}`,onClick:f?()=>i(s.id):void 0,style:c?{background:t?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.03)"}:{}},_e.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},(x?[A,k]:[u]).map(L=>_e.default.createElement("span",{key:L.label,className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:L.background,color:L.color,textAlign:"center"}},L.label))),_e.default.createElement("div",{className:"min-w-0 flex-1"},_e.default.createElement("div",{className:"text-sm break-words",style:{color:o.textPrimary}},s.role==="tool"?_e.default.createElement("span",{style:{display:"grid",gap:"2px"}},g&&!_&&_e.default.createElement("span",{className:"font-mono text-xs break-words"},s.tool_name&&_e.default.createElement("span",{style:{color:k.color}},"\u2699 ",s.tool_name," "),_e.default.createElement("span",{style:{color:x?A.color:o.textMuted}},"in:")," ",Vf(g,180),g.length>180?"\u2026":""),b?_e.default.createElement("span",null,s.tool_name&&!(g&&!_)&&_e.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:k.color}},"\u2699 ",s.tool_name),(g||_)&&_e.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:x?k.color:o.textMuted}},"out:"),b.meta&&_e.default.createElement("span",{className:"font-mono text-xs mr-2",style:{color:o.textMuted}},b.meta),"\u201C",b.body.replace(/\s+/g," ").trim().slice(0,180),b.body.length>180?"\u2026":"","\u201D"):s.content?_e.default.createElement("span",null,s.tool_name&&!(g&&!_)&&_e.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:k.color}},"\u2699 ",s.tool_name),(g||_)&&_e.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:x?k.color:o.textMuted}},"out:"),"\u201C",Vf(s.content,180),s.content.replace(/\s+/g," ").trim().length>180?"\u2026":"","\u201D"):_e.default.createElement("span",{className:"whitespace-pre-wrap"},s.tool_name?`\u2192 ${s.tool_name}(...)`:"\u2014")):d?_e.default.createElement("span",{style:{color:o.textSecondary}},Vf(s.content),"\u2026"):M.length>0?_e.default.createElement("span",{style:{display:"grid",gap:"2px"}},M.map((L,I)=>_e.default.createElement("span",{key:I,className:"font-mono text-xs break-words"},L.name&&_e.default.createElement("span",{style:{color:o.textMuted}},L.name," "),_e.default.createElement("span",{style:{color:o.textMuted}},"in:")," ",L.args?_e.default.createElement(_e.default.Fragment,null,Vf(L.args,180),L.args.length>180?"\u2026":""):"\u2014"))):_e.default.createElement(kS,{text:s.content||"\u2014"})),_e.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap",style:{color:o.textMuted}},s.created_at&&_e.default.createElement("span",null,new Date(s.created_at).toLocaleTimeString()),s.tool_name&&s.role!=="tool"&&_e.default.createElement("span",{className:"px-1.5 py-0.5 rounded",style:{background:u.background,color:u.color}},"\u2699 ",s.tool_name),s.duration_ms!=null&&_e.default.createElement("span",null,$P(s.duration_ms)),(s.tool_calls||[]).length>0&&_e.default.createElement("span",null,s.tool_calls.length," tool call",s.tool_calls.length>1?"s":""),s.content_checksum&&_e.default.createElement("span",{title:"Content fingerprint"},"\u{1F512} ",s.content_checksum.slice(0,8)))),_e.default.createElement(kZ,{message:s,darkMode:t}),f&&_e.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${c?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:o.textMuted}},_e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),c&&_e.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:u.color+"55"}},_e.default.createElement("div",{className:"flex flex-wrap gap-x-5 gap-y-1 text-xs font-mono",style:{color:o.textSecondary}},s.created_at&&_e.default.createElement("span",null,new Date(s.created_at).toLocaleString()),s.tool_call_id&&_e.default.createElement("span",null,"call: ",s.tool_call_id),s.duration_ms!=null&&_e.default.createElement("span",null,"took ",$P(s.duration_ms)),s.content_checksum&&_e.default.createElement("span",null,"\u{1F512} ",s.content_checksum)),p&&_e.default.createElement("div",null,_e.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:x?A.color:o.textMuted}},"Arguments",x?" \xB7 from the agent":""),_e.default.createElement("pre",{style:E},p)),b?_e.default.createElement("div",null,_e.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:x?k.color:o.textMuted}},"Result",x?" \xB7 from the tool":""),Object.keys(b.rest).length>0&&_e.default.createElement("pre",{style:E},JSON.stringify(b.rest,null,2)),_e.default.createElement("div",{className:"text-xs uppercase tracking-wide mt-2 mb-1",style:{color:o.textMuted}},b.field," \xB7 ",b.body.length.toLocaleString()," chars"),_e.default.createElement("pre",{style:{...E,whiteSpace:"pre-wrap",maxHeight:"320px",overflowY:"auto"}},b.body.slice(0,8e3),b.body.length>8e3?` -\u2026`:"")):v?_e.default.createElement("div",null,_e.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:o.textMuted}},s.role==="tool"?"Result":"Content (parsed)"),_e.default.createElement("pre",{style:E},v)):s.role==="tool"&&s.content?_e.default.createElement("div",null,_e.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:x?k.color:o.textMuted}},"Result",x?" \xB7 from the tool":""," \xB7 ",s.content.length.toLocaleString()," chars"),_e.default.createElement("pre",{style:{...E,whiteSpace:"pre-wrap",maxHeight:"320px",overflowY:"auto"}},s.content.slice(0,8e3),s.content.length>8e3?` -\u2026`:"")):null,h&&_e.default.createElement("div",null,_e.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:o.textMuted}},"Requested tool calls"),_e.default.createElement("pre",{style:E},h)),m&&_e.default.createElement("div",null,_e.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:o.textMuted}},"Tool definition"),_e.default.createElement(OS,{tool:m,darkMode:t}))))}))}var yt=ee(ne()),OZ={messages:"#2563eb",tool_results:"#5b84ec",instructions:"#85a3f0",tool_schemas:"#a6bcf4",mcp_schemas:"#c3d2f8",memory:"#dce4fb",output:"#7c3aed"},Ff=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},La=e=>{if(e==null)return 0;let t=typeof e=="string"?e:JSON.stringify(e);return Math.round(t.length/4)},sc=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 Ti({used:e,limit:t=2e5,segments:r=[],cached:n=0,thinking:a=0,compact:i=!1,defaultOpen:o=!1,label:l="Context window",estimated:s=!1,darkMode:u=!1}){let[c,d]=(0,yt.useState)(o),f=r.filter(M=>M.tokens>0),p=e??f.reduce((M,E)=>M+E.tokens,0),v=t>0?p/t:0,h=v>=.9?"#dc2626":v>=.75?"#eab308":null,b=u?"rgba(255,255,255,0.4)":"#9ca3af",m=u?"rgba(255,255,255,0.6)":"#6b7280",g=u?"rgba(255,255,255,0.75)":"#4b5563",x=u?"rgba(255,255,255,0.1)":"#f3f4f6",A=`${sc(p)} / ${sc(t)} (${Math.round(v*100)}%)`,k=M=>M.key==="messages"&&h?h:M.color||OZ[M.key]||"#2563eb",_=M=>yt.default.createElement("div",{style:{display:"flex",height:M,borderRadius:"999px",overflow:"hidden",background:x,flex:1}},f.map(E=>yt.default.createElement("div",{key:E.key,title:`${E.label} \xB7 ${sc(E.tokens)}`,style:{width:`${Math.min(E.tokens/t*100,100)}%`,background:k(E)}})));return i?yt.default.createElement("span",{title:`${l}: ${A}`,style:{display:"inline-flex",alignItems:"center",gap:"6px",width:"132px",verticalAlign:"middle"}},_("6px"),yt.default.createElement("span",{style:{fontSize:"11px",fontFamily:"'SF Mono', 'Fira Code', monospace",color:h||b,whiteSpace:"nowrap"}},Math.round(v*100),"%")):yt.default.createElement("div",{style:{background:u?"rgba(255,255,255,0.03)":"#ffffff",border:`1px solid ${h?h+"66":u?"rgba(255,255,255,0.1)":"#e5e7eb"}`,borderRadius:"12px",padding:"12px 14px"}},yt.default.createElement("div",{onClick:M=>{M.stopPropagation(),d(!c)},style:{display:"flex",alignItems:"center",justifyContent:"space-between",cursor:"pointer"}},yt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:m}},l,s&&yt.default.createElement("span",{style:{color:b,fontWeight:400}}," \xB7 estimated")),yt.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px"}},yt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",fontWeight:600,color:h||g}},A),yt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:b,display:"inline-block",transform:c?"rotate(90deg)":"none",transition:"transform 0.15s ease"}},">"))),yt.default.createElement("div",{style:{display:"flex",marginTop:"8px"}},_("9px")),v>=.9&&yt.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&&yt.default.createElement("div",{style:{marginTop:"10px",display:"grid",gap:"5px"}},[...f,{key:"__free",label:"Free space",tokens:Math.max(t-p,0)}].map(M=>yt.default.createElement("div",{key:M.key,style:{display:"flex",alignItems:"center",gap:"8px"}},yt.default.createElement("span",{style:{width:"9px",height:"9px",borderRadius:"2px",flexShrink:0,background:M.key==="__free"?x:k(M),border:M.key==="__free"?`1px solid ${u?"rgba(255,255,255,0.25)":"#d1d5db"}`:"none"}}),yt.default.createElement("span",{style:{fontSize:"13px",color:g,flex:1}},M.label),yt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:m,width:"56px",textAlign:"right"}},sc(M.tokens)),yt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:b,width:"46px",textAlign:"right"}},t>0?`${(M.tokens/t*100).toFixed(1)}%`:"\u2014"))),(n>0||a>0)&&yt.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:b}},n>0&&yt.default.createElement("span",null,yt.default.createElement("span",{style:{color:"#2563eb"}},"[=]")," cached prefix ",sc(n)),a>0&&yt.default.createElement("span",null,yt.default.createElement("span",{style:{color:"#7c3aed"}},"[~]")," thinking ",sc(a)))))}var na=ee(ne()),uc=[{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}],WP="30m",KP="activeagents.timeWindow",GP=(0,na.createContext)(null),PS=e=>uc.find(t=>t.id===e);function XP({children:e}){let[t,r]=(0,na.useState)(()=>{try{let i=localStorage.getItem(KP);if(i&&PS(i))return i}catch{}return WP}),n=(0,na.useCallback)(i=>{if(PS(i)){r(i);try{localStorage.setItem(KP,i)}catch{}}},[]),a=(0,na.useMemo)(()=>{let i=uc.findIndex(l=>l.id===t),o=uc[i]||PS(WP);return{timeWindow:o,windowIndex:i,windows:uc,setWindow:n,zoomTo:l=>{let s=uc[Math.min(Math.max(l,0),uc.length-1)];s&&n(s.id)},days:Math.max(1,Math.ceil(o.minutes/1440))}},[t,n]);return na.default.createElement(GP.Provider,{value:a},e)}function Ba(){let e=(0,na.useContext)(GP);if(!e)throw new Error("useTimeWindow must be used within a TimeWindowProvider");return e}var cc=ee(ne());function Ua({compact:e=!1}){let{windows:t,windowIndex:r,timeWindow:n,setWindow:a,zoomTo:i}=Ba(),{darkMode:o}=mt(),l=Ys(o),s={color:l.textSecondary};return cc.default.createElement("div",{className:"flex items-center rounded-lg p-1",style:{background:l.mutedBg}},cc.default.createElement("button",{onClick:()=>i(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"),cc.default.createElement("select",{value:n.id,onChange:u=>a(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=>cc.default.createElement("option",{key:u.id,value:u.id},u.label))),cc.default.createElement("button",{onClick:()=>i(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},"+"))}function rt(e=""){return`${(window.ACTIVE_AGENT_DASHBOARD?.mountPath||"").replace(/\/$/,"")}${e}`||"/"}var ZP=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],TZ=3e4,MZ=(e,t)=>{let r=Math.max(e||0,1),n=Math.max(t||1,1);if(n<=1)return 100;let a=Math.log(r)/Math.log(n);return Math.min(100,Math.max(4,a*100))},DZ=e=>{let t={};return e.forEach((r,n)=>{t[r]=ZP[n%ZP.length]}),t},PZ=e=>{let t={};return e.forEach(r=>{(r.spans||[]).forEach(n=>{if((n.nested||0)===0)return;let a=n.name||n.type||"unknown";t[a]||(t[a]={name:a,type:n.type,count:0,total:0,max:0,errors:0});let i=t[a];i.count+=1,i.total+=n.duration||0,i.max=Math.max(i.max,n.duration||0),n.error&&(i.errors+=1)})}),Object.values(t).map(r=>({...r,avg:r.total/r.count})).sort((r,n)=>n.total-r.total)},jZ=(e,t,r,n=60)=>{let a=Date.now(),i=[],o=n*1e3,l=Math.max(1,Math.round(r*60/n));for(let s=l-1;s>=0;s--){let u=a-(s+1)*o,c=a-s*o,d=e.filter(p=>p.timestamp_ms>=u&&p.timestamp_ms{f[p]=d.filter(v=>v.agent===p).length}),i.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,v)=>p+(v.duration_ms||0),0)/d.length):0,traces:d,...f})}return i};function Kl({agentClass:e=null,embedded:t=!1}){let{darkMode:r}=mt(),[n,a]=(0,w.useState)([]),[i,o]=(0,w.useState)([]),[l,s]=(0,w.useState)({}),[u,c]=(0,w.useState)(!0),[d,f]=(0,w.useState)(null),[p,v]=(0,w.useState)(null),h=(0,w.useRef)(new URLSearchParams(window.location.search).get("trace")),[b,m]=(0,w.useState)(null),[g,x]=(0,w.useState)(null),[A,k]=(0,w.useState)({}),[_,M]=(0,w.useState)({status:"all",agent:"all",action:"all"}),[E,L]=(0,w.useState)("time"),[I,j]=(0,w.useState)(null),[z,X]=(0,w.useState)("timeline"),[R,Q]=(0,w.useState)("popular"),{timeWindow:y}=Ba(),C=(0,w.useCallback)(async()=>{try{let S=e?`&agent=${encodeURIComponent(e)}`:"",P=await fetch(`/api/traces?minutes=${y.minutes}${S}`);if(!P.ok)throw new Error(`Request failed (${P.status})`);let W=await P.json();a(W.traces||[]),o(e?[e]:W.agents||[]),s(W.agent_ids||{}),f(null)}catch(S){f(S.message)}finally{c(!1)}},[y.minutes,e]);(0,w.useEffect)(()=>{C();let S=setInterval(C,TZ);return()=>clearInterval(S)},[C]);let O=(0,w.useMemo)(()=>DZ(i),[i]);(0,w.useEffect)(()=>{j(null)},[y.id]);let D=(0,w.useMemo)(()=>jZ(n,i,y.minutes,y.bucketSeconds),[n,i,y]),N=Math.max(0,Math.ceil(D.length/6)-1),[T,H]=(0,w.useState)("time"),[Y,J]=(0,w.useState)({}),[fe,pe]=(0,w.useState)({}),ge=S=>{J(P=>({...P,[S]:"conversation"})),!fe[S]&&(pe(P=>({...P,[S]:"loading"})),fetch(`/api/interactions/trace-${S}`).then(P=>P.ok?P.json():Promise.reject(new Error("request failed"))).then(P=>pe(W=>({...W,[S]:P.interaction}))).catch(()=>pe(P=>({...P,[S]:"error"}))))},ze=(S,P)=>{let W=fe[S.id];if(!W||W==="loading")return w.default.createElement("div",{className:"text-sm text-gray-400 py-4"},"Loading conversation\u2026");if(W==="error")return w.default.createElement("div",{className:"text-sm text-red-500 py-4"},"Couldn't load the conversation for this trace.");let Z=W.instructions?[{id:`trace-${S.id}-system`,role:"system",content:W.instructions,created_at:W.created_at},...W.messages||[]]:W.messages||[];return Z.length===0?w.default.createElement("div",{className:"text-sm text-gray-400 py-4"},"This trace predates content capture \u2014 no conversation to show."):w.default.createElement(Oi,{messages:Z,darkMode:P,tools:Mg(S)})},se=(0,w.useCallback)(S=>{let P=[...S||[]];switch(T){case"duration":return P.sort((W,Z)=>(Z.duration||0)-(W.duration||0));case"name":return P.sort((W,Z)=>(W.name||"").localeCompare(Z.name||""));default:return P.sort((W,Z)=>(W.start||0)-(Z.start||0))}},[T]),Ne=(0,w.useMemo)(()=>{let S=n;if(I!==null){let P=D[I];P&&(S=P.traces||[])}if(_.status!=="all"&&(S=S.filter(P=>_.status==="success"?P.status!=="ERROR":P.status==="ERROR")),_.agent!=="all"&&(S=S.filter(P=>P.agent===_.agent)),_.action!=="all")if(_.action.includes("#")){let[P,W]=_.action.split("#");S=S.filter(Z=>Z.agent===P&&Z.action===W)}else S=S.filter(P=>P.action===_.action);return E==="latency"&&(S=[...S].sort((P,W)=>(W.duration_ms||0)-(P.duration_ms||0))),b&&!S.some(P=>P.id===b.id)&&(S=[b,...S]),S},[n,I,D,_,E,b]);(0,w.useEffect)(()=>{let S=h.current;if(!S)return;let P=Z=>{h.current=null,v(Z.id),setTimeout(()=>{document.getElementById(`trace-row-${Z.id}`)?.scrollIntoView({behavior:"smooth",block:"start"})},150)},W=n.find(Z=>Z.id===S||Z.trace_id===S||Z.short_id&&String(S).startsWith(Z.short_id));if(W){P(W);return}n.length!==0&&fetch(`/api/traces/${encodeURIComponent(S)}`).then(Z=>Z.ok?Z.json():Promise.reject(new Error("not found"))).then(({trace:Z})=>{m(Z),P(Z)}).catch(()=>{h.current=null})},[n]);let F=(0,w.useMemo)(()=>{let S=I!==null?D[I]?.traces||[]:n,P={};S.forEach(Z=>{Z.agent&&(P[Z.agent]||(P[Z.agent]={agent:Z.agent,count:0,totalDuration:0,cost:0,errors:0,actions:{},tokens:{thinking:0,input:0,output:0}}),P[Z.agent].count++,P[Z.agent].totalDuration+=Z.duration_ms||0,P[Z.agent].cost+=Z.estimated_cost||0,Z.status==="ERROR"&&P[Z.agent].errors++,Z.tokens&&(P[Z.agent].tokens.thinking+=Z.tokens.thinking||0,P[Z.agent].tokens.input+=Z.tokens.input||0,P[Z.agent].tokens.output+=Z.tokens.output||0),Z.action&&(P[Z.agent].actions[Z.action]=(P[Z.agent].actions[Z.action]||0)+1))});let W={popular:Z=>Z.count,longest:Z=>Z.totalDuration/(Z.count||1),cost:Z=>Z.cost,tokens:Z=>(Z.tokens.input||0)+(Z.tokens.output||0)+(Z.tokens.thinking||0),errors:Z=>Z.errors}[R]||(Z=>Z.count);return Object.values(P).sort((Z,je)=>W(je)-W(Z)||je.count-Z.count)},[n,D,I,R]),$=(0,w.useMemo)(()=>{let S=I!==null?D[I]?.traces||[]:n,P={};return S.forEach(W=>{if(!W.agent)return;let Z=`${W.agent}#${W.action||"unknown"}`;P[Z]||(P[Z]={key:Z,agent:W.agent,action:W.action||"unknown",count:0,totalDuration:0,errors:0,minDuration:1/0,maxDuration:0,tokens:{thinking:0,input:0,output:0}}),P[Z].count++,P[Z].totalDuration+=W.duration_ms||0,P[Z].minDuration=Math.min(P[Z].minDuration,W.duration_ms||0),P[Z].maxDuration=Math.max(P[Z].maxDuration,W.duration_ms||0),W.status==="ERROR"&&P[Z].errors++,W.tokens&&(P[Z].tokens.thinking+=W.tokens.thinking||0,P[Z].tokens.input+=W.tokens.input||0,P[Z].tokens.output+=W.tokens.output||0)}),Object.values(P).forEach(W=>{W.minDuration===1/0&&(W.minDuration=0)}),Object.values(P).sort((W,Z)=>Z.count-W.count)},[n,D,I]),q=(0,w.useMemo)(()=>{let S=I!==null?D[I]?.traces||[]:n,P={};return S.forEach(W=>{(W.spans||[]).forEach(Z=>{if(Z.type!=="tool")return;let je=Z.attributes?.["tool.name"]||Z.name?.replace(/^tool\./,"")||"unknown";P[je]||(P[je]={name:je,count:0,totalDuration:0,maxDuration:0,errors:0,agents:new Set}),P[je].count++,P[je].totalDuration+=Z.duration||0,P[je].maxDuration=Math.max(P[je].maxDuration,Z.duration||0),Z.error&&P[je].errors++,W.agent&&P[je].agents.add(`${W.agent}#${W.action||"unknown"}`)})}),Object.values(P).map(W=>({...W,agents:[...W.agents],avgDuration:W.count?W.totalDuration/W.count:0})).sort((W,Z)=>Z.totalDuration-W.totalDuration)},[n,D,I]),ae=(0,w.useMemo)(()=>_.agent==="all"?$.map(S=>S.key):$.filter(S=>S.agent===_.agent).map(S=>S.key),[_.agent,$]),ie=(0,w.useMemo)(()=>PZ(Ne),[Ne]),G=S=>{if(S&&S.activeTooltipIndex!==void 0){let P=S.activeTooltipIndex;j(I===P?null:P),v(null)}},xe=S=>S==null?"\u2014":S<1e3?`${Math.round(S)}ms`:`${(S/1e3).toFixed(2)}s`,Ae=S=>{if(!S)return"0";let P=(S.input||0)+(S.output||0)+(S.thinking||0);return P>=1e3?`${(P/1e3).toFixed(1)}K`:`${P}`},we=S=>(S?.input||0)+(S?.output||0)+(S?.thinking||0),Ke=S=>{let P=S.count?S.errors/S.count:0;return[{label:`Calls ${y.label||""}`.trim(),value:S.count.toLocaleString()},{label:"Errors",value:`${(P*100).toFixed(1)}%`,tone:S.errors>0?"bad":"good"},{label:"Avg time",value:`${Math.round(S.totalDuration/(S.count||1))}ms`},{label:"Tokens",value:we(S.tokens).toLocaleString()},{label:"Cost",value:br(S.cost),title:"Estimated from token counts at this model's published rates",tone:S.cost?void 0:"muted"},{label:"Actions",value:(S.agents?.length||0).toLocaleString()}]},br=S=>S?S<.01?"<$0.01":`$${S.toFixed(2)}`:"\u2014",Mo=w.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:"8px",marginBottom:"12px"}},w.default.createElement("span",{style:{fontSize:"12px",color:r?"rgba(255,255,255,0.5)":"#6b7280"}},"Rank by"),w.default.createElement("select",{value:R,onChange:S=>Q(S.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"}},w.default.createElement("option",{value:"popular"},"Most calls"),w.default.createElement("option",{value:"longest"},"Longest average"),w.default.createElement("option",{value:"cost"},"Highest cost"),w.default.createElement("option",{value:"tokens"},"Most tokens"),w.default.createElement("option",{value:"errors"},"Most errors"))),Gr=S=>M(P=>({...P,agent:P.agent===S?"all":S})),zt=S=>{let P=l[S];if(!P)return Gr(S);let W=rt(`/agents/${P}`);window.history.pushState(window.history.state,"",W),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:W}}))},dQ=S=>{if(S==null)return"\u2014";let P=typeof S=="string"?S:JSON.stringify(S,null,2);if(typeof S=="string"&&/^[\[{]/.test(S.trim()))try{return JSON.stringify(JSON.parse(S),null,2)}catch{return P}return P},iA=S=>S==null?null:`$${S.toFixed(4)}`,Og=S=>{switch(S){case"root":return lr.spans.root;case"prompt":return lr.spans.prompt;case"generate":return lr.spans.generate;case"llm":return lr.spans.llm;case"thinking":return lr.spans.thinking;case"tool":return lr.spans.tool;case"response":return lr.spans.response;default:return"-"}},Xl=S=>S.status!=="ERROR",oA=(S,P)=>{if(!P.duration_ms)return xe(S.duration);let W=(S.duration||0)/P.duration_ms*100;return`${xe(S.duration)} \xB7 ${W<1?W.toFixed(2):W.toFixed(1)}%`},gj=S=>{let P=S.tokens||{};return(P.input||0)+(P.output||0)+(P.thinking||0)},yj=S=>{if(typeof S!="string")return null;try{return JSON.stringify(JSON.parse(S),null,2)}catch{return null}},Tg=S=>{let P=S.spans||[],W=Te=>{for(let Je of P){let Me=(Je.attributes||{})[Te];if(Me)return Me}return null},Z=W("llm.prompt");if(!Z){let Te=W("prompt.input.messages");if(Te)try{Z=[...JSON.parse(Te)].reverse().find(Lt=>Lt&&Lt.role==="user"&&Lt.content)?.content}catch{}}let je=W("llm.completion")||W("llm.output.message");return{input:Z,output:je}},Ha=(S,P=200)=>{let W=String(S).replace(/\s+/g," ").trim();return W.length>P?`${W.slice(0,P)}\u2026`:W},xj=S=>{let P=S.attributes||{},W=null,Z="input:",je="user";if(P["prompt.input.messages"])try{let Ge=[...JSON.parse(P["prompt.input.messages"])].reverse().find(vt=>vt&&vt.role==="user"&&vt.content);typeof Ge?.content=="string"&&(W=Ge.content)}catch{}if(!W&&P["llm.prompt"]&&(W=String(P["llm.prompt"])),!W&&(P["tool.input.args"]||P["tool.arguments"])){let Lt=P["tool.input.args"]||P["tool.arguments"];W=typeof Lt=="string"?Lt:JSON.stringify(Lt),Z="in:",je="assistant"}let Te=null,Je="output:",Me="assistant";return P["llm.output.message"]||P["llm.completion"]?Te=P["llm.output.message"]||P["llm.completion"]:(P["tool.output.result"]||P["tool.result"])&&(Te=P["tool.output.result"]||P["tool.result"],Je="out:",Me="tool"),Te!=null&&typeof Te!="string"&&(Te=JSON.stringify(Te)),{input:W,output:Te,inputLabel:Z,inputTone:je,outputLabel:Je,outputTone:Me}},lA=(S,P)=>{let W=xj(S),Z=Tg(P);return W.input&&W.input===Z.input&&(W.input=null),W.output&&W.output===Z.output&&(W.output=null),W},Zf=S=>{let P=S.spans||[],W=null;for(let Ge of P){let vt=Ge.tokens||{},Pe=(vt.input||0)+(vt.output||0);Pe>0&&(!W||Pe>W.total)&&(W={input:vt.input||0,output:vt.output||0,thinking:vt.thinking||0,cached:vt.cached||0,total:Pe})}if(!W)return null;let Z=Ge=>{for(let vt of P){let Pe=(vt.attributes||{})[Ge];if(Pe)return Pe}return null},je=La(Z("prompt.input.instructions")||Z("llm.instructions")),Te=La(Z("prompt.input.tools")||Z("llm.tools")),Je=La(Z("prompt.input.mcp_tools")),Me=0;for(let Ge of P){let vt=Ge.attributes||{},Pe=vt["tool.output.result"]||vt["tool.result"],et=vt["tool.input.args"]||vt["tool.arguments"];Pe&&(Me+=La(Pe)),et&&(Me+=La(et))}Me=Math.min(Me,W.input);let Lt=Math.max(W.input-je-Te-Je-Me,0);return{used:W.total,limit:Ff(S.model),cached:W.cached,thinking:W.thinking,segments:[{key:"messages",label:"Messages",tokens:Lt},{key:"tool_results",label:"Tool results",tokens:Me},{key:"instructions",label:"Instructions",tokens:je},{key:"tool_schemas",label:"Tool schemas",tokens:Te},{key:"mcp_schemas",label:"MCP tool schemas",tokens:Je},{key:"output",label:"Generated output",tokens:W.output}]}},sA=S=>S.endsWith(".instructions")?0:S.endsWith(".tools")?1:S.endsWith(".messages")?3:2,bj=S=>{let P={...S.attributes||{}},W=et=>{let Do=P[et];return delete P[et],Do},Z=[],je=et=>Z.push({id:`${S.span_id}-m${Z.length}`,...et}),Te=W("prompt.input.instructions")||W("llm.instructions");Te&&je({role:"system",content:String(Te)});let Je=W("prompt.input.messages");if(Je)try{JSON.parse(Je).forEach(et=>{et&&je({role:et.role||"user",content:typeof et.content=="string"?et.content:JSON.stringify(et.content),tool_call_id:et.tool_call_id,tool_calls:et.tool_calls})})}catch{P["prompt.input.messages"]=Je}let Me=W("llm.prompt");Me&&je({role:"user",content:String(Me)});let Lt=W("tool.input.args")||W("tool.arguments"),Ge=W("tool.output.result")||W("tool.result");if(Lt||Ge){let et=W("tool.name");je({role:"tool",tool_name:et||(S.name||"").replace(/^tool\./,""),tool_arguments:Lt,content:Ge?String(Ge):null})}let vt=W("llm.completion"),Pe=W("llm.output.message");return(vt||Pe)&&je({role:"assistant",content:String(vt||Pe)}),{messages:Z,rest:P}},Mg=S=>{for(let P of S.spans||[]){let W=(P.attributes||{})["prompt.input.tools"];if(W)try{let Z=typeof W=="string"?JSON.parse(W):W;if(Array.isArray(Z)&&Z.length>0)return Z}catch{}}return[]},uA=(S,P,W=[])=>{let{messages:Z,rest:je}=bj(S),Te=null,Je=je["prompt.input.tools"];if(Je)try{let Pe=typeof Je=="string"?JSON.parse(Je):Je;Array.isArray(Pe)&&Pe.length>0&&(Te=Pe,delete je["prompt.input.tools"])}catch{}let Me=Object.entries(je).sort((Pe,et)=>sA(Pe[0])-sA(et[0])),Lt=P?"rgba(255,255,255,0.75)":"#4b5563",Ge=P?"rgba(255,255,255,0.45)":"#9ca3af",vt={background:P?"rgba(255,255,255,0.06)":"#eef0f3",borderRadius:"6px",padding:"6px 8px",margin:"2px 0 4px 0",overflowX:"auto",whiteSpace:"pre"};return w.default.createElement("div",{style:{margin:"4px 0 8px 0",padding:"10px 12px",borderRadius:"8px",background:P?"rgba(0,0,0,0.35)":"#f9fafb",border:`1px solid ${P?"rgba(255,255,255,0.1)":"#e5e7eb"}`,fontFamily:Oe.mono,fontSize:"12px",color:Lt}},w.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 20px"}},w.default.createElement("span",null,"duration: ",xe(S.duration)),w.default.createElement("span",null,"status: ",S.status||"OK"),gj(S)>0&&w.default.createElement("span",null,"tokens in:",S.tokens.input||0," out:",S.tokens.output||0,S.tokens.thinking>0?` thinking:${S.tokens.thinking}`:""),w.default.createElement("span",{style:{color:Ge}},"span: ",S.span_id)),(()=>{let Pe=Z.length===1&&Z[0].role==="tool"?Z[0]:null;if(!Pe)return null;let et=ra("tool",P).color,Do=Pe.tool_arguments==null?null:typeof Pe.tool_arguments=="string"?Pe.tool_arguments:JSON.stringify(Pe.tool_arguments);return w.default.createElement("div",{onClick:Jf=>Jf.stopPropagation(),style:{marginTop:"8px",display:"grid",gap:"4px",cursor:"default"}},w.default.createElement("div",{style:{fontSize:"12px",wordBreak:"break-all"}},w.default.createElement("span",{style:{color:et}},"\u2699 ",Pe.tool_name),Do&&w.default.createElement(w.default.Fragment,null," ",w.default.createElement("span",{style:{color:ra("assistant",P).color}},"in:")," ",w.default.createElement("span",{style:{color:Lt}},Do))),Pe.content&&w.default.createElement("div",{style:{fontSize:"12px"}},w.default.createElement("span",{style:{color:et}},"out:")," ",w.default.createElement("span",{style:{color:Lt,whiteSpace:"pre-wrap",display:"inline-block",maxHeight:"240px",overflowY:"auto",verticalAlign:"top",maxWidth:"100%"}},Pe.content)))})(),Z.length>0&&!(Z.length===1&&Z[0].role==="tool")&&w.default.createElement("div",{onClick:Pe=>Pe.stopPropagation(),style:{marginTop:"10px",fontFamily:"ui-sans-serif, system-ui, sans-serif",cursor:"default"}},w.default.createElement(Oi,{messages:Z,darkMode:P,tools:Te||W})),Te&&w.default.createElement(TS,{tools:Te,darkMode:P}),Me.length>0&&w.default.createElement("div",{style:{marginTop:"6px",display:"grid",gap:"2px"}},Me.map(([Pe,et])=>{let Do=Pe.match(/args|result|input|output/)?yj(et):null,Jf=!Do&&(Pe.endsWith(".instructions")||Pe.match(/input|output|result/))&&typeof et=="string"?et:null,Dg=Do||Jf;if(!Dg)return w.default.createElement("div",{key:Pe,style:{wordBreak:"break-all"}},w.default.createElement("span",{style:{color:Ge}},Pe,":")," ",typeof et=="string"?et:JSON.stringify(et));let Pg=`${S.span_id}:${Pe}`,Rf=!!A[Pg];return w.default.createElement("div",{key:Pe},w.default.createElement("div",{onClick:jg=>{jg.stopPropagation(),k(fA=>({...fA,[Pg]:!fA[Pg]}))},title:Rf?"Collapse":"Expand",style:{cursor:"pointer",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},w.default.createElement("span",{style:{color:Ge}},Rf?"\u25BE":"\u25B8"," ",Pe,":")," ",!Rf&&w.default.createElement("span",{style:{color:Ge}},Ha(Dg,140))),Rf&&w.default.createElement("pre",{onClick:jg=>jg.stopPropagation(),style:Jf?{...vt,whiteSpace:"pre-wrap"}:vt},Dg))})))},wj=S=>{let P=0,W=[];(S.spans||[]).forEach(Te=>{(Te.nested||0)!==0&&(Te.type==="tool"?W.push(Te):(Te.type==="llm"||Te.type==="generate")&&(P=Math.max(P,Te.duration||0)))});let Z=W.reduce((Te,Je)=>Te+(Je.duration||0),0);P=Math.max(P-Z,0);let je=S.duration_ms||P+Z||1;return{generation:P,tools:W,toolTotal:Z,total:je,overhead:Math.max(je-P-Z,0)}},cA=(S,P)=>{let{generation:W,tools:Z,toolTotal:je,total:Te,overhead:Je}=wj(S);if(W===0&&je===0||W/Te>=.99&&je/Te<.01)return null;let Me=P?"rgba(255,255,255,0.5)":"#6b7280",Lt=P?"rgba(255,255,255,0.85)":"#374151",Ge=Pe=>`${(Pe/Te*100).toFixed(Pe/Te<.01?2:1)}%`,vt=(Pe,et)=>w.default.createElement("div",{style:{width:`${Math.max(Pe/Te*100,.4)}%`,background:et,height:"100%"}});return w.default.createElement("div",{style:{marginTop:"14px",paddingTop:"12px",borderTop:`1px solid ${P?"rgba(255,255,255,0.1)":"#e5e7eb"}`}},w.default.createElement("div",{style:{fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em",color:Me,marginBottom:"6px"}},"Time breakdown \u2014 generation vs tools"),w.default.createElement("div",{style:{display:"flex",height:"10px",borderRadius:"5px",overflow:"hidden",background:P?"rgba(255,255,255,0.08)":"#f3f4f6"}},vt(W,"#ef4444"),vt(je,"#10b981"),Je>0&&vt(Je,P?"rgba(255,255,255,0.2)":"#d1d5db")),w.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"8px",fontSize:"12px",fontFamily:Oe.mono,color:Lt}},w.default.createElement("span",null,w.default.createElement("span",{style:{color:"#ef4444"}},"\u25A0")," generation ",xe(W)," (",Ge(W),")"),w.default.createElement("span",null,w.default.createElement("span",{style:{color:"#10b981"}},"\u25A0")," tools ",xe(je)," (",Ge(je),")"),Je>0&&w.default.createElement("span",null,w.default.createElement("span",{style:{color:Me}},"\u25A0")," overhead ",xe(Je)," (",Ge(Je),")")),Z.length>0&&w.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"4px",fontSize:"12px",fontFamily:Oe.mono,color:Me}},Z.map((Pe,et)=>w.default.createElement("span",{key:et},Pe.name," ",xe(Pe.duration)," (",Ge(Pe.duration||0),")"))))},dA=S=>{let P=ie[0]?.total||1,W=S?"rgba(0,0,0,0.3)":"white",Z=S?"1px solid rgba(255,255,255,0.1)":"1px solid #e5e7eb",je=S?"white":"#111827",Te=S?"rgba(255,255,255,0.5)":"#6b7280",Je={llm:"#ef4444",tool:"#10b981",generate:"#8b5cf6",prompt:"#3b82f6"};return w.default.createElement("div",{style:{padding:S?"0 24px 24px 24px":0}},w.default.createElement("div",{style:{background:W,border:Z,borderRadius:"12px",padding:"16px"}},w.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:je,marginBottom:"4px"}},"Slowest operations"),w.default.createElement("div",{style:{fontSize:"12px",color:Te,marginBottom:"14px"}},"Span durations aggregated across ",Ne.length," trace",Ne.length===1?"":"s"," \u2014 ranked by total time"),ie.length===0?w.default.createElement("div",{style:{fontSize:"13px",color:Te,padding:"12px 0"}},"No spans in the current selection"):w.default.createElement("div",{style:{display:"grid",gap:"10px"}},ie.map(Me=>w.default.createElement("div",{key:Me.name,style:{display:"flex",alignItems:"center",gap:"12px"}},w.default.createElement("div",{style:{width:"220px",flexShrink:0,display:"flex",alignItems:"center",gap:"8px"}},w.default.createElement("span",{style:{color:Te}},Og(Me.type)),w.default.createElement("span",{style:{fontSize:"13px",color:Me.errors>0?"#ef4444":je,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},Me.name)),w.default.createElement("div",{style:{flex:1,height:"18px",background:S?"rgba(255,255,255,0.06)":"#f3f4f6",borderRadius:"4px",position:"relative"}},w.default.createElement("div",{style:{position:"absolute",top:"3px",left:0,height:"12px",borderRadius:"3px",width:`${Math.max(Me.total/P*100,.5)}%`,background:Je[Me.type]||"#6366f1"}})),w.default.createElement("div",{style:{width:"260px",flexShrink:0,fontSize:"12px",color:Te,fontFamily:Oe.mono,textAlign:"right"}},Me.count,"\xD7 \xB7 avg ",xe(Me.avg)," \xB7 max ",xe(Me.max)," \xB7 \u03A3 ",xe(Me.total)))))))};if(u)return w.default.createElement("div",{className:"flex items-center justify-center h-64"},w.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let ji={requests:D.reduce((S,P)=>S+P.requests,0),errors:D.reduce((S,P)=>S+P.errors,0),avgLatency:(()=>{let S=D.filter(P=>P.requests>0);return S.length===0?0:Math.round(S.reduce((P,W)=>P+W.avgLatency,0)/S.length)})(),throughput:(D.reduce((S,P)=>S+P.requests,0)/y.minutes).toFixed(1)},Qf=n.length===0;return r?w.default.createElement("div",{className:"preview-content",style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)"}},w.default.createElement("div",{style:{padding:"24px 24px 0 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",marginBottom:"16px",paddingBottom:"16px"}},w.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},w.default.createElement("div",null,!t&&w.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:"white",margin:0}},"Traces"),w.default.createElement("p",{style:{fontSize:"14px",color:"rgba(255,255,255,0.6)",marginTop:"4px"}},I!==null?`Viewing ${D[I]?.time} \u2022 ${Ne.length} requests`:`Last ${y.label} \u2022 Click timeline to drill down`)),w.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},w.default.createElement("div",{style:{display:"flex",background:"rgba(255,255,255,0.1)",borderRadius:"8px",padding:"2px"}},["timeline","agents","actions","tools","spans"].map(S=>w.default.createElement("button",{key:S,onClick:()=>X(S),style:{padding:"6px 12px",background:z===S?"#ef4444":"transparent",color:"white",borderRadius:"6px",border:"none",fontSize:"13px",cursor:"pointer",textTransform:"capitalize"}},S))),!e&&w.default.createElement("select",{value:_.agent,onChange:S=>M({..._,agent:S.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"}},w.default.createElement("option",{value:"all"},"All Agents"),i.map(S=>w.default.createElement("option",{key:S,value:S},S))),w.default.createElement("select",{value:_.action,onChange:S=>M({..._,action:S.target.value}),style:{padding:"8px 12px",background:_.action!=="all"?"rgba(239, 68, 68, 0.3)":"rgba(255,255,255,0.1)",border:_.action!=="all"?"1px solid #ef4444":"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px",maxWidth:"220px",textOverflow:"ellipsis"}},w.default.createElement("option",{value:"all"},"All Actions"),ae.map(S=>w.default.createElement("option",{key:S,value:S},S))),w.default.createElement("select",{value:_.status,onChange:S=>M({..._,status:S.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"}},w.default.createElement("option",{value:"all"},"All Status"),w.default.createElement("option",{value:"success"},"Success"),w.default.createElement("option",{value:"error"},"Error")),w.default.createElement("select",{value:E,onChange:S=>L(S.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"}},w.default.createElement("option",{value:"time"},"Newest first"),w.default.createElement("option",{value:"latency"},"Slowest first")),I!==null&&w.default.createElement("button",{onClick:()=>j(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&&w.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),w.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},w.default.createElement("div",{style:{background:"rgba(0,0,0,0.3)",borderRadius:"12px",padding:"16px",border:"1px solid rgba(255,255,255,0.1)"}},w.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"12px"}},w.default.createElement("div",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},"Agent Requests / Minute"),w.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},Object.entries(O).map(([S,P])=>w.default.createElement("div",{key:S,style:{display:"flex",alignItems:"center",gap:"6px"}},w.default.createElement("div",{style:{width:"10px",height:"10px",borderRadius:"2px",background:P}}),w.default.createElement("span",{style:{fontSize:"11px",color:"rgba(255,255,255,0.7)"}},S.replace("Agent","")))))),w.default.createElement("div",{style:{height:"150px"}},w.default.createElement(mu,{width:"100%",height:"100%"},w.default.createElement(lc,{data:D,onClick:G,style:{cursor:"pointer"}},w.default.createElement("defs",null,Object.entries(O).map(([S,P])=>w.default.createElement("linearGradient",{key:S,id:`gradient-${S}`,x1:"0",y1:"0",x2:"0",y2:"1"},w.default.createElement("stop",{offset:"5%",stopColor:P,stopOpacity:.8}),w.default.createElement("stop",{offset:"95%",stopColor:P,stopOpacity:.1})))),w.default.createElement(zl,{strokeDasharray:"3 3",stroke:"rgba(255,255,255,0.1)"}),w.default.createElement(Ul,{dataKey:"time",stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,interval:N}),w.default.createElement($l,{stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,axisLine:!1,allowDecimals:!1}),w.default.createElement(Xu,{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:(S,P)=>[S,P.replace("Agent","")]}),Object.keys(O).map(S=>w.default.createElement(Bl,{key:S,type:"monotone",dataKey:S,stackId:"1",stroke:O[S],fill:`url(#gradient-${S})`}))))),w.default.createElement("div",{style:{display:"flex",gap:"24px",marginTop:"12px",paddingTop:"12px",borderTop:"1px solid rgba(255,255,255,0.1)"}},w.default.createElement("div",null,w.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"white"}},ji.requests),w.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Total Requests")),w.default.createElement("div",null,w.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#ef4444"}},ji.errors),w.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Errors")),w.default.createElement("div",null,w.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#10b981"}},ji.avgLatency,"ms"),w.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Avg Latency")),w.default.createElement("div",null,w.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#f59e0b"}},ji.throughput,"/min"),w.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Throughput"))))),z==="agents"&&w.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},Mo,w.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(280px, 1fr))",gap:"16px"}},F.map(S=>w.default.createElement(Fs,{key:S.agent,name:S.agent,accentColor:O[S.agent],subtitle:S.agents?.length?S.agents.join(", "):void 0,badge:w.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:O[S.agent]+"30",color:O[S.agent],borderRadius:"4px",whiteSpace:"nowrap"}},S.count," calls"),onClick:()=>zt(S.agent),stats:Ke(S),footer:w.default.createElement(w.default.Fragment,null,w.default.createElement("span",null,l[S.agent]?"Open agent \u2192":"Not linked to an agent record"),w.default.createElement("button",{onClick:P=>{P.stopPropagation(),Gr(S.agent)},style:{background:"none",border:"none",padding:0,cursor:"pointer",color:_.agent===S.agent?"#ef4444":"inherit",font:"inherit"}},_.agent===S.agent?"Clear filter":"Filter traces"))})))),z==="actions"&&w.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},w.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:"12px"}},$.map(S=>{let P=_.action===S.key;return w.default.createElement("div",{key:S.key,onClick:()=>{M({..._,action:P?"all":S.key}),X("timeline")},style:{background:P?"rgba(239, 68, 68, 0.15)":"rgba(0,0,0,0.3)",borderRadius:"10px",padding:"14px",border:P?"1px solid #ef4444":`1px solid ${O[S.agent]}30`,cursor:"pointer",transition:"all 0.15s"}},w.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"10px"}},w.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},w.default.createElement("div",{style:{width:"6px",height:"6px",borderRadius:"50%",background:O[S.agent]}}),w.default.createElement("span",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},S.agent),w.default.createElement("span",{style:{fontSize:"13px",color:"rgba(255,255,255,0.7)"}},"#",S.action)),w.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:O[S.agent]+"30",color:O[S.agent],borderRadius:"4px"}},S.count," calls")),w.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},w.default.createElement("div",null,w.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Avg"),w.default.createElement("div",{style:{fontSize:"13px",color:"white",fontWeight:"500"}},Math.round(S.totalDuration/S.count),"ms")),w.default.createElement("div",null,w.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Min/Max"),w.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},Math.round(S.minDuration),"ms / ",Math.round(S.maxDuration),"ms")),w.default.createElement("div",null,w.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Errors"),w.default.createElement("div",{style:{fontSize:"13px",color:S.errors>0?"#ef4444":"#10b981"}},S.errors," (",(S.errors/S.count*100).toFixed(0),"%)")),w.default.createElement("div",null,w.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Tokens"),w.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},we(S.tokens).toLocaleString()))))}))),z==="spans"&&dA(!0),z==="timeline"&&!Qf&&w.default.createElement("div",{className:"preview-traces"},Ne.length===0?w.default.createElement("div",{style:{textAlign:"center",padding:"32px"}},w.default.createElement("div",{style:{color:"rgba(255,255,255,0.5)",fontSize:"14px"}},"No traces match filters")):Ne.map(S=>w.default.createElement(w.default.Fragment,{key:S.id},w.default.createElement("div",{className:"trace-header-row",id:`trace-row-${S.id}`,onClick:()=>v(p===S.id?null:S.id),style:{cursor:"pointer"}},w.default.createElement("div",{className:"trace-id"},w.default.createElement("span",{className:"trace-badge"},"TRACE"),w.default.createElement("span",{className:"trace-hash"},S.short_id),w.default.createElement("span",{style:{marginLeft:"12px",color:"rgba(255,255,255,0.9)",fontWeight:"500"}},S.display_name)),w.default.createElement("div",{className:"trace-meta"},S.model&&w.default.createElement("span",{className:"meta-item",title:"Model that generated this trace",style:{fontFamily:Oe.mono,background:"rgba(99,102,241,0.2)",color:"#a5b4fc",padding:"2px 8px",borderRadius:"4px"}},S.model),(()=>{let P=Zf(S);return P?w.default.createElement(Ti,{compact:!0,...P,label:"Context",darkMode:!0}):null})(),w.default.createElement("span",{className:"meta-item"},w.default.createElement("i",{className:"fa-solid fa-clock"})," ",xe(S.duration_ms)),w.default.createElement("span",{className:"meta-item"},Ae(S.tokens)," tokens"),S.estimated_cost!=null&&w.default.createElement("span",{className:"meta-item"},w.default.createElement("i",{className:"fa-solid fa-coins"})," ",iA(S.estimated_cost)),w.default.createElement("span",{className:`meta-item ${Xl(S)?"success":"error"}`},w.default.createElement("i",{className:`fa-solid ${Xl(S)?"fa-check":"fa-xmark"}`})," ",Xl(S)?"OK":"ERROR"))),(()=>{let P=Tg(S);return!P.input&&!P.output?null:w.default.createElement("div",{onClick:()=>v(p===S.id?null:S.id),style:{cursor:"pointer",padding:"0 16px 10px",fontSize:"12px",fontFamily:Oe.mono,color:"rgba(255,255,255,0.6)",display:"grid",gap:"2px"}},P.input&&w.default.createElement("div",{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},w.default.createElement("span",{style:{color:"rgba(255,255,255,0.35)"}},"input:")," ",Ha(P.input)),P.output&&w.default.createElement("div",{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},w.default.createElement("span",{style:{color:"rgba(255,255,255,0.35)"}},"output:")," ",Ha(P.output)))})(),p===S.id&&w.default.createElement("div",{className:"trace-timeline"},w.default.createElement("div",{className:"timeline-scale"},w.default.createElement("span",null,"0ms"),w.default.createElement("span",null,Math.round((S.duration_ms||0)*.33),"ms"),w.default.createElement("span",null,Math.round((S.duration_ms||0)*.66),"ms"),w.default.createElement("span",null,xe(S.duration_ms))),(S.spans||[]).map((P,W)=>{let Z=`${S.id}:${W}`,je=P.attributes||{},Te=Object.keys(je).length>0,Je=g===Z;return w.default.createElement(w.default.Fragment,{key:W},w.default.createElement("div",{className:`span-row ${P.nested?`nested-${Math.min(P.nested,3)}`:""}`,onClick:Te?()=>x(Je?null:Z):void 0,style:Te?{cursor:"pointer"}:void 0,title:Te?"Click for span details":void 0},w.default.createElement("div",{className:"span-label"},w.default.createElement("span",{className:`span-icon ${P.type}`},Og(P.type)),w.default.createElement("span",{className:`span-name ${P.error?"error":""}`},P.name)),w.default.createElement("div",{className:"span-bar-container"},w.default.createElement("div",{className:`span-bar ${P.type} ${P.error?"error":""}`,style:{left:`${S.duration_ms?P.start/S.duration_ms*100:0}%`,width:`${S.duration_ms?Math.max(P.duration/S.duration_ms*100,2):2}%`}})),w.default.createElement("span",{style:{flexShrink:0,width:"130px",textAlign:"right",fontSize:"11px",fontFamily:Oe.mono,color:"rgba(255,255,255,0.55)",paddingLeft:"8px"}},oA(P,S))),(()=>{if(Je)return null;let Me=lA(P,S);return!Me.input&&!Me.output?null:w.default.createElement("div",{onClick:Te?()=>x(Je?null:Z):void 0,style:{padding:"0 0 4px 24px",fontFamily:Oe.mono,fontSize:"11px",color:"rgba(255,255,255,0.5)",display:"grid",gap:"1px",cursor:Te?"pointer":"default"}},Me.input&&w.default.createElement("div",{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},w.default.createElement("span",{style:{color:ra(Me.inputTone,!0).color}},Me.inputLabel)," ",Ha(Me.input,140)),Me.output&&w.default.createElement("div",{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},w.default.createElement("span",{style:{color:ra(Me.outputTone,!0).color}},Me.outputLabel)," ",Ha(Me.output,140)))})(),Je&&uA(P,!0,Mg(S)))}),(()=>{let P=Zf(S);return P?w.default.createElement("div",{style:{margin:"10px 0"},onClick:W=>W.stopPropagation()},w.default.createElement(Ti,{...P,label:"Context pressure",estimated:!0,darkMode:!0})):null})(),cA(S,!0),w.default.createElement("div",{className:"span-row nested-3"},w.default.createElement("div",{className:"span-label"},w.default.createElement("span",{className:"span-icon",style:{fontFamily:Oe.mono}},"+--"),w.default.createElement("span",{className:"span-name tokens",style:{fontFamily:Oe.mono}},we(S.tokens).toLocaleString()," tokens")),w.default.createElement("div",{className:"span-bar-container"},w.default.createElement("div",{className:"token-breakdown",style:{fontFamily:Oe.mono}},S.tokens.thinking>0&&w.default.createElement("span",{className:"token-thinking"},"T:",S.tokens.thinking.toLocaleString()),w.default.createElement("span",{className:"token-in"},"in:",S.tokens.input.toLocaleString()),w.default.createElement("span",{className:"token-out"},"out:",S.tokens.output.toLocaleString())))),S.error&&w.default.createElement("div",{style:{padding:"12px 16px",background:"rgba(239, 68, 68, 0.1)",borderRadius:"6px",marginTop:"12px"}},w.default.createElement("span",{style:{color:"#ef4444",fontSize:"13px"}},w.default.createElement("i",{className:"fa-solid fa-exclamation-triangle",style:{marginRight:"8px"}}),S.error)))))),Qf&&z==="timeline"&&w.default.createElement("div",{style:{textAlign:"center",padding:"48px 0"}},w.default.createElement("div",{style:{color:"rgba(255,255,255,0.5)",fontSize:"18px"}},"No traces yet"),w.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"))):w.default.createElement("div",{className:"space-y-6"},w.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2"},w.default.createElement("div",null,w.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Traces"),w.default.createElement("p",{className:"text-sm text-gray-500"},I!==null?`Viewing ${D[I]?.time} \u2022 ${Ne.length} requests`:`Last ${y.label} \u2022 Click timeline to drill down`)),w.default.createElement("div",{className:"flex items-center space-x-3 flex-wrap gap-y-2 min-w-0"},w.default.createElement(Ua,null),w.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},["timeline","agents","actions","tools","spans"].map(S=>w.default.createElement("button",{key:S,onClick:()=>X(S),className:`px-3 py-1 text-sm rounded-md transition-colors capitalize ${z===S?"bg-white shadow text-gray-900":"text-gray-600"}`},S))),w.default.createElement("select",{value:_.agent,onChange:S=>M({..._,agent:S.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"}},w.default.createElement("option",{value:"all"},"All Agents"),i.map(S=>w.default.createElement("option",{key:S,value:S},S))),w.default.createElement("select",{value:_.action,onChange:S=>M({..._,action:S.target.value}),className:`px-3 py-2 border rounded-lg text-sm focus:ring-2 focus:ring-red-500 ${_.action!=="all"?"border-red-500 bg-red-50":"border-gray-300"}`,style:{maxWidth:"220px",textOverflow:"ellipsis"}},w.default.createElement("option",{value:"all"},"All Actions"),ae.map(S=>w.default.createElement("option",{key:S,value:S},S))),w.default.createElement("select",{value:_.status,onChange:S=>M({..._,status:S.target.value}),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},w.default.createElement("option",{value:"all"},"All Status"),w.default.createElement("option",{value:"success"},"Success"),w.default.createElement("option",{value:"error"},"Error")),w.default.createElement("select",{value:E,onChange:S=>L(S.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},w.default.createElement("option",{value:"time"},"Newest first"),w.default.createElement("option",{value:"latency"},"Slowest first")),I!==null&&w.default.createElement("button",{onClick:()=>j(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&&w.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),w.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},w.default.createElement("div",{className:"flex justify-between items-center mb-3"},w.default.createElement("h3",{className:"text-sm font-semibold text-gray-700"},"Agent Requests / Minute"),w.default.createElement("div",{className:"flex gap-4 flex-wrap"},Object.entries(O).map(([S,P])=>w.default.createElement("div",{key:S,className:"flex items-center gap-1.5"},w.default.createElement("div",{className:"w-2.5 h-2.5 rounded-sm",style:{background:P}}),w.default.createElement("span",{className:"text-xs text-gray-500"},S.replace("Agent","")))))),w.default.createElement("div",{className:"h-36"},w.default.createElement(mu,{width:"100%",height:"100%"},w.default.createElement(lc,{data:D,onClick:G,style:{cursor:"pointer"}},w.default.createElement("defs",null,Object.entries(O).map(([S,P])=>w.default.createElement("linearGradient",{key:S,id:`gradient-light-${S}`,x1:"0",y1:"0",x2:"0",y2:"1"},w.default.createElement("stop",{offset:"5%",stopColor:P,stopOpacity:.6}),w.default.createElement("stop",{offset:"95%",stopColor:P,stopOpacity:.05})))),w.default.createElement(zl,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),w.default.createElement(Ul,{dataKey:"time",stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,interval:N}),w.default.createElement($l,{stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,axisLine:!1,allowDecimals:!1}),w.default.createElement(Xu,{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:(S,P)=>[S,P.replace("Agent","")]}),Object.keys(O).map(S=>w.default.createElement(Bl,{key:S,type:"monotone",dataKey:S,stackId:"1",stroke:O[S],fill:`url(#gradient-light-${S})`}))))),w.default.createElement("div",{className:"flex gap-6 mt-3 pt-3 border-t border-gray-100"},w.default.createElement("div",null,w.default.createElement("div",{className:"text-lg font-bold text-gray-900"},ji.requests),w.default.createElement("div",{className:"text-xs text-gray-500"},"Total Requests")),w.default.createElement("div",null,w.default.createElement("div",{className:"text-lg font-bold text-red-500"},ji.errors),w.default.createElement("div",{className:"text-xs text-gray-500"},"Errors")),w.default.createElement("div",null,w.default.createElement("div",{className:"text-lg font-bold text-green-600"},ji.avgLatency,"ms"),w.default.createElement("div",{className:"text-xs text-gray-500"},"Avg Latency")),w.default.createElement("div",null,w.default.createElement("div",{className:"text-lg font-bold text-amber-500"},ji.throughput,"/min"),w.default.createElement("div",{className:"text-xs text-gray-500"},"Throughput")))),z==="agents"&&w.default.createElement("div",null,Mo,w.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"},F.map(S=>w.default.createElement(Fs,{key:S.agent,name:S.agent,accentColor:O[S.agent],subtitle:S.agents?.length?S.agents.join(", "):void 0,badge:w.default.createElement("span",{className:"text-sm px-2 py-0.5 rounded",style:{background:O[S.agent]+"20",color:O[S.agent]}},S.count," calls"),onClick:()=>zt(S.agent),stats:Ke(S),footer:w.default.createElement(w.default.Fragment,null,w.default.createElement("span",null,l[S.agent]?"Open agent \u2192":"Not linked to an agent record"),w.default.createElement("button",{onClick:P=>{P.stopPropagation(),Gr(S.agent)},className:_.agent===S.agent?"text-red-600":"hover:text-gray-700"},_.agent===S.agent?"Clear filter":"Filter traces"))})))),z==="actions"&&w.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3"},$.map(S=>{let P=_.action===S.key;return w.default.createElement("div",{key:S.key,onClick:()=>{M({..._,action:P?"all":S.key}),X("timeline")},className:`rounded-xl p-4 cursor-pointer transition-all ${P?"bg-red-50 border-2 border-red-500":"bg-white border border-gray-200 hover:border-gray-300"}`,style:{borderLeftColor:O[S.agent],borderLeftWidth:P?"2px":"4px"}},w.default.createElement("div",{className:"flex items-center justify-between mb-3"},w.default.createElement("div",{className:"flex items-center gap-2"},w.default.createElement("div",{className:"w-2 h-2 rounded-full",style:{background:O[S.agent]}}),w.default.createElement("span",{className:"font-semibold text-gray-900"},S.agent),w.default.createElement("span",{className:"text-gray-500"},"#",S.action)),w.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded",style:{background:O[S.agent]+"20",color:O[S.agent]}},S.count," calls")),w.default.createElement("div",{className:"flex flex-wrap gap-4 text-sm"},w.default.createElement("div",null,w.default.createElement("div",{className:"text-xs text-gray-500"},"Avg"),w.default.createElement("div",{className:"font-medium"},Math.round(S.totalDuration/S.count),"ms")),w.default.createElement("div",null,w.default.createElement("div",{className:"text-xs text-gray-500"},"Min/Max"),w.default.createElement("div",{className:"text-gray-600"},Math.round(S.minDuration),"ms / ",Math.round(S.maxDuration),"ms")),w.default.createElement("div",null,w.default.createElement("div",{className:"text-xs text-gray-500"},"Errors"),w.default.createElement("div",{className:S.errors>0?"text-red-600":"text-green-600"},S.errors," (",(S.errors/S.count*100).toFixed(0),"%)")),w.default.createElement("div",null,w.default.createElement("div",{className:"text-xs text-gray-500"},"Tokens"),w.default.createElement("div",{className:"text-gray-600"},we(S.tokens).toLocaleString()))))})),z==="tools"&&(q.length===0?w.default.createElement("div",{className:"text-center py-8 text-gray-500 text-sm"},"No tool calls in this window"):w.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},w.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"},w.default.createElement("div",{className:"flex-1"},"Tool"),w.default.createElement("div",{className:"w-20 text-right"},"Calls"),w.default.createElement("div",{className:"w-24 text-right"},"Total time"),w.default.createElement("div",{className:"w-20 text-right"},"Avg"),w.default.createElement("div",{className:"w-20 text-right"},"Slowest")),q.map(S=>{let P=q[0].totalDuration?S.totalDuration/q[0].totalDuration*100:0;return w.default.createElement("div",{key:S.name,className:"px-4 py-2 border-b border-gray-50 last:border-0"},w.default.createElement("div",{className:"flex items-center gap-4 text-sm"},w.default.createElement("div",{className:"flex-1 min-w-0"},w.default.createElement("div",{className:"font-medium text-gray-900 truncate",title:S.name},S.name),S.agents.length>0&&w.default.createElement("div",{className:"text-xs text-gray-400 truncate",title:S.agents.join(", ")},S.agents.join(", "))),w.default.createElement("div",{className:"w-20 text-right text-gray-700",style:{fontFamily:Oe.mono}},S.count.toLocaleString(),S.errors>0&&w.default.createElement("span",{className:"text-red-600 ml-1",title:`${S.errors} failed`},"(",S.errors,")")),w.default.createElement("div",{className:"w-24 text-right text-gray-900 font-medium",style:{fontFamily:Oe.mono}},xe(S.totalDuration)),w.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:Oe.mono}},xe(S.avgDuration)),w.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:Oe.mono}},xe(S.maxDuration))),w.default.createElement("div",{className:"h-1 bg-gray-100 rounded mt-1.5"},w.default.createElement("div",{className:"h-1 bg-green-500 rounded",style:{width:`${Math.max(P,1)}%`}})))}))),z==="spans"&&dA(!1),z==="timeline"&&!Qf&&w.default.createElement("div",{className:"space-y-4"},Ne.length===0?w.default.createElement("div",{className:"text-center py-8 text-gray-500"},"No traces match filters"):Ne.map(S=>w.default.createElement("div",{key:S.id,id:`trace-row-${S.id}`,className:"bg-white rounded-xl border border-gray-200 overflow-hidden hover:border-gray-300 transition-colors"},w.default.createElement("div",{className:"p-4 flex items-center justify-between cursor-pointer hover:bg-gray-50",onClick:()=>v(p===S.id?null:S.id)},w.default.createElement("div",{className:"flex items-center space-x-4"},w.default.createElement("div",{className:"flex items-center space-x-2"},w.default.createElement("span",{className:"px-2 py-1 bg-gray-100 text-gray-600 text-xs font-mono rounded"},"TRACE"),w.default.createElement("span",{className:"text-sm font-mono text-gray-500"},S.short_id)),w.default.createElement("span",{className:"text-sm font-medium text-gray-900"},S.display_name)),w.default.createElement("div",{className:"flex items-center space-x-4"},S.model&&w.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded bg-indigo-50 text-indigo-700",style:{fontFamily:Oe.mono},title:"Model that generated this trace"},S.model),(()=>{let P=Zf(S);return P?w.default.createElement(Ti,{compact:!0,...P,label:"Context"}):null})(),w.default.createElement("span",{className:"text-sm text-gray-500"},w.default.createElement("i",{className:"fa-solid fa-clock mr-1"}),xe(S.duration_ms)),w.default.createElement("span",{className:"text-sm text-gray-500"},Ae(S.tokens)," tokens"),S.estimated_cost!=null&&w.default.createElement("span",{className:"text-sm text-gray-500"},w.default.createElement("i",{className:"fa-solid fa-coins mr-1"}),iA(S.estimated_cost)),w.default.createElement("span",{className:`text-sm ${Xl(S)?"text-green-600":"text-red-600"}`},w.default.createElement("i",{className:`fa-solid ${Xl(S)?"fa-check":"fa-xmark"} mr-1`}),Xl(S)?"OK":"ERROR"))),(()=>{let P=Tg(S);return!P.input&&!P.output?null:w.default.createElement("div",{className:"px-4 pb-3 cursor-pointer",onClick:()=>v(p===S.id?null:S.id),style:{fontFamily:Oe.mono,fontSize:"12px",display:"grid",gap:"2px"}},P.input&&w.default.createElement("div",{className:"text-gray-500",style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},w.default.createElement("span",{className:"text-gray-400"},"input:")," ",Ha(P.input)),P.output&&w.default.createElement("div",{className:"text-gray-500",style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},w.default.createElement("span",{className:"text-gray-400"},"output:")," ",Ha(P.output)))})(),p===S.id&&w.default.createElement("div",{className:"border-t border-gray-100 p-4 bg-gray-50"},w.default.createElement("div",{className:"flex items-center justify-between mb-2"},w.default.createElement("div",{className:"flex items-center gap-1"},[{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"}].map(P=>w.default.createElement("button",{key:P.id,onClick:W=>{W.stopPropagation(),P.id==="conversation"?ge(S.id):J(Z=>({...Z,[S.id]:"spans"}))},title:P.hint,className:`px-2 py-0.5 text-xs rounded transition-colors ${(Y[S.id]||"spans")===P.id?"bg-white shadow text-gray-900":"text-gray-500 hover:bg-white"}`},P.label)),w.default.createElement("span",{className:"text-xs text-gray-500 ml-2"},(S.spans||[]).length," spans")),(Y[S.id]||"spans")==="spans"&&w.default.createElement("div",{className:"flex items-center gap-1"},w.default.createElement("span",{className:"text-xs text-gray-400 mr-1"},"Sort"),[{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"}].map(P=>w.default.createElement("button",{key:P.id,onClick:W=>{W.stopPropagation(),H(P.id)},title:P.hint,className:`px-2 py-0.5 text-xs rounded transition-colors ${T===P.id?"bg-white shadow text-gray-900":"text-gray-500 hover:bg-white"}`},P.label)))),(Y[S.id]||"spans")==="conversation"&&w.default.createElement("div",{className:"bg-white rounded-lg border border-gray-200 p-4"},ze(S,!1)),(Y[S.id]||"spans")==="spans"&&w.default.createElement(w.default.Fragment,null,T==="time"?w.default.createElement("div",{className:"flex justify-between text-xs text-gray-400 mb-2"},w.default.createElement("span",null,"0ms"),w.default.createElement("span",null,Math.round((S.duration_ms||0)*.33),"ms"),w.default.createElement("span",null,Math.round((S.duration_ms||0)*.66),"ms"),w.default.createElement("span",null,xe(S.duration_ms))):w.default.createElement("div",{className:"text-xs text-gray-400 mb-2"},"Bar length compares duration on a log scale"),w.default.createElement("div",{className:"space-y-2"},se(S.spans).map((P,W,Z)=>{let je=Math.max(...Z.map(Ge=>Ge.duration||0),1),Te=`${S.id}:${P.span_id||W}`,Je=P.attributes||{},Me=Object.keys(Je).length>0,Lt=g===Te;return w.default.createElement(w.default.Fragment,{key:Te},w.default.createElement("div",{className:`group py-0.5 ${Me?"cursor-pointer hover:bg-gray-100 rounded":""}`,style:{paddingLeft:T==="time"?`${(P.nested||0)*16}px`:0},onClick:Me?()=>x(Lt?null:Te):void 0,title:Me?`${P.name} \u2014 click for span details`:P.name},w.default.createElement("div",{className:"flex items-baseline gap-2 min-w-0"},w.default.createElement("span",{className:`flex-shrink-0 ${P.type==="thinking"?"":"text-gray-400"}`},Og(P.type)),w.default.createElement("span",{className:`text-sm font-medium ${P.error?"text-red-600":"text-gray-800"}`},P.name),w.default.createElement("span",{className:"text-xs text-gray-400 ml-auto flex-shrink-0",style:{fontFamily:Oe.mono}},xe(P.duration))),w.default.createElement("div",{className:"h-3 relative bg-gray-100 rounded mt-0.5"},w.default.createElement("div",{className:`absolute h-3 rounded transition-opacity ${P.type==="root"?"bg-gray-400":P.type==="prompt"?"bg-blue-400":P.type==="generate"?"bg-purple-500":P.type==="llm"?"bg-red-500":P.type==="thinking"?"bg-amber-400":P.type==="tool"?"bg-green-500":P.type==="response"?"bg-teal-400":"bg-gray-300"} ${P.error?"bg-red-400":""}`,style:{left:T==="time"?`${S.duration_ms?P.start/S.duration_ms*100:0}%`:0,width:T==="time"?`${S.duration_ms?Math.max(P.duration/S.duration_ms*100,1):1}%`:`${MZ(P.duration,je)}%`}})),w.default.createElement("span",{className:"flex-shrink-0 text-right text-xs text-gray-400 pl-2",style:{width:"130px",fontFamily:Oe.mono}},oA(P,S)),(()=>{if(Lt)return null;let Ge=lA(P,S);return!Ge.input&&!Ge.output?null:w.default.createElement("div",{className:"min-w-0",style:{fontFamily:Oe.mono,fontSize:"11px",display:"grid",gap:"1px",marginTop:"2px"}},Ge.input&&w.default.createElement("div",{className:"text-gray-500",style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},w.default.createElement("span",{style:{color:ra(Ge.inputTone,!1).color}},Ge.inputLabel)," ",Ha(Ge.input,160)),Ge.output&&w.default.createElement("div",{className:"text-gray-500",style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},w.default.createElement("span",{style:{color:ra(Ge.outputTone,!1).color}},Ge.outputLabel)," ",Ha(Ge.output,160)))})()),Lt&&uA(P,!1,Mg(S)))}))),(()=>{let P=Zf(S);return P?w.default.createElement("div",{className:"mt-3",onClick:W=>W.stopPropagation()},w.default.createElement(Ti,{...P,label:"Context pressure",estimated:!0})):null})(),cA(S,!1),w.default.createElement("div",{className:"mt-4 pt-4 border-t border-gray-200 flex items-center space-x-6"},w.default.createElement("span",{className:"text-sm text-gray-500"},"Tokens:"),S.tokens.thinking>0&&w.default.createElement("span",{className:"text-sm text-amber-600",style:{fontFamily:Oe.mono}},"T:",S.tokens.thinking.toLocaleString()),w.default.createElement("span",{className:"text-sm text-blue-600",style:{fontFamily:Oe.mono}},"in:",S.tokens.input.toLocaleString()),w.default.createElement("span",{className:"text-sm text-green-600",style:{fontFamily:Oe.mono}},"out:",S.tokens.output.toLocaleString()),S.provider&&w.default.createElement("span",{className:"text-sm text-gray-500",style:{fontFamily:Oe.mono}},S.provider,S.model?` \xB7 ${S.model}`:"")),S.error&&w.default.createElement("div",{className:"mt-4 p-3 bg-red-50 border border-red-200 rounded-lg"},w.default.createElement("span",{className:"text-sm text-red-700"},S.error)))))),Qf&&z==="timeline"&&w.default.createElement("div",{className:"text-center py-12"},w.default.createElement("div",{className:"text-gray-400 text-lg"},"No traces yet"),w.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 ce=ee(ne());var ar=ee(ne());var QP={root:"#9ca3af",prompt:"#60a5fa",generate:"#a855f7",llm:"#ef4444",thinking:"#fbbf24",tool:"#22c55e",response:"#2dd4bf",embedding:"#818cf8"},jS=e=>e==null?"":e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`;function IS({traceId:e,darkMode:t}){let[r,n]=(0,ar.useState)(null),[a,i]=(0,ar.useState)(!1),[o,l]=(0,ar.useState)(!1);if((0,ar.useEffect)(()=>{let p=!0;return fetch(`/api/traces/${encodeURIComponent(e)}`).then(v=>v.ok?v.json():Promise.reject(new Error("not found"))).then(({trace:v})=>p&&n(v)).catch(()=>p&&i(!0)),()=>{p=!1}},[e]),a)return null;let s=t?"rgba(255,255,255,0.08)":"#f3f4f6",u=t?"rgba(255,255,255,0.4)":"#9ca3af";if(!r)return ar.default.createElement("div",{className:"rounded mt-1",style:{height:"8px",background:s}});let c=r.spans||[],d=r.duration_ms||1,f=[...c].sort((p,v)=>(p.nested||0)-(v.nested||0));return ar.default.createElement("div",{className:"mt-1",onClick:p=>p.stopPropagation()},ar.default.createElement("div",{onClick:()=>l(!o),title:o?"Collapse spans":`${c.length} spans \xB7 ${jS(r.duration_ms)} \u2014 click to expand`,style:{display:"flex",alignItems:"center",gap:"8px",cursor:"pointer"}},ar.default.createElement("div",{style:{position:"relative",height:"8px",borderRadius:"999px",background:s,overflow:"hidden",flex:1}},f.map((p,v)=>ar.default.createElement("div",{key:p.span_id||v,title:`${p.name} \xB7 ${jS(p.duration)}`,style:{position:"absolute",top:0,bottom:0,left:`${Math.min(p.start/d*100,99)}%`,width:`${Math.max(p.duration/d*100,.8)}%`,background:p.error?"#ef4444":QP[p.type]||"#9ca3af"}}))),ar.default.createElement("span",{className:"font-mono",style:{fontSize:"10px",color:u,whiteSpace:"nowrap"}},c.length," spans ",o?"\u25BE":"\u25B8")),o&&ar.default.createElement("div",{style:{display:"grid",gap:"3px",marginTop:"6px"}},c.map((p,v)=>ar.default.createElement("div",{key:p.span_id||v,style:{display:"flex",alignItems:"center",gap:"8px",paddingLeft:`${(p.nested||0)*10}px`}},ar.default.createElement("span",{className:"font-mono",style:{fontSize:"10px",color:p.error?"#ef4444":u,width:"160px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flexShrink:0},title:p.name},p.name),ar.default.createElement("div",{style:{position:"relative",height:"4px",borderRadius:"2px",background:s,flex:1}},ar.default.createElement("div",{style:{position:"absolute",top:0,bottom:0,left:`${Math.min(p.start/d*100,99)}%`,width:`${Math.max(p.duration/d*100,.8)}%`,borderRadius:"2px",background:p.error?"#ef4444":QP[p.type]||"#9ca3af"}})),ar.default.createElement("span",{className:"font-mono",style:{fontSize:"10px",color:u,width:"52px",textAlign:"right",flexShrink:0}},jS(p.duration)))),ar.default.createElement("a",{href:rt(`/traces?trace=${r.trace_id||e}`),className:"font-mono hover:underline",style:{fontSize:"10px",color:"#3b82f6",justifySelf:"start"}},"open in Traces \u2192")))}var IZ=e=>{let t=null;if((e?.generations||[]).forEach(i=>{let o=i.tokens||{},l=(o.input||0)+(o.output||0);l>0&&(!t||l>t.total)&&(t={input:o.input||0,output:o.output||0,cached:o.cached||0,thinking:o.thinking||0,model:i.model,total:l})}),!t)return null;let r=La(e?.instructions),n=0;(e?.messages||[]).forEach(i=>{i.role==="tool"&&(n+=La(i.content)+La(i.tool_arguments))}),n=Math.min(n,t.input);let a=Math.max(t.input-r-n,0);return{used:t.total,limit:Ff(t.model),cached:t.cached,thinking:t.thinking,segments:[{key:"messages",label:"Messages",tokens:a},{key:"tool_results",label:"Tool results",tokens:n},{key:"instructions",label:"Instructions",tokens:r},{key:"output",label:"Generated output",tokens:t.output}]}},JP=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],zZ=[{id:"recent",label:"Recent"},{id:"tokens",label:"Tokens"},{id:"messages",label:"Messages"}],LZ=3e4,Mi=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString(),BZ=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 Di({agentId:e=null,embedded:t=!1}){let{darkMode:r}=mt(),[n,a]=(0,ce.useState)([]),[i,o]=(0,ce.useState)(!0),[l,s]=(0,ce.useState)(null),[u,c]=(0,ce.useState)(null),[d,f]=(0,ce.useState)({}),{timeWindow:p}=Ba(),v=(0,ce.useCallback)(async()=>{try{let j=await fetch(`/api/interactions?minutes=${p.minutes}${e?`&agent_id=${e}`:""}`);if(!j.ok)throw new Error(`Request failed (${j.status})`);let z=await j.json();a(z.interactions||[]),s(null)}catch(j){s(j.message)}finally{o(!1)}},[p.minutes,e]);(0,ce.useEffect)(()=>{v();let j=setInterval(v,LZ);return()=>clearInterval(j)},[v]);let[h,b]=(0,ce.useState)("recent"),m=(0,ce.useMemo)(()=>{let j=[...new Set(n.map(z=>z.display_name).filter(Boolean))].sort();return Object.fromEntries(j.map((z,X)=>[z,JP[X%JP.length]]))},[n]),g=(0,ce.useMemo)(()=>{let j=n.reduce((X,R)=>X+(R.tokens?.total||0),0),z=new Set(n.map(X=>X.display_name).filter(Boolean));return{interactions:n.length,tokens:j,agents:z.size,avgTokens:n.length?Math.round(j/n.length):0}},[n]),x=(0,ce.useMemo)(()=>{if(n.length===0)return[];let j=Date.now(),z=p.bucketSeconds*1e3,X=Math.max(1,Math.round(p.minutes*60/p.bucketSeconds)),R=Object.keys(m);return Array.from({length:X},(Q,y)=>{let C=j-(X-1-y)*z,O=C-z,D=n.filter(N=>{let T=new Date(N.last_activity_at).getTime();return T>=O&&T1440?new Date(C).toLocaleString([],{month:"short",day:"numeric",hour:"2-digit"}):new Date(C).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),...Object.fromEntries(R.map(N=>[N,D.filter(T=>T.display_name===N).length]))}})},[n,m,p]),A=Math.max(0,Math.ceil(x.length/6)-1),k=(0,ce.useCallback)(j=>{let z=[...j];switch(h){case"tokens":return z.sort((X,R)=>(R.tokens?.total||0)-(X.tokens?.total||0));case"messages":return z.sort((X,R)=>(R.message_count||0)-(X.message_count||0));default:return z.sort((X,R)=>String(R.last_activity_at).localeCompare(String(X.last_activity_at)))}},[h]),_=(0,ce.useMemo)(()=>{let j=new Map;n.forEach(X=>{let R=X.agent_name||X.agent?.name||"Unattributed",Q=X.action_name,y=`${R}#${Q||""}`;j.has(y)||j.set(y,{key:y,title:Q?`${R} ${Q.charAt(0).toUpperCase()}${Q.slice(1)} Agent Interactions`:`${R} Interactions`,sessions:[],tokens:0,lastActivity:X.last_activity_at});let C=j.get(y);C.sessions.push(X),C.tokens+=X.tokens?.total||0,X.last_activity_at>C.lastActivity&&(C.lastActivity=X.last_activity_at)});let z=[...j.values()].map(X=>({...X,sessions:k(X.sessions)}));return h==="tokens"?z.sort((X,R)=>R.tokens-X.tokens):h==="messages"?z.sort((X,R)=>R.sessions.length-X.sessions.length):z.sort((X,R)=>String(R.lastActivity).localeCompare(String(X.lastActivity)))},[n,h,k]),M=async j=>{if(u===j){c(null);return}if(c(j),!d[j])try{let z=await fetch(`/api/interactions/${j}`);if(z.ok){let X=await z.json();f(R=>({...R,[j]:X.interaction}))}}catch{}},E={cardBg:r?"#1f1f1f":"#ffffff",cardBorder:r?"#2a2a2a":"#e5e7eb",innerBg:r?"rgba(255,255,255,0.04)":"#f9fafb",textPrimary:r?"#ffffff":"#111827",textSecondary:r?"rgba(255,255,255,0.6)":"#6b7280",textMuted:r?"rgba(255,255,255,0.4)":"#9ca3af"},L=j=>{if(j==null)return"\u2014";if(typeof j!="string")return JSON.stringify(j,null,2);try{return JSON.stringify(JSON.parse(j),null,2)}catch{return j}},I=j=>{switch(j){case"user":return r?{background:"rgba(59,130,246,0.15)",color:"#93c5fd",label:"User"}:{background:"#eff6ff",color:"#1d4ed8",label:"User"};case"assistant":return r?{background:"rgba(239,68,68,0.12)",color:"#fca5a5",label:"Assistant"}:{background:"#fef2f2",color:"#b91c1c",label:"Assistant"};case"tool":return r?{background:"rgba(245,158,11,0.12)",color:"#fcd34d",label:"Tool"}:{background:"#fffbeb",color:"#b45309",label:"Tool"};default:return r?{background:"rgba(255,255,255,0.08)",color:"rgba(255,255,255,0.7)",label:j}:{background:"#f3f4f6",color:"#374151",label:j}}};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 border-red-500"})):ce.default.createElement("div",{className:"space-y-6"},ce.default.createElement("div",{className:"flex items-start justify-between"},!t&&ce.default.createElement("div",null,ce.default.createElement("h1",{className:"text-2xl font-bold",style:{color:E.textPrimary}},"Interactions"),ce.default.createElement("p",{className:"text-sm mt-1",style:{color:E.textSecondary}},"Persisted conversation streams per agent \u2014 messages, generations and provenance")),ce.default.createElement("div",{className:"flex items-center gap-3"},ce.default.createElement("div",{className:"flex items-center rounded-lg p-1",style:{background:r?"rgba(255,255,255,0.06)":"#f3f4f6"}},ce.default.createElement("span",{className:"text-xs px-1",style:{color:E.textMuted}},"Sort"),zZ.map(j=>ce.default.createElement("button",{key:j.id,onClick:()=>b(j.id),className:"px-2 py-1 text-xs rounded transition-colors",style:h===j.id?{background:r?"#2a2a2a":"#ffffff",color:E.textPrimary,boxShadow:r?"none":"0 1px 2px rgba(0,0,0,0.08)"}:{color:E.textSecondary}},j.label))),ce.default.createElement(Ua,null))),l&&ce.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&&ce.default.createElement("div",{className:"rounded-xl border p-4",style:{backgroundColor:E.cardBg,borderColor:E.cardBorder}},ce.default.createElement("div",{className:"flex items-center justify-between mb-3"},ce.default.createElement("h3",{className:"text-sm font-semibold",style:{color:E.textPrimary}},"Interactions over time"),ce.default.createElement("div",{className:"flex items-center gap-3 flex-wrap justify-end"},Object.entries(m).map(([j,z])=>ce.default.createElement("span",{key:j,className:"flex items-center gap-1.5 text-xs",style:{color:E.textSecondary}},ce.default.createElement("span",{className:"inline-block w-2 h-2 rounded-full",style:{background:z}}),j)))),ce.default.createElement("div",{className:"h-32"},ce.default.createElement(mu,{width:"100%",height:"100%"},ce.default.createElement(lc,{data:x},ce.default.createElement("defs",null,Object.entries(m).map(([j,z])=>ce.default.createElement("linearGradient",{key:j,id:`ix-gradient-${j.replace(/\W/g,"-")}`,x1:"0",y1:"0",x2:"0",y2:"1"},ce.default.createElement("stop",{offset:"5%",stopColor:z,stopOpacity:.6}),ce.default.createElement("stop",{offset:"95%",stopColor:z,stopOpacity:.05})))),ce.default.createElement(zl,{strokeDasharray:"3 3",stroke:r?"#2a2a2a":"#e5e7eb"}),ce.default.createElement(Ul,{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:A}),ce.default.createElement($l,{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}),ce.default.createElement(Xu,{contentStyle:{background:r?"#1f1f1f":"white",border:`1px solid ${E.cardBorder}`,borderRadius:"8px"},labelStyle:{color:E.textPrimary,fontWeight:"600",marginBottom:"4px"}}),Object.entries(m).map(([j,z])=>ce.default.createElement(Bl,{key:j,type:"monotone",dataKey:j,stackId:"1",stroke:z,strokeWidth:2,fill:`url(#ix-gradient-${j.replace(/\W/g,"-")})`}))))),ce.default.createElement("div",{className:"flex items-center gap-8 pt-3 mt-3 border-t",style:{borderColor:E.cardBorder}},[{label:"Interactions",value:g.interactions.toLocaleString()},{label:"Agents",value:g.agents.toLocaleString()},{label:"Total tokens",value:Mi(g.tokens)},{label:"Avg / interaction",value:Mi(g.avgTokens)}].map(j=>ce.default.createElement("div",{key:j.label},ce.default.createElement("div",{className:"text-lg font-bold",style:{color:E.textPrimary}},j.value),ce.default.createElement("div",{className:"text-xs",style:{color:E.textSecondary}},j.label))))),n.length===0?ce.default.createElement("div",{className:"text-center py-12"},ce.default.createElement("div",{className:"text-lg",style:{color:E.textMuted}},"No interactions in the last ",p.label),ce.default.createElement("p",{className:"text-sm mt-2",style:{color:E.textSecondary}},"Widen the time window, or run an agent to start recording its conversation stream")):ce.default.createElement("div",{className:"space-y-8"},_.map(j=>ce.default.createElement("div",{key:j.key,className:"space-y-4"},ce.default.createElement("div",{className:"flex items-baseline justify-between"},ce.default.createElement("h2",{className:"text-sm font-semibold",style:{color:E.textPrimary}},j.title),ce.default.createElement("span",{className:"text-xs",style:{color:E.textMuted}},j.sessions.length," ",j.sessions.length===1?"interaction":"interactions",j.tokens>0&&` \xB7 ${Mi(j.tokens)} tokens`)),j.sessions.map(z=>{let X=d[z.id],R=u===z.id;return ce.default.createElement("div",{key:z.id,className:"rounded-xl border shadow-sm overflow-hidden",style:{backgroundColor:E.cardBg,borderColor:E.cardBorder}},ce.default.createElement("div",{className:"flex items-center justify-between p-4 cursor-pointer",onClick:()=>M(z.id)},ce.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},z.source==="telemetry"?ce.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"):ce.default.createElement("span",{className:"px-2 py-1 text-xs font-medium bg-blue-100 text-blue-700 rounded flex-shrink-0"},"SESSION"),ce.default.createElement("span",{className:"font-mono text-sm truncate",style:{color:E.textPrimary}},z.display_name),z.agent&&ce.default.createElement("span",{className:"text-sm truncate",style:{color:E.textSecondary}},z.agent.name),z.service_name&&ce.default.createElement("span",{className:"text-sm truncate font-mono",style:{color:E.textMuted}},z.service_name)),ce.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0 text-sm",style:{color:E.textSecondary}},ce.default.createElement("span",null,z.message_count>0?`${z.message_count} messages`:`${z.tool_count||0} tool ${z.tool_count===1?"call":"calls"}`),ce.default.createElement("span",null,Mi(z.tokens?.total)," tokens"),(z.tokens?.total||0)>0&&ce.default.createElement(Ti,{compact:!0,darkMode:r,label:"Context",used:(z.tokens?.input||0)+(z.tokens?.output||0)||z.tokens?.total,limit:Ff(z.model),segments:[{key:"messages",label:"Context",tokens:(z.tokens?.input||0)+(z.tokens?.output||0)||z.tokens?.total}]}),ce.default.createElement("span",{style:{color:E.textMuted}},BZ(z.last_activity_at)),ce.default.createElement("svg",{className:`w-4 h-4 transition-transform ${R?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ce.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})))),R&&ce.default.createElement("div",{className:"border-t p-4 space-y-3",style:{borderColor:E.cardBorder,background:E.innerBg}},X?ce.default.createElement(ce.default.Fragment,null,X.messages.length===0&&ce.default.createElement("div",{className:"text-sm",style:{color:E.textMuted}},"No conversation content captured for this run. Enable content capture in the reporting app to record prompts, tool arguments, and responses."),ce.default.createElement(Oi,{darkMode:r,messages:X.instructions?[{id:`ctx-${z.id}-system`,role:"system",content:X.instructions,created_at:z.created_at},...X.messages]:X.messages}),X.generations.length>0&&ce.default.createElement("div",{className:"pt-3 mt-2 border-t",style:{borderColor:E.cardBorder}},ce.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-2",style:{color:E.textMuted}},"Generations"),ce.default.createElement("div",{className:"space-y-2"},X.generations.map(Q=>{let y=Math.max(...X.generations.map(O=>(O.duration_seconds||0)*1e3),1),C=(Q.duration_seconds||0)*1e3;return ce.default.createElement("div",{key:Q.id},ce.default.createElement("div",{className:"flex flex-wrap items-center gap-3 text-xs font-mono",style:{color:E.textSecondary}},ce.default.createElement("span",{title:Q.cache_hit?`${Mi(Q.tokens.cached)} cached prompt tokens`:"No prompt cache hit",className:Q.cache_hit?"text-green-600":"",style:Q.cache_hit?{}:{color:E.textMuted}},Q.cache_hit?"\u26A1 cache hit":"\u25CF generated"),Q.thinking&&ce.default.createElement("span",{className:"text-amber-600",title:`${Mi(Q.tokens.thinking)} thinking tokens`},"\u{1F9E0} ",Mi(Q.tokens.thinking)),ce.default.createElement("span",null,Q.model||"unknown-model"),Q.provider&&ce.default.createElement("span",null,Q.provider),ce.default.createElement("span",{className:"text-blue-500"},"in:",Mi(Q.tokens.input)),ce.default.createElement("span",{className:"text-green-600"},"out:",Mi(Q.tokens.output)),Q.finish_reason&&ce.default.createElement("span",null,Q.finish_reason),Q.duration_seconds!=null&&ce.default.createElement("span",null,(Q.duration_seconds*1e3).toFixed(0),"ms"),Q.trace_id&&ce.default.createElement("a",{href:rt(`/traces?trace=${Q.trace_id}`),title:`${Q.trace_id} \u2014 open in Traces`,style:{color:"#3b82f6"},className:"hover:underline",onClick:O=>O.stopPropagation()},"trace:",Q.trace_id.slice(0,8)," \u2192")),Q.trace_id?ce.default.createElement(IS,{traceId:Q.trace_id,darkMode:r}):C>0&&ce.default.createElement("div",{className:"rounded mt-1",title:`${C.toFixed(0)}ms`,style:{height:"6px",background:r?"rgba(255,255,255,0.08)":"#f3f4f6"}},ce.default.createElement("div",{className:"rounded",style:{height:"6px",width:`${Math.max(C/y*100,2)}%`,background:"#ef4444"}})))}))),(()=>{let Q=IZ(X);return Q?ce.default.createElement("div",{className:"pt-3 mt-2 border-t",style:{borderColor:E.cardBorder}},ce.default.createElement(Ti,{...Q,label:"Context pressure",estimated:!0,darkMode:r})):null})()):ce.default.createElement("div",{className:"flex justify-center py-6"},ce.default.createElement("div",{className:"animate-spin rounded-full h-6 w-6 border-b-2 border-red-500"}))))})))))}var re=ee(ne());var zS=[{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}}],LS=[{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}}],RP=()=>document.querySelector('meta[name="csrf-token"]')?.content,UZ=e=>{if(!e)return"";let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);return t<1?"just now":t<60?`${t} min ago`:t<1440?`${Math.floor(t/60)} hours ago`:`${Math.floor(t/1440)} days ago`},bg=e=>e>=.85?"high":e>=.7?"medium":"low";function qf({embedded:e=!1,agentId:t=null}){let{darkMode:r}=mt(),[n,a]=(0,re.useState)([]),[i,o]=(0,re.useState)([]),[l,s]=(0,re.useState)(!0),[u,c]=(0,re.useState)(null),[d,f]=(0,re.useState)(null),[p,v]=(0,re.useState)(!1),[h,b]=(0,re.useState)(null),[m,g]=(0,re.useState)({agent_id:t?String(t):"",name:"",sample_size:20,criteria:zS.map(N=>N.key),containsPattern:"",llmJudgePrompt:"",judgeKind:"manual",judgeModel:"",compareModels:""}),[x,A]=(0,re.useState)(null),[k,_]=(0,re.useState)(!1),M=(0,re.useCallback)(async()=>{try{let N=await fetch(`/api/evaluations${t?`?agent_id=${encodeURIComponent(t)}`:""}`);if(!N.ok)throw new Error(`Request failed (${N.status})`);let T=await N.json();a(T.evaluations||[]),c(null)}catch(N){c(N.message)}finally{s(!1)}},[t]);(0,re.useEffect)(()=>{M(),fetch("/api/agents").then(N=>N.ok?N.json():{agents:[]}).then(N=>o(N.agents||[])).catch(()=>o([]))},[M]);let E=()=>{let N=[...zS,...LS].filter(T=>m.criteria.includes(T.key)).map(({key:T,type:H,config:Y})=>({key:T,type:H,config:Y}));return m.containsPattern.trim()&&N.push({key:"contains",type:"contains",config:{pattern:m.containsPattern.trim()}}),m.llmJudgePrompt.trim()&&N.push({key:"quality",type:"llm_judge",config:{prompt:m.llmJudgePrompt.trim()}}),N},L=async N=>{N.preventDefault(),_(!0),A(null);try{let T=await fetch("/api/evaluations",{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":RP()},body:JSON.stringify({evaluation:{agent_id:m.agent_id,name:m.name,sample_size:m.sample_size,judge_kind:m.judgeKind==="judge_defined"?"judge_defined":m.llmJudgePrompt.trim()?"llm":"rules",judge_model:m.judgeModel.trim()||void 0,compare_models:m.compareModels.split(",").map(Y=>Y.trim()).filter(Boolean),criteria:m.judgeKind==="judge_defined"?[]:E()}})}),H=await T.json();if(!T.ok)throw new Error((H.errors||[H.error]).filter(Boolean).join(", ")||"Failed to create evaluation");v(!1),g({...m,name:""}),await M(),f(H.evaluation?.id??null)}catch(T){A(T.message)}finally{_(!1)}},I=async N=>{b(N);try{await fetch(`/api/evaluations/${N}/run`,{method:"POST",headers:{"X-CSRF-Token":RP()}}),await M()}finally{b(null)}},j={cardBg:r?"#1f1f1f":"#ffffff",cardBorder:r?"#2a2a2a":"#e5e7eb",innerBg:r?"rgba(255,255,255,0.04)":"#f9fafb",trackBg:r?"rgba(255,255,255,0.1)":"#f3f4f6",textPrimary:r?"#ffffff":"#111827",textSecondary:r?"rgba(255,255,255,0.6)":"#6b7280",textMuted:r?"rgba(255,255,255,0.4)":"#9ca3af",inputBg:r?"rgba(255,255,255,0.06)":"#ffffff",inputBorder:r?"rgba(255,255,255,0.2)":"#d1d5db"},z={high:"#22c55e",medium:"#eab308",low:"#ef4444"};if(l)return re.default.createElement("div",{className:"flex items-center justify-center h-64"},re.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let X=t?n.filter(N=>String(N.agent?.id)===String(t)):n,R=X.map(N=>N.latest_run).filter(N=>N&&N.status==="complete"),Q=R.length?R.reduce((N,T)=>N+(T.average_score||0),0)/R.length:null,y=R.reduce((N,T)=>N+(T.samples_evaluated||0),0),C={padding:"8px 12px",borderRadius:"8px",fontSize:"14px",background:j.inputBg,border:`1px solid ${j.inputBorder}`,color:j.textPrimary},O=N=>N&&typeof N=="object"&&!("score"in N)&&!("skipped"in N),D=(N,T,{indent:H=!1,mono:Y=!1}={})=>re.default.createElement("div",{key:N,className:"flex items-center gap-4",style:H?{paddingLeft:"16px"}:void 0},re.default.createElement("div",{className:`w-32 text-sm truncate ${Y?"font-mono text-xs":""}`,style:{color:j.textSecondary},title:N},Y?N:N.replace(/_/g," "),T.source==="telemetry"&&re.default.createElement("span",{"data-testid":"score-source-telemetry",className:"ml-1 text-[10px] uppercase tracking-wide",style:{color:j.textMuted},title:`Aggregate over ${T.traces} traces in the last ${T.window_hours}h`},"telemetry")),T.skipped?re.default.createElement("div",{className:"flex-1 text-xs italic",style:{color:j.textMuted},title:T.reason},"skipped \u2014 ",T.reason):re.default.createElement(re.default.Fragment,null,re.default.createElement("div",{className:"flex-1 h-2 rounded-full overflow-hidden",style:{background:j.trackBg}},re.default.createElement("div",{className:"h-full rounded-full transition-all",style:{width:`${T.score*100}%`,background:z[bg(T.score)]}})),re.default.createElement("div",{className:"w-12 text-sm font-medium text-right",style:{color:z[bg(T.score)]},title:`min ${T.min} \xB7 max ${T.max} \xB7 ${T.passed}/${T.total} passed`},T.score.toFixed(2))));return re.default.createElement("div",{className:"space-y-6"},re.default.createElement("div",{className:`flex items-center ${e?"justify-end":"justify-between"}`},!e&&re.default.createElement("div",null,re.default.createElement("h1",{className:"text-2xl font-bold",style:{color:j.textPrimary}},"Evaluations"),re.default.createElement("p",{className:"text-sm mt-1",style:{color:j.textSecondary}},"Score outputs with LLM-as-judge, rule-based checks, or custom criteria")),re.default.createElement("button",{onClick:()=>v(!p),className:"px-4 py-2 bg-red-500 text-white rounded-lg text-sm font-medium hover:bg-red-600 transition-colors"},p?"Cancel":"New Evaluation")),u&&re.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 evaluations: ",u),p&&re.default.createElement("form",{onSubmit:L,className:"rounded-xl border p-5 space-y-4",style:{backgroundColor:j.cardBg,borderColor:j.cardBorder}},re.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},re.default.createElement("div",null,re.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-1",style:{color:j.textMuted}},"Agent"),re.default.createElement("select",{required:!0,disabled:!!t,value:m.agent_id,onChange:N=>g({...m,agent_id:N.target.value}),style:{...C,width:"100%",opacity:t?.7:1}},!t&&re.default.createElement("option",{value:""},"Select agent\u2026"),i.map(N=>re.default.createElement("option",{key:N.id,value:N.id},N.name)))),re.default.createElement("div",null,re.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-1",style:{color:j.textMuted}},"Name"),re.default.createElement("input",{required:!0,type:"text",value:m.name,onChange:N=>g({...m,name:N.target.value}),placeholder:"Response Quality",style:{...C,width:"100%"}})),re.default.createElement("div",null,re.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-1",style:{color:j.textMuted}},"Sample size"),re.default.createElement("input",{type:"number",min:"1",max:"100",value:m.sample_size,onChange:N=>g({...m,sample_size:N.target.value}),style:{...C,width:"100%"}}))),re.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},re.default.createElement("div",null,re.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-1",style:{color:j.textMuted}},"KPI definition"),re.default.createElement("select",{value:m.judgeKind,onChange:N=>g({...m,judgeKind:N.target.value}),style:{...C,width:"100%"}},re.default.createElement("option",{value:"manual"},"Manual criteria"),re.default.createElement("option",{value:"judge_defined"},"Judge defines KPIs from agent goals"))),re.default.createElement("div",null,re.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-1",style:{color:j.textMuted}},"Judge model (optional)"),re.default.createElement("input",{type:"text",value:m.judgeModel,onChange:N=>g({...m,judgeModel:N.target.value}),placeholder:"e.g. claude-opus-5",style:{...C,width:"100%"}})),re.default.createElement("div",null,re.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-1",style:{color:j.textMuted}},"Compare models (optional, comma-separated)"),re.default.createElement("input",{type:"text",value:m.compareModels,onChange:N=>g({...m,compareModels:N.target.value}),placeholder:"e.g. claude-haiku-4-5, qwen3:8b",style:{...C,width:"100%"}}))),m.judgeKind==="judge_defined"&&re.default.createElement("p",{className:"text-xs",style:{color:j.textSecondary}},"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."),m.judgeKind!=="judge_defined"&&re.default.createElement(re.default.Fragment,null,re.default.createElement("div",null,re.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-2",style:{color:j.textMuted}},"Rule-based criteria (sampled generations)"),re.default.createElement("div",{className:"flex flex-wrap gap-3"},zS.map(N=>re.default.createElement("label",{key:N.key,className:"flex items-center gap-2 text-sm",style:{color:j.textPrimary}},re.default.createElement("input",{type:"checkbox",checked:m.criteria.includes(N.key),onChange:T=>g({...m,criteria:T.target.checked?[...m.criteria,N.key]:m.criteria.filter(H=>H!==N.key)})}),N.label)))),re.default.createElement("div",null,re.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-2",style:{color:j.textMuted}},"Telemetry criteria (trace aggregates)"),re.default.createElement("div",{className:"flex flex-wrap gap-3"},LS.map(N=>re.default.createElement("label",{key:N.key,className:"flex items-center gap-2 text-sm",style:{color:j.textPrimary}},re.default.createElement("input",{type:"checkbox",checked:m.criteria.includes(N.key),onChange:T=>g({...m,criteria:T.target.checked?[...m.criteria,N.key]:m.criteria.filter(H=>H!==N.key)})}),N.label)))),re.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},re.default.createElement("div",null,re.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-1",style:{color:j.textMuted}},"Must contain (optional pattern)"),re.default.createElement("input",{type:"text",value:m.containsPattern,onChange:N=>g({...m,containsPattern:N.target.value}),placeholder:"e.g. password reset",style:{...C,width:"100%"}})),re.default.createElement("div",null,re.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-1",style:{color:j.textMuted}},"LLM judge criterion (optional, needs provider credentials)"),re.default.createElement("input",{type:"text",value:m.llmJudgePrompt,onChange:N=>g({...m,llmJudgePrompt:N.target.value}),placeholder:"e.g. Is the answer helpful and accurate?",style:{...C,width:"100%"}})))),x&&re.default.createElement("div",{className:"text-sm text-red-500"},x),re.default.createElement("button",{type:"submit",disabled:k,className:"px-4 py-2 bg-red-500 text-white rounded-lg text-sm font-medium hover:bg-red-600 transition-colors disabled:opacity-50"},k?"Creating & running\u2026":"Create & Run")),re.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},re.default.createElement("div",{className:"rounded-xl p-5 border shadow-sm",style:{backgroundColor:j.cardBg,borderColor:j.cardBorder}},re.default.createElement("div",{className:"text-sm mb-1",style:{color:j.textSecondary}},"Total Evaluations"),re.default.createElement("div",{className:"text-3xl font-bold",style:{color:j.textPrimary}},X.length)),re.default.createElement("div",{className:"rounded-xl p-5 border shadow-sm",style:{backgroundColor:j.cardBg,borderColor:j.cardBorder}},re.default.createElement("div",{className:"text-sm mb-1",style:{color:j.textSecondary}},"Average Score"),re.default.createElement("div",{className:"text-3xl font-bold",style:{color:Q==null?j.textMuted:z[bg(Q)]}},Q==null?"\u2014":`${(Q*100).toFixed(0)}%`)),re.default.createElement("div",{className:"rounded-xl p-5 border shadow-sm",style:{backgroundColor:j.cardBg,borderColor:j.cardBorder}},re.default.createElement("div",{className:"text-sm mb-1",style:{color:j.textSecondary}},"Samples Evaluated"),re.default.createElement("div",{className:"text-3xl font-bold",style:{color:j.textPrimary}},y))),re.default.createElement("div",{className:"space-y-4"},X.map(N=>{let T=N.latest_run,H=d===N.id,Y=(N.criteria||[]).some(J=>LS.some(fe=>fe.key===J.key));return re.default.createElement("div",{key:N.id,"data-testid":"evaluation-card","data-telemetry":Y?"true":"false",className:"rounded-xl border shadow-sm overflow-hidden",style:{backgroundColor:j.cardBg,borderColor:j.cardBorder}},re.default.createElement("div",{className:"flex items-center justify-between p-4 cursor-pointer",onClick:()=>f(H?null:N.id)},re.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},re.default.createElement("span",{className:"px-2 py-1 text-xs font-medium bg-purple-100 text-purple-700 rounded flex-shrink-0"},"EVALUATION"),re.default.createElement("span",{className:"font-medium truncate",style:{color:j.textPrimary}},N.name),re.default.createElement("span",{className:"text-sm truncate",style:{color:j.textSecondary}},N.agent?.name)),re.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0 text-sm",style:{color:j.textSecondary}},T?.status==="failed"&&re.default.createElement("span",{className:"text-red-500"},"failed"),T?.status==="complete"&&T.average_score!=null&&re.default.createElement("span",{style:{color:z[bg(T.average_score)],fontWeight:600}},(T.average_score*100).toFixed(0),"%"),re.default.createElement("span",{style:{color:j.textMuted}},UZ(T?.completed_at||N.created_at)))),H&&re.default.createElement("div",{className:"border-t",style:{borderColor:j.cardBorder}},T?.status==="failed"?re.default.createElement("div",{className:"p-4 text-sm text-red-500"},T.error_message):T?.scores?re.default.createElement("div",{className:"p-4 space-y-3"},T.scores._verdict&&re.default.createElement("div",{className:"p-3 rounded-lg text-sm",style:{background:r?"rgba(34,197,94,0.1)":"#f0fdf4"}},re.default.createElement("span",{className:"font-semibold",style:{color:"#16a34a"}},"Winner: ",T.scores._verdict.winner),re.default.createElement("span",{className:"ml-2",style:{color:j.textSecondary}},T.scores._verdict.rationale),re.default.createElement("span",{className:"ml-2 text-xs",style:{color:j.textMuted}},"judged by ",T.scores._verdict.judge)),T.scores._missing_models&&re.default.createElement("div",{className:"text-xs italic",style:{color:j.textMuted}},"No recorded generations for: ",T.scores._missing_models.join(", ")," \u2014 run the agent under those models first"),Object.entries(T.scores).filter(([J])=>!J.startsWith("_")).map(([J,fe])=>O(fe)?re.default.createElement("div",{key:J,className:"space-y-1"},re.default.createElement("div",{className:"text-sm",style:{color:j.textSecondary}},J.replace(/_/g," ")),Object.entries(fe).map(([pe,ge])=>D(pe,ge,{indent:!0,mono:!0}))):D(J,fe))):re.default.createElement("div",{className:"p-4 text-sm",style:{color:j.textMuted}},"No runs yet"),re.default.createElement("div",{className:"p-4 grid grid-cols-2 md:grid-cols-5 gap-4 text-sm",style:{background:j.innerBg}},re.default.createElement("div",null,re.default.createElement("div",{style:{color:j.textMuted}},"Judge"),re.default.createElement("div",{className:"font-medium",style:{color:j.textPrimary}},N.judge_kind==="judge_defined"?`Judge-defined KPIs${N.judge_model?` (${N.judge_model})`:""}`:N.judge_kind==="llm"?N.judge_model||"LLM judge":"Rule-based")),re.default.createElement("div",{className:"col-span-2"},re.default.createElement("div",{style:{color:j.textMuted}},"Criteria"),re.default.createElement("div",{className:"font-medium truncate",style:{color:j.textPrimary}},(N.criteria||[]).map(J=>J.key).join(", "))),re.default.createElement("div",null,re.default.createElement("div",{style:{color:j.textMuted}},"Samples"),re.default.createElement("div",{className:"font-medium",style:{color:j.textPrimary}},T?`${T.samples_passed} / ${T.samples_evaluated} passed`:"\u2014")),re.default.createElement("div",{className:"flex items-end justify-end"},re.default.createElement("button",{onClick:J=>{J.stopPropagation(),I(N.id)},disabled:h===N.id,className:"px-3 py-1.5 text-sm bg-gray-100 text-gray-700 rounded-lg hover:bg-gray-200 transition-colors disabled:opacity-50"},h===N.id?"Running\u2026":"Run again")))))})),X.length===0&&!p&&re.default.createElement("div",{className:"text-center py-12 rounded-xl border",style:{backgroundColor:j.cardBg,borderColor:j.cardBorder}},re.default.createElement("div",{className:"text-lg",style:{color:j.textMuted}},"No evaluations yet"),re.default.createElement("p",{className:"text-sm mt-2",style:{color:j.textSecondary}},"Create an evaluation to start scoring agent outputs")))}var me=ee(ne());var $Z=[{id:"overview",label:"Overview"},{id:"traces",label:"Traces"},{id:"interactions",label:"Interactions"}];function BS({agent:e,onBack:t,embedded:r=!1}){let{darkMode:n}=mt(),a=Ys(n),[i,o]=(0,me.useState)(null),[l,s]=(0,me.useState)(!0),{timeWindow:u,days:c}=Ba(),[d,f]=(0,me.useState)("overview"),p=e.telemetry_agent_class||(()=>{let A=e.agent_class_name||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(k,_)=>_.toUpperCase()).replace(/^./,k=>k.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return A.endsWith("Agent")?A:`${A}Agent`})();(0,me.useEffect)(()=>{v()},[e?.id,c]);let v=async()=>{if(e?.id){s(!0);try{let k=await(await fetch(`/api/agents/${e.id}/analytics?days=${c}`)).json();o(k)}catch(A){console.error("Failed to load analytics:",A)}finally{s(!1)}}},h=A=>A?A<1e3?`${A}ms`:`${(A/1e3).toFixed(2)}s`:"-",b=A=>A?A>=1e6?`${(A/1e6).toFixed(1)}M`:A>=1e3?`${(A/1e3).toFixed(1)}K`:A.toString():"0",m=A=>{switch(A){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&&!i)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"}));let g=i?.runs_by_day?.length>0?Math.max(...i.runs_by_day.map(A=>A.count)):1,x=r?"overview":d;return me.default.createElement("div",{className:"space-y-6"},r?me.default.createElement("div",{className:"flex items-center justify-end gap-2"},u.minutes<1440&&me.default.createElement("span",{className:"text-xs",style:{color:a.textMuted},title:"This view aggregates by day"},"showing 1 day"),me.default.createElement(Ua,null)):me.default.createElement("div",{className:"flex items-center justify-between"},me.default.createElement("div",{className:"flex items-center space-x-4"},me.default.createElement("button",{onClick:t,className:"p-2 transition-colors",style:{color:a.textMuted}},me.default.createElement("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},me.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"}))),me.default.createElement("div",null,me.default.createElement("h1",{className:"text-2xl font-bold",style:{color:a.textPrimary}},e.name," Analytics"),me.default.createElement("p",{className:"text-sm",style:{color:a.textSecondary}},"Performance metrics and usage data"))),me.default.createElement("div",{className:"flex items-center gap-2"},u.minutes<1440&&me.default.createElement("span",{className:"text-xs",style:{color:a.textMuted},title:"This view aggregates by day"},"showing 1 day"),me.default.createElement(Ua,null))),!r&&me.default.createElement("div",{className:"flex rounded-lg p-1 w-fit",style:{background:a.mutedBg}},$Z.map(A=>me.default.createElement("button",{key:A.id,onClick:()=>f(A.id),className:`px-4 py-1.5 text-sm rounded-md transition-colors ${d===A.id?"shadow":""}`,style:d===A.id?{background:a.cardBg,color:a.textPrimary}:{color:a.textSecondary}},A.label))),x==="traces"&&me.default.createElement(Kl,{agentClass:p,embedded:!0}),x==="interactions"&&me.default.createElement(Di,{agentId:e.id,embedded:!0}),x==="overview"&&me.default.createElement(me.default.Fragment,null,me.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4"},me.default.createElement(wg,{title:"Total Runs",value:i?.summary?.total_runs||0,icon:me.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},me.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})),color:"rose",colors:a,darkMode:n}),me.default.createElement(wg,{title:"Success Rate",value:`${i?.summary?.success_rate||0}%`,icon:me.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},me.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:a,darkMode:n}),me.default.createElement(wg,{title:"Avg Duration",value:h(i?.summary?.avg_duration_ms),icon:me.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},me.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:a,darkMode:n}),me.default.createElement(wg,{title:"Total Tokens",value:b(i?.summary?.total_tokens),icon:me.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},me.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:a,darkMode:n})),me.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6"},me.default.createElement("div",{className:"lg:col-span-2 rounded-xl border p-6",style:{background:a.cardBg,borderColor:a.cardBorder}},me.default.createElement("h3",{className:"font-semibold mb-4",style:{color:a.textPrimary}},"Runs Over Time"),i?.runs_by_day?.length>0?me.default.createElement("div",{className:"h-48"},me.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},i.runs_by_day.map((A,k)=>me.default.createElement("div",{key:A.date,className:"flex-1 flex flex-col items-center group"},me.default.createElement("div",{className:"relative w-full"},me.default.createElement("div",{className:"w-full bg-red-500 rounded-t transition-all hover:bg-red-600",style:{height:`${A.count/g*150}px`,minHeight:A.count>0?"4px":"0"}}),me.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"},A.count," runs")),(k===0||k===i.runs_by_day.length-1||i.runs_by_day.length<=7)&&me.default.createElement("span",{className:"text-xs mt-2 transform -rotate-45 origin-left",style:{color:a.textMuted}},new Date(A.date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))))):me.default.createElement("div",{className:"h-48 flex items-center justify-center",style:{color:a.textMuted}},"No data for this period")),me.default.createElement("div",{className:"rounded-xl border p-6",style:{background:a.cardBg,borderColor:a.cardBorder}},me.default.createElement("h3",{className:"font-semibold mb-4",style:{color:a.textPrimary}},"Status Breakdown"),Object.keys(i?.status_breakdown||{}).length>0?me.default.createElement("div",{className:"space-y-3"},Object.entries(i.status_breakdown).map(([A,k])=>{let _=i?.summary?.total_runs||1,M=(k/_*100).toFixed(1);return me.default.createElement("div",{key:A},me.default.createElement("div",{className:"flex justify-between text-sm mb-1"},me.default.createElement("span",{className:"capitalize",style:{color:a.textSecondary}},A),me.default.createElement("span",{className:"font-medium",style:{color:a.textPrimary}},k," (",M,"%)")),me.default.createElement("div",{className:"h-2 rounded-full overflow-hidden",style:{background:a.trackBg}},me.default.createElement("div",{className:`h-full ${m(A)} rounded-full transition-all`,style:{width:`${M}%`}})))})):me.default.createElement("div",{className:"h-32 flex items-center justify-center",style:{color:a.textMuted}},"No runs yet"))),i?.recent_errors?.length>0&&me.default.createElement("div",{className:"rounded-xl border p-6",style:{background:a.cardBg,borderColor:a.cardBorder}},me.default.createElement("h3",{className:"font-semibold mb-4",style:{color:a.textPrimary}},"Recent Errors"),me.default.createElement("div",{className:"space-y-3"},i.recent_errors.map(A=>me.default.createElement("div",{key:A.id,className:"flex items-start space-x-3 p-3 rounded-lg",style:{background:n?"rgba(220,38,38,0.12)":"#fef2f2"}},me.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"},me.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"})),me.default.createElement("div",{className:"flex-1 min-w-0"},me.default.createElement("p",{className:"text-sm",style:{color:n?"#fca5a5":"#991b1b"}},A.error||"Unknown error"),me.default.createElement("p",{className:"text-xs mt-1",style:{color:n?"#f87171":"#dc2626"}},new Date(A.created_at).toLocaleString())))))),me.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4"},me.default.createElement("div",{className:"rounded-lg p-4",style:{background:a.innerBg}},me.default.createElement("p",{className:"text-sm",style:{color:a.textSecondary}},"Completed Runs"),me.default.createElement("p",{className:"text-2xl font-bold",style:{color:a.textPrimary}},i?.summary?.completed_runs||0)),me.default.createElement("div",{className:"rounded-lg p-4",style:{background:a.innerBg}},me.default.createElement("p",{className:"text-sm",style:{color:a.textSecondary}},"Failed Runs"),me.default.createElement("p",{className:"text-2xl font-bold",style:{color:a.textPrimary}},i?.summary?.failed_runs||0)),me.default.createElement("div",{className:"rounded-lg p-4",style:{background:a.innerBg}},me.default.createElement("p",{className:"text-sm",style:{color:a.textSecondary}},"Avg Tokens/Run"),me.default.createElement("p",{className:"text-2xl font-bold",style:{color:a.textPrimary}},b(i?.summary?.avg_tokens_per_run))),me.default.createElement("div",{className:"rounded-lg p-4",style:{background:a.innerBg}},me.default.createElement("p",{className:"text-sm",style:{color:a.textSecondary}},"Period"),me.default.createElement("p",{className:"text-2xl font-bold",style:{color:a.textPrimary}},i?.period_days||30," days")))))}var ej={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 wg({title:e,value:t,icon:r,color:n,colors:a,darkMode:i}){let[o,l,s]=ej[n]||ej.rose;return me.default.createElement("div",{className:"rounded-xl border p-4",style:{background:a.cardBg,borderColor:a.cardBorder}},me.default.createElement("div",{className:"flex items-center justify-between"},me.default.createElement("div",null,me.default.createElement("p",{className:"text-sm",style:{color:a.textSecondary}},e),me.default.createElement("p",{className:"text-2xl font-bold mt-1",style:{color:a.textPrimary}},t)),me.default.createElement("div",{className:"p-3 rounded-lg",style:{background:i?l:s,color:o}},r)))}var HZ=[{id:"config",label:"Configuration"},{id:"instructions",label:"Instructions"},{id:"tools",label:"Tools"},{id:"versions",label:"Versions"},{id:"code",label:"Code"}],nj=[{id:"traces",label:"Traces"},{id:"metrics",label:"Metrics"},{id:"interactions",label:"Interactions"},{id:"evals",label:"Evals"},{id:"feedback",label:"Feedback"}],VZ=nj.map(e=>e.id),tj={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"]}},FZ={active:"success",draft:"warning",archived:"neutral",failed:"error",trial:"info"};function US({tone:e="neutral",mono:t=!1,darkMode:r,children:n}){let[a,i]=(tj[e]||tj.neutral)[r?"dark":"light"];return K.default.createElement("span",{style:{background:a,color:i,borderRadius:"999px",padding:"2px 8px",fontSize:"11px",fontWeight:600,fontFamily:t?Oe.mono:void 0,whiteSpace:"nowrap"}},n)}function Gl({variant:e="secondary",size:t="md",onClick:r,disabled:n,colors:a,children:i}){let l={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"},s={primary:{background:n?a.mutedBg:sa,color:n?a.textMuted:"#ffffff",border:"1px solid transparent"},secondary:{background:"transparent",color:a.textCell,border:`1px solid ${a.inputBorder}`},danger:{background:"transparent",color:"#dc2626",border:"1px solid rgba(220,38,38,0.4)"}};return K.default.createElement("button",{type:"button",onClick:r,disabled:n,style:{...l,...s[e]||s.secondary}},i)}function rj({tabs:e,active:t,onChange:r,colors:n}){return K.default.createElement("div",{style:{display:"flex",alignItems:"center"}},e.map(a=>{let i=t===a.id;return K.default.createElement("button",{key:a.id,type:"button",onClick:()=>r(a.id),style:{padding:"10px 12px",marginBottom:"-1px",background:"none",border:"none",borderBottom:`2px solid ${i?sa:"transparent"}`,color:i?sa:n.textSecondary,fontSize:"13px",fontWeight:i?600:500,cursor:"pointer",whiteSpace:"nowrap"}},a.label)}))}function Sg({agent:e,meta:t,onSave:r,onDelete:n,onRun:a,onDuplicate:i,onRunReport:o,onBack:l,isLoading:s,initialTab:u}){let{darkMode:c}=mt(),d=Ys(c),[f,p]=(0,K.useState)(u||"config"),[v,h]=(0,K.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"}),[b,m]=(0,K.useState)([]),[g,x]=(0,K.useState)(!1),[A,k]=(0,K.useState)(""),[_,M]=(0,K.useState)(qs),E=e.telemetry_agent_class||e.telemetryAgentClass||(()=>{let Q=e.agent_class_name||e.agentClassName||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(y,C)=>C.toUpperCase()).replace(/^./,y=>y.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return Q.endsWith("Agent")?Q:`${Q}Agent`})();(0,K.useEffect)(()=>{let Q=!1;return Mm(v.provider).then(y=>{Q||y.length===0||M(C=>({...C,[v.provider]:y}))}),()=>{Q=!0}},[v.provider]),(0,K.useEffect)(()=>{let Q=JSON.stringify(v)!==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"});x(Q)},[v,e]),(0,K.useEffect)(()=>{f==="versions"?L():f==="code"&&I()},[f]);let L=async()=>{try{let y=await(await fetch(`/api/agents/${e.id}/versions`)).json();m(y.versions)}catch(Q){console.error("Failed to load versions:",Q)}},I=async()=>{try{let y=await(await fetch(`/api/agents/${e.id}/export`)).json();k(y.code)}catch(Q){console.error("Failed to load code preview:",Q)}},j=(Q,y)=>{h(C=>({...C,[Q]:y}))},z=(Q,y)=>{h(C=>{let O=C[Q]||[],D=O.includes(y)?O.filter(N=>N!==y):[...O,y];return{...C,[Q]:D}})},X=()=>{r(v)},R=VZ.includes(f);return K.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},K.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:"12px"}},K.default.createElement("button",{type:"button",onClick:l,title:"Back to agents",style:{fontFamily:Oe.mono,fontSize:"13px",color:d.textSecondary,background:"none",border:"none",cursor:"pointer",padding:"4px 2px",marginTop:"10px"}},"<-"),K.default.createElement(Mt,{size:44}),K.default.createElement("div",{style:{flex:1,minWidth:0}},K.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexWrap:"wrap"}},K.default.createElement("h1",{style:{fontSize:"20px",fontWeight:700,color:d.textPrimary,margin:0}},v.name||"Untitled agent"),K.default.createElement(US,{tone:FZ[v.status]||"neutral",darkMode:c},v.status),g&&K.default.createElement(US,{tone:"info",darkMode:c},"unsaved")),K.default.createElement("p",{style:{fontSize:"13px",color:d.textSecondary,margin:"4px 0 0"}},v.description||"No description")),K.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexShrink:0}},i&&K.default.createElement(Gl,{variant:"secondary",colors:d,onClick:i},"Duplicate"),K.default.createElement(Gl,{variant:"primary",colors:d,onClick:a},"Run Agent"))),K.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"20px",borderBottom:`1px solid ${d.cardBorder}`,overflowX:"auto"}},K.default.createElement(rj,{tabs:HZ,active:f,onChange:p,colors:d}),K.default.createElement("div",{style:{width:"1px",height:"18px",background:d.borderStrong,flexShrink:0}}),K.default.createElement(rj,{tabs:nj,active:f,onChange:p,colors:d})),R?K.default.createElement("div",null,f==="traces"&&K.default.createElement(Kl,{agentClass:E,embedded:!0}),f==="metrics"&&K.default.createElement(BS,{agent:e,embedded:!0}),f==="interactions"&&K.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},o&&K.default.createElement("div",{style:{display:"flex",justifyContent:"flex-end"}},K.default.createElement("button",{type:"button",onClick:o,style:{background:"none",border:"none",cursor:"pointer",fontFamily:Oe.mono,fontSize:"11px",color:"#3b82f6"}},"run report ->")),K.default.createElement(Di,{agentId:e.id,embedded:!0})),f==="evals"&&K.default.createElement(qf,{embedded:!0,agentId:e.id}),f==="feedback"&&K.default.createElement(XZ,{colors:d})):K.default.createElement("div",{style:{background:d.cardBg,border:`1px solid ${d.cardBorder}`,borderRadius:"12px",padding:"20px"}},f==="config"&&K.default.createElement(qZ,{formData:v,updateField:j,providerModels:_,colors:d,darkMode:c,onDelete:n}),f==="instructions"&&K.default.createElement(YZ,{formData:v,updateField:j,meta:t,toggleArrayItem:z,colors:d}),f==="tools"&&K.default.createElement(WZ,{formData:v,meta:t,toggleArrayItem:z,colors:d}),f==="versions"&&K.default.createElement(KZ,{versions:b,agentId:e.id,onRestore:L,colors:d,darkMode:c}),f==="code"&&K.default.createElement(GZ,{code:A,colors:d})),g&&K.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)"}},K.default.createElement("span",{style:{fontSize:"13px",color:d.textSecondary}},"Unsaved changes"),K.default.createElement("div",{style:{display:"flex",gap:"8px"}},K.default.createElement(Gl,{variant:"primary",size:"sm",colors:d,onClick:X,disabled:s},s?"Saving\u2026":"Save Changes"))))}var $a=e=>({display:"block",fontSize:"13px",fontWeight:500,color:e.textCell,marginBottom:"6px"}),Pi=e=>({width:"100%",padding:"8px 12px",borderRadius:"8px",border:`1px solid ${e.inputBorder}`,background:e.inputBg,color:e.textPrimary,fontFamily:"inherit",fontSize:"13px"}),aj=e=>({fontFamily:Oe.mono,fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:e.textSecondary});function qZ({formData:e,updateField:t,providerModels:r,colors:n,darkMode:a,onDelete:i}){return K.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},K.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},K.default.createElement("div",null,K.default.createElement("label",{style:$a(n)},"Agent Name"),K.default.createElement("input",{type:"text",value:e.name,onChange:o=>t("name",o.target.value),className:"aa-field",style:Pi(n)})),K.default.createElement("div",null,K.default.createElement("label",{style:$a(n)},"Preset Type"),K.default.createElement("select",{value:e.preset_type,onChange:o=>t("preset_type",o.target.value),className:"aa-field",style:Pi(n)},Object.keys(Vs).map(o=>K.default.createElement("option",{key:o,value:o},o))))),K.default.createElement("div",null,K.default.createElement("label",{style:$a(n)},"Description"),K.default.createElement("textarea",{value:e.description,onChange:o=>t("description",o.target.value),rows:3,className:"aa-field",style:{...Pi(n),resize:"vertical"}})),K.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},K.default.createElement("div",null,K.default.createElement("label",{style:$a(n)},"Provider"),K.default.createElement("select",{value:e.provider,onChange:o=>{t("provider",o.target.value),t("model",r[o.target.value][0])},className:"aa-field",style:Pi(n)},Object.keys(r).map(o=>K.default.createElement("option",{key:o,value:o},o.charAt(0).toUpperCase()+o.slice(1))))),K.default.createElement("div",null,K.default.createElement("label",{style:$a(n)},"Model"),K.default.createElement("select",{value:e.model,onChange:o=>t("model",o.target.value),className:"aa-field",style:{...Pi(n),fontFamily:Oe.mono}},(r[e.provider]?.includes(e.model)?r[e.provider]:[e.model,...r[e.provider]||[]]).filter(Boolean).map(o=>K.default.createElement("option",{key:o,value:o},o))))),K.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},K.default.createElement("div",null,K.default.createElement("label",{style:$a(n)},"Temperature"," ",K.default.createElement("span",{style:{fontFamily:Oe.mono,color:n.textSecondary}},e.model_config.temperature)),K.default.createElement("input",{type:"range",min:"0",max:"1",step:"0.1",value:e.model_config.temperature,onChange:o=>t("model_config",{...e.model_config,temperature:parseFloat(o.target.value)}),style:{width:"100%",accentColor:sa}})),K.default.createElement("div",null,K.default.createElement("label",{style:$a(n)},"Status"),K.default.createElement("select",{value:e.status,onChange:o=>t("status",o.target.value),className:"aa-field",style:Pi(n)},K.default.createElement("option",{value:"draft"},"Draft"),K.default.createElement("option",{value:"active"},"Active"),K.default.createElement("option",{value:"archived"},"Archived")))),i&&K.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px",borderTop:`1px solid ${n.cardBorder}`,paddingTop:"16px"}},K.default.createElement("div",null,K.default.createElement("div",{style:aj(n)},"Danger zone"),K.default.createElement("p",{style:{fontSize:"13px",color:n.textMuted,margin:"4px 0 0"}},"Deleting an agent removes its configuration and version history.")),K.default.createElement(Gl,{variant:"danger",size:"sm",colors:n,onClick:i},"Delete Agent")))}function YZ({formData:e,updateField:t,meta:r,toggleArrayItem:n,colors:a}){let i=e.action_prompts||[],o=(u,c)=>{t("action_prompts",i.map((d,f)=>f===u?{...d,...c}:d))},l=()=>{t("action_prompts",[...i,{name:"",prompt:"",expose_as_tool:!1}])},s=u=>{t("action_prompts",i.filter((c,d)=>d!==u))};return K.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},K.default.createElement("div",null,K.default.createElement("label",{style:$a(a)},"System Instructions"),K.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:{...Pi(a),fontFamily:Oe.mono,resize:"vertical"}})),K.default.createElement("div",null,K.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"6px"}},K.default.createElement("label",{style:{...$a(a),marginBottom:0}},"Action Prompts"),K.default.createElement(Gl,{variant:"secondary",size:"sm",colors:a,onClick:l},"+ Add action")),K.default.createElement("p",{style:{fontSize:"12px",color:a.textMuted,margin:"0 0 12px"}},"Named actions run with their prompt stacked below the system instructions. The default ",K.default.createElement("span",{style:{fontFamily:Oe.mono}},"#ask")," action uses the system instructions alone."),i.length>0&&K.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},i.map((u,c)=>K.default.createElement("div",{key:c,style:{border:`1px solid ${a.cardBorder}`,borderRadius:"10px",padding:"12px",display:"flex",flexDirection:"column",gap:"8px"}},K.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},K.default.createElement("span",{style:{fontFamily:Oe.mono,fontSize:"13px",color:a.textMuted}},"#"),K.default.createElement("input",{type:"text",value:u.name,onChange:d=>o(c,{name:d.target.value.toLowerCase().replace(/[^a-z0-9_]/g,"_")}),placeholder:"action_name",className:"aa-field",style:{...Pi(a),flex:1,padding:"6px 10px",fontFamily:Oe.mono}}),K.default.createElement("label",{style:{display:"flex",alignItems:"center",gap:"6px",fontSize:"12px",color:a.textSecondary,whiteSpace:"nowrap"}},K.default.createElement("input",{type:"checkbox",checked:!!u.expose_as_tool,onChange:d=>o(c,{expose_as_tool:d.target.checked}),style:{accentColor:sa}}),"Expose as tool"),K.default.createElement("button",{type:"button",onClick:()=>s(c),title:"Remove action",style:{fontFamily:Oe.mono,fontSize:"12px",color:a.textMuted,background:"none",border:"none",cursor:"pointer",padding:"4px"}},"[x]")),K.default.createElement("textarea",{value:u.prompt,onChange:d=>o(c,{prompt:d.target.value}),placeholder:"This action's system prompt, applied on top of the base instructions...",rows:4,className:"aa-field",style:{...Pi(a),fontFamily:Oe.mono,resize:"vertical"}}))))),K.default.createElement("div",null,K.default.createElement("label",{style:$a(a)},"Instruction Sets"),K.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px"}},r.instructionSets?.map(u=>{let c=e.instruction_sets.includes(u);return K.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?sa:a.inputBorder}`,background:c?sa:"transparent",color:c?"#ffffff":a.textCell}},u)}))))}function WZ({formData:e,meta:t,toggleArrayItem:r,colors:n}){let a=i=>({terminal:"$",playwright:">",filesystem:"/",code:"<>",database:"#",slack:"@",fetch:"~",search:"?",edit:"*",translate:"[]",memory:"M"})[i]||"[]";return K.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},K.default.createElement("p",{style:{fontSize:"13px",color:n.textSecondary,margin:0}},"Select the tools your agent can use."),K.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(140px, 1fr))",gap:"12px"}},t.availableTools?.map(i=>{let o=e.tools.includes(i);return K.default.createElement("button",{key:i,type:"button",onClick:()=>r("tools",i),style:{padding:"14px",borderRadius:"12px",textAlign:"center",cursor:"pointer",border:`1px solid ${o?sa:n.cardBorder}`,background:o?"rgba(239,68,68,0.08)":"transparent",color:o?sa:n.textCell}},K.default.createElement("span",{style:{display:"block",fontFamily:Oe.mono,fontSize:"20px",marginBottom:"6px"}},a(i)),K.default.createElement("span",{style:{fontSize:"13px",fontWeight:500,textTransform:"capitalize"}},i))})),e.tools.length>0&&K.default.createElement("div",{style:{background:n.innerBg,borderRadius:"10px",padding:"14px"}},K.default.createElement("div",{style:{...aj(n),marginBottom:"10px"}},"Selected tools \xB7 ",e.tools.length),K.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px"}},e.tools.map(i=>K.default.createElement("span",{key:i,style:{fontFamily:Oe.mono,fontSize:"11px",padding:"3px 8px",borderRadius:"6px",border:`1px solid ${n.inputBorder}`,color:n.textCell}},a(i)," ",i)))))}function KZ({versions:e,agentId:t,onRestore:r,colors:n,darkMode:a}){let i=async o=>{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:o})}),r()}catch(l){console.error("Failed to restore version:",l)}};return K.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},K.default.createElement("p",{style:{fontSize:"13px",color:n.textSecondary,margin:0}},"View and restore previous versions of this agent."),e.length>0?K.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"10px"}},e.map(o=>{let l=o.is_latest||o.isLatest;return K.default.createElement("div",{key:o.id,style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"12px",padding:"14px",borderRadius:"10px",border:`1px solid ${l?sa:n.cardBorder}`,background:l?"rgba(239,68,68,0.06)":"transparent"}},K.default.createElement("div",{style:{minWidth:0}},K.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},K.default.createElement("span",{style:{fontFamily:Oe.mono,fontSize:"13px",fontWeight:600,color:n.textPrimary}},"v",o.version_number||o.versionNumber),l&&K.default.createElement(US,{tone:"error",darkMode:a},"current")),K.default.createElement("p",{style:{fontSize:"13px",color:n.textCell,margin:"4px 0 0"}},o.change_summary||o.changeSummary),K.default.createElement("p",{style:{fontFamily:Oe.mono,fontSize:"11px",color:n.textMuted,margin:"4px 0 0"}},new Date(o.created_at||o.createdAt).toLocaleString())),!l&&K.default.createElement(Gl,{variant:"secondary",size:"sm",colors:n,onClick:()=>i(o.id)},"Restore"))})):K.default.createElement(ij,{colors:n,glyph:"[#]",title:"No version history",hint:"Saving a change records a new version."}))}function GZ({code:e,colors:t}){let r=()=>{navigator.clipboard.writeText(e)};return K.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},K.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},K.default.createElement("p",{style:{fontSize:"13px",color:t.textSecondary,margin:0}},"Generated Ruby code for this agent."),K.default.createElement(Gl,{variant:"secondary",size:"sm",colors:t,onClick:r},"Copy")),K.default.createElement("pre",{style:{padding:"16px",background:"#111827",color:"#e5e7eb",borderRadius:"10px",overflowX:"auto",fontFamily:Oe.mono,fontSize:"12px",lineHeight:1.6,margin:0}},K.default.createElement("code",null,e||"Loading...")))}function XZ({colors:e}){return K.default.createElement("div",{style:{background:e.cardBg,border:`1px solid ${e.cardBorder}`,borderRadius:"12px",padding:"20px"}},K.default.createElement(ij,{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 ij({colors:e,glyph:t,title:r,hint:n}){return K.default.createElement("div",{style:{textAlign:"center",padding:"40px 20px"}},K.default.createElement("div",{style:{fontFamily:Oe.mono,fontSize:"20px",color:e.textMuted}},t),K.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:e.textPrimary,marginTop:"10px"}},r),K.default.createElement("p",{style:{fontSize:"13px",color:e.textMuted,margin:"6px auto 0",maxWidth:"420px"}},n))}var te=ee(ne());async function dc(){let e=window.ACTIVE_AGENT_DASHBOARD?.meta?.upgradeUrl;if(!e)throw new Error("This dashboard has no billing configured.");window.location.href=e}var ZZ={llm:{role:"assistant",label:"LLM"},tool:{role:"tool",label:"Tool"},agent:{role:"developer",label:"Agent"},mcp:{role:"system",label:"MCP"}},QZ=e=>{let t=ZZ[e]||{role:e,label:e};return{...ra(t.role,!1),label:t.label}};function $S({agent:e,onBack:t}){let[r,n]=(0,te.useState)(""),a=["ask",...(e.action_prompts||[]).map(y=>y.name).filter(Boolean)],[i,o]=(0,te.useState)("ask"),[l,s]=(0,te.useState)([]),[u,c]=(0,te.useState)(!1),[d,f]=(0,te.useState)(null),[p,v]=(0,te.useState)(null),[h,b]=(0,te.useState)({}),[m,g]=(0,te.useState)(!1),[x,A]=(0,te.useState)(null),k=(0,te.useRef)(null);(0,te.useEffect)(()=>{_()},[e.id]),(0,te.useEffect)(()=>{k.current&&(k.current.scrollTop=k.current.scrollHeight)},[d?.output]);let _=async()=>{try{let C=await(await fetch(`/api/agents/${e.id}/runs?per_page=10`)).json();s(C.runs)}catch(y){console.error("Failed to load runs:",y)}},M=1200,E=600*1e3,L=async()=>{if(!(!r.trim()||u)){c(!0),f({status:"pending",input_prompt:r,output:"",logs:[],started_at:new Date().toISOString()});try{let y=await fetch(`/api/agents/${e.id}/execute`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:r,action_name:i})}),C=await y.json();if(y.status===402&&C.upgrade_required){v(C.usage),f(T=>({...T,status:"failed",error_message:C.message||"Plan limit reached"}));return}if(!y.ok)throw new Error(C.error||"Run failed");let O=C.run.id,D=Date.now(),N=async()=>{try{let T=await fetch(`/api/runs/${O}`);if(T.ok){let H=await T.json();if(f(H.run),!["pending","running"].includes(H.run.status)){c(!1),_();return}}}catch{}Date.now()-D({...C,status:"failed",error_message:y.message})),c(!1)}}},I=y=>{let C=new Map;return(y?.logs||[]).filter(O=>O.eid).forEach(O=>{let D=C.get(O.eid)||{eid:O.eid};O.status==="started"?Object.assign(D,O,{input:O.detail,output:D.output}):Object.assign(D,O,{input:D.input,output:O.detail}),C.set(O.eid,D)}),[...C.values()]},j=y=>{if(!y)return null;try{return JSON.stringify(JSON.parse(y),null,2)}catch{return y}},z=y=>{y.key==="Enter"&&(y.metaKey||y.ctrlKey)&&L()},X=y=>{switch(y){case"complete":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"pending":return"text-yellow-600 bg-yellow-100";default:return"text-gray-600 bg-gray-100"}},R=y=>y?y<1e3?`${y}ms`:`${(y/1e3).toFixed(2)}s`:"-",Q=async()=>{g(!0),A(null);try{await dc({planSlug:"pro"})}catch(y){A(y.message),g(!1)}};return te.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},te.default.createElement("div",{className:"col-span-2 flex flex-col space-y-4"},p&&te.default.createElement("div",{className:"bg-amber-50 border border-amber-200 rounded-xl p-4 flex items-center justify-between gap-4"},te.default.createElement("div",null,te.default.createElement("p",{className:"font-medium text-amber-900"},"Monthly run limit reached"),te.default.createElement("p",{className:"text-sm text-amber-700 mt-0.5"},"You've used ",p.runs_used," of ",p.runs_limit," runs on the"," ",p.plan||"free"," plan. Upgrade to keep running agents."),x&&te.default.createElement("p",{className:"text-sm text-red-600 mt-1"},x)),te.default.createElement("div",{className:"flex items-center gap-2 flex-shrink-0"},te.default.createElement("a",{href:"/pricing",className:"px-4 py-2 text-sm text-amber-800 hover:text-amber-900"},"See plans"),te.default.createElement("button",{onClick:Q,disabled:m,className:"px-4 py-2 text-sm bg-amber-500 text-white rounded-lg hover:bg-amber-600 transition-colors disabled:opacity-50"},m?"Redirecting\u2026":"Upgrade to Pro"))),te.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},te.default.createElement("div",{className:"flex items-start space-x-4"},te.default.createElement("div",{className:"flex-shrink-0"},te.default.createElement(Mt,{size:50})),te.default.createElement("div",{className:"flex-1"},te.default.createElement("textarea",{value:r,onChange:y=>n(y.target.value),onKeyDown:z,placeholder:"Enter your prompt here... (Cmd+Enter to run)",rows:4,disabled:u,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent resize-none"}),te.default.createElement("div",{className:"flex items-center justify-between mt-3"},te.default.createElement("div",{className:"flex items-center gap-3"},a.length>1&&te.default.createElement("select",{value:i,onChange:y=>o(y.target.value),disabled:u,className:"px-2 py-1 border border-gray-300 rounded-lg text-sm font-mono text-gray-700 focus:ring-2 focus:ring-red-500",title:"Agent action to invoke"},a.map(y=>te.default.createElement("option",{key:y,value:y},"#",y))),te.default.createElement("span",{className:"text-xs text-gray-400"},"Press ",te.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"\u2318")," + ",te.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Enter")," to run")),te.default.createElement("button",{onClick:L,disabled:!r.trim()||u,className:`flex items-center space-x-2 px-6 py-2 rounded-lg transition-colors ${r.trim()&&!u?"bg-emerald-500 text-white hover:bg-emerald-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},u?te.default.createElement(te.default.Fragment,null,te.default.createElement("span",{className:"animate-spin",style:{fontFamily:Oe.mono}},"[~]"),te.default.createElement("span",null,"Running...")):te.default.createElement(te.default.Fragment,null,te.default.createElement("span",{style:{fontFamily:Oe.mono}},"[>]"),te.default.createElement("span",null,"Run"))))))),te.default.createElement("div",{className:"flex-1 bg-white rounded-xl border border-gray-200 flex flex-col overflow-hidden"},te.default.createElement("div",{className:"px-4 py-3 border-b border-gray-200 flex items-center justify-between"},te.default.createElement("h3",{className:"font-medium text-gray-900"},"Output"),d&&te.default.createElement("div",{className:"flex items-center space-x-3 text-sm"},te.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${X(d.status)}`},d.status),d.output_metadata?.model&&te.default.createElement("span",{className:"px-2 py-0.5 rounded bg-indigo-50 text-indigo-700 text-xs font-mono",title:"Model that generated this run"},d.output_metadata.provider,"/",d.output_metadata.model),d.duration_ms&&te.default.createElement("span",{className:"text-gray-400"},R(d.duration_ms)),d.total_tokens&&te.default.createElement("span",{className:"text-gray-400"},d.total_tokens," tokens"),d.trace_id&&te.default.createElement("a",{href:rt(`/traces?trace=${d.trace_id}`),className:"text-gray-400 hover:text-red-500 font-mono text-xs",title:`${d.trace_id} \u2014 open in Traces`},"trace:",d.trace_id.slice(0,8)," \u2192"))),te.default.createElement("div",{ref:k,className:"flex-1 p-4 overflow-auto bg-gray-50 font-mono text-sm"},d?te.default.createElement(te.default.Fragment,null,I(d).length>0&&te.default.createElement("div",{className:"mb-4 space-y-2"},I(d).map(y=>{let C=!!h[y.eid],O=!!(y.input||y.output),D=QZ(y.kind),N=DS(!1);return te.default.createElement("div",{key:y.eid},te.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${O?"cursor-pointer hover:bg-black/5":""}`,onClick:O?()=>b(T=>({...T,[y.eid]:!T[y.eid]})):void 0,title:O?"Click to inspect input/output":void 0,style:C?{background:"rgba(0,0,0,0.03)"}:{}},te.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium flex-shrink-0 mt-0.5",style:{background:D.background,color:D.color,minWidth:"72px",textAlign:"center"}},D.label),te.default.createElement("div",{className:"min-w-0 flex-1"},te.default.createElement("div",{className:"text-sm break-words text-gray-800"},y.label,y.output&&!C&&te.default.createElement("span",{className:"text-gray-400"}," \u201C",y.output.slice(0,160),y.output.length>160?"\u2026":"","\u201D")),te.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap text-gray-400"},y.status==="started"?te.default.createElement("span",{className:"text-blue-500 animate-pulse"},"running\u2026"):te.default.createElement("span",{className:y.status==="error"?"text-red-500":""},y.status==="error"?"failed":"\u2713",y.duration_ms!=null&&` ${R(y.duration_ms)}`),y.at&&te.default.createElement("span",null,new Date(y.at).toLocaleTimeString()))),O&&te.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${C?"rotate-180":""} text-gray-400`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},te.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),C&&te.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:D.color+"55"}},y.input&&te.default.createElement("div",null,te.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1 text-gray-400"},"Input"),te.default.createElement("pre",{style:{...N,whiteSpace:"pre-wrap",maxHeight:"160px",overflowY:"auto"}},j(y.input))),y.output&&te.default.createElement("div",null,te.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1 text-gray-400"},y.status==="error"?"Error":"Result"),te.default.createElement("pre",{style:{...N,whiteSpace:"pre-wrap",maxHeight:"224px",overflowY:"auto",...y.status==="error"?{background:"#fef2f2",color:"#b91c1c"}:{}}},j(y.output)))))})),["pending","running"].includes(d.status)?te.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},te.default.createElement("span",{className:"animate-pulse"},"\u25CF"),te.default.createElement("span",null,I(d).length>0?"Working\u2026":"Starting run\u2026")):d.error_message?te.default.createElement("div",{className:"text-red-600"},te.default.createElement("div",{className:"font-semibold mb-2"},"Error:"),te.default.createElement("pre",{className:"whitespace-pre-wrap"},d.error_message)):te.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},d.output||"No output")):te.default.createElement("div",{className:"text-gray-400 text-center py-12"},"Enter a prompt and click Run to test your agent")))),te.default.createElement("div",{className:"space-y-4"},te.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},te.default.createElement("div",{className:"flex items-center space-x-3 mb-4"},te.default.createElement(Mt,{size:60}),te.default.createElement("div",null,te.default.createElement("h3",{className:"font-semibold text-gray-900"},e.name),te.default.createElement("p",{className:"text-sm text-gray-500"},e.provider," / ",e.model))),te.default.createElement("button",{onClick:t,className:"w-full px-4 py-2 border border-gray-300 rounded-lg text-gray-700 hover:bg-gray-50 transition-colors"},"\u2190 Back to Editor")),te.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},te.default.createElement("h4",{className:"font-medium text-gray-900 mb-3"},"Configuration"),te.default.createElement("dl",{className:"space-y-2 text-sm"},te.default.createElement("div",{className:"flex justify-between"},te.default.createElement("dt",{className:"text-gray-500"},"Temperature"),te.default.createElement("dd",{className:"text-gray-900"},e.modelConfig?.temperature||e.model_config?.temperature||.7)),te.default.createElement("div",{className:"flex justify-between"},te.default.createElement("dt",{className:"text-gray-500"},"Tools"),te.default.createElement("dd",{className:"text-gray-900"},e.tools?.length||0)),te.default.createElement("div",{className:"flex justify-between"},te.default.createElement("dt",{className:"text-gray-500"},"Status"),te.default.createElement("dd",{className:`px-2 py-0.5 rounded text-xs ${e.status==="active"?"bg-green-100 text-green-700":"bg-gray-100 text-gray-600"}`},e.status))),e.instructions&&te.default.createElement("div",{className:"mt-3 pt-3 border-t border-gray-100"},te.default.createElement("div",{className:"text-xs text-gray-500 mb-1.5"},"System Instructions"),te.default.createElement("p",{className:"text-xs text-gray-700 whitespace-pre-wrap max-h-44 overflow-y-auto font-mono leading-relaxed"},e.instructions))),te.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},te.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},te.default.createElement("h4",{className:"font-medium text-gray-900"},"Recent Runs")),te.default.createElement("div",{className:"max-h-64 overflow-auto"},l.length>0?te.default.createElement("div",{className:"divide-y divide-gray-100"},l.map(y=>te.default.createElement("div",{key:y.id,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>f(y)},te.default.createElement("div",{className:"flex items-center justify-between mb-1"},te.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${X(y.status)}`},y.status),te.default.createElement("span",{className:"text-xs text-gray-400"},R(y.duration_ms))),te.default.createElement("p",{className:"text-sm text-gray-600 truncate"},y.input_preview||y.input_prompt?.substring(0,50)),te.default.createElement("p",{className:"text-xs text-gray-400 mt-1 flex items-center gap-2 flex-wrap"},y.model&&te.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},y.model),te.default.createElement("span",null,new Date(y.created_at).toLocaleString()))))):te.default.createElement("div",{className:"px-4 py-8 text-center text-gray-400 text-sm"},"No runs yet"))),te.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},te.default.createElement("h4",{className:"font-medium text-gray-900 mb-3"},"Example Prompts"),te.default.createElement("div",{className:"space-y-2"},["Hello, what can you help me with?","List the files in the current directory","Explain how this code works"].map((y,C)=>te.default.createElement("button",{key:C,onClick:()=>n(y),className:"w-full text-left px-3 py-2 text-sm text-gray-600 hover:bg-gray-50 rounded-lg transition-colors border border-gray-200"},y))))))}var he=ee(ne()),JZ=[{value:7,label:"7 days"},{value:14,label:"14 days"},{value:30,label:"30 days"},{value:90,label:"90 days"}];function HS({onSelectAgent:e}){let[t,r]=(0,he.useState)(null),[n,a]=(0,he.useState)(!0),[i,o]=(0,he.useState)(30);(0,he.useEffect)(()=>{l()},[i]);let l=async()=>{a(!0);try{let p=await(await fetch(`/api/analytics?days=${i}`)).json();r(p)}catch(f){console.error("Failed to load analytics:",f)}finally{a(!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 he.default.createElement("div",{className:"flex items-center justify-center h-64"},he.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 he.default.createElement("div",{className:"space-y-6"},he.default.createElement("div",{className:"flex items-center justify-between"},he.default.createElement("div",null,he.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Analytics Dashboard"),he.default.createElement("p",{className:"text-sm text-gray-500"},"Overview of all your agents' performance")),he.default.createElement("select",{value:i,onChange:f=>o(Number(f.target.value)),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},JZ.map(f=>he.default.createElement("option",{key:f.value,value:f.value},"Last ",f.label)))),he.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-5 gap-4"},he.default.createElement(Yf,{title:"Total Agents",value:t?.summary?.total_agents||0,subtitle:`${t?.summary?.active_agents||0} active`,color:"rose"}),he.default.createElement(Yf,{title:"Total Runs",value:t?.summary?.total_runs||0,subtitle:`${t?.period_days} day period`,color:"blue"}),he.default.createElement(Yf,{title:"Success Rate",value:`${t?.summary?.success_rate||0}%`,subtitle:`${t?.summary?.completed_runs||0} completed`,color:"green"}),he.default.createElement(Yf,{title:"Avg Duration",value:u(t?.summary?.avg_duration_ms),subtitle:"per run",color:"purple"}),he.default.createElement(Yf,{title:"Total Tokens",value:s(t?.summary?.total_tokens),subtitle:`${s(t?.summary?.avg_tokens_per_run)}/run avg`,color:"amber"})),he.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6"},he.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},he.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Runs Over Time"),t?.charts?.runs_by_day?.length>0?he.default.createElement("div",{className:"h-48"},he.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.runs_by_day.map((f,p)=>he.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},he.default.createElement("div",{className:"relative w-full"},he.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"}}),he.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"))))),he.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},he.default.createElement("span",null,t.charts.runs_by_day[0]?.date&&new Date(t.charts.runs_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),he.default.createElement("span",null,t.charts.runs_by_day[t.charts.runs_by_day.length-1]?.date&&new Date(t.charts.runs_by_day[t.charts.runs_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):he.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No runs in this period")),he.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},he.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage Over Time"),t?.charts?.tokens_by_day?.length>0?he.default.createElement("div",{className:"h-48"},he.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.tokens_by_day.map((f,p)=>he.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},he.default.createElement("div",{className:"relative w-full"},he.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"}}),he.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"))))),he.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},he.default.createElement("span",null,t.charts.tokens_by_day[0]?.date&&new Date(t.charts.tokens_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),he.default.createElement("span",null,t.charts.tokens_by_day[t.charts.tokens_by_day.length-1]?.date&&new Date(t.charts.tokens_by_day[t.charts.tokens_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):he.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No token usage in this period"))),he.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6"},he.default.createElement("div",{className:"lg:col-span-2 bg-white rounded-xl border border-gray-200 p-6"},he.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Top Agents"),t?.top_agents?.length>0?he.default.createElement("div",{className:"space-y-3"},t.top_agents.map((f,p)=>he.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"},he.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),he.default.createElement("div",{className:"flex-1 min-w-0"},he.default.createElement("p",{className:"font-medium text-gray-900 truncate"},f.name),he.default.createElement("p",{className:"text-sm text-gray-500"},f.run_count," runs")),he.default.createElement("div",{className:"text-right"},he.default.createElement("p",{className:"font-medium text-gray-900"},s(f.total_tokens)),he.default.createElement("p",{className:"text-xs text-gray-500"},"tokens"))))):he.default.createElement("div",{className:"py-8 text-center text-gray-400"},"No agent activity yet")),he.default.createElement("div",{className:"space-y-6"},he.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},he.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"By Provider"),Object.keys(t?.provider_breakdown||{}).length>0?he.default.createElement("div",{className:"space-y-3"},Object.entries(t.provider_breakdown).map(([f,p])=>{let v=t?.summary?.total_runs||1,h=(p/v*100).toFixed(1);return he.default.createElement("div",{key:f},he.default.createElement("div",{className:"flex justify-between text-sm mb-1"},he.default.createElement("span",{className:"capitalize text-gray-600"},f),he.default.createElement("span",{className:"text-gray-900 font-medium"},p)),he.default.createElement("div",{className:"h-2 bg-gray-100 rounded-full overflow-hidden"},he.default.createElement("div",{className:"h-full bg-blue-500 rounded-full",style:{width:`${h}%`}})))})):he.default.createElement("div",{className:"py-4 text-center text-gray-400 text-sm"},"No data")),he.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},he.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage"),he.default.createElement("div",{className:"space-y-4"},he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:"text-sm text-gray-500"},"Input Tokens"),he.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_input_tokens))),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:"text-sm text-gray-500"},"Output Tokens"),he.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_output_tokens))),he.default.createElement("div",{className:"pt-2 border-t border-gray-100"},he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:"text-sm font-medium text-gray-700"},"Total"),he.default.createElement("span",{className:"font-bold text-gray-900"},s(t?.summary?.total_tokens)))))))))}function Yf({title:e,value:t,subtitle:r,color:n}){return he.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`},he.default.createElement("p",{className:"text-sm text-gray-500"},e),he.default.createElement("p",{className:"text-2xl font-bold text-gray-900 mt-1"},t),r&&he.default.createElement("p",{className:"text-xs text-gray-400 mt-1"},r))}var U=ee(ne());function VS({agent:e,onBack:t}){let{timeWindow:r}=Ba(),[n,a]=(0,U.useState)([]),[i,o]=(0,U.useState)([]),[l,s]=(0,U.useState)(null),[u,c]=(0,U.useState)(null),[d,f]=(0,U.useState)([]),[p,v]=(0,U.useState)("run"),[h,b]=(0,U.useState)(!1),[m,g]=(0,U.useState)(!1),x=(0,U.useRef)(!1),A=(0,U.useRef)(!1),[k,_]=(0,U.useState)("recent"),[M,E]=(0,U.useState)({}),[L,I]=(0,U.useState)(!0),[j,z]=(0,U.useState)(1),[X,R]=(0,U.useState)(!0),[Q,y]=(0,U.useState)(""),[C,O]=(0,U.useState)(""),[D,N]=(0,U.useState)("recent"),T=(0,U.useRef)(null),H=rt(`/agents/${e.id}/interactions`);(0,U.useEffect)(()=>{Y()},[e.id,j,Q,C,D,r.minutes]),(0,U.useEffect)(()=>{z(1)},[r.minutes]),(0,U.useEffect)(()=>{fetch(`/api/interactions?agent_id=${e.id}`).then(G=>G.json()).then(G=>o(G.interactions||[])).catch(()=>{}).finally(()=>g(!0))},[e.id]),(0,U.useEffect)(()=>{let G=()=>{let xe=window.location.pathname,Ae=xe.match(/\/interactions\/runs\/(\d+)/),we=xe.match(/\/interactions\/sessions\/(\d+)/);if(Ae)v("run"),c(null),fe(parseInt(Ae[1],10),{updateUrl:!1});else if(we)v("all"),c({id:parseInt(we[1],10)});else if(xe.endsWith("/interactions/sessions")||xe.endsWith("/interactions/all"))xe.endsWith("/all")&&window.history.replaceState({},"",xe.replace(/\/all$/,"/sessions")),v("all"),c(null);else{x.current=!1,s(null),c(null),f([]);return}x.current=!0};return G(),window.addEventListener("popstate",G),()=>window.removeEventListener("popstate",G)},[e.id]),(0,U.useEffect)(()=>{x.current||A.current||!h||!m||v(n.length===0&&i.length>0?"all":"run")},[h,m,n.length,i.length]);let Y=async()=>{I(!0);try{let G=new URLSearchParams({page:j.toString(),per_page:"20",minutes:String(r.minutes)});Q&&G.append("status",Q),C&&G.append("source",C),D!=="recent"&&G.append("sort",D);let Ae=await(await fetch(`/api/agents/${e.id}/runs?${G}`)).json();a(j===1?Ae.runs:we=>[...we,...Ae.runs]),R(Ae.runs.length===20)}catch(G){console.error("Failed to load runs:",G)}finally{I(!1),b(!0)}},J=G=>{window.location.pathname!==G&&window.history.pushState({},"",G)},fe=async(G,{updateUrl:xe=!0}={})=>{try{let we=await(await fetch(`/api/runs/${G}`)).json();s(we.run),f(we.messages||[]),v("run"),c(null),xe&&J(`${H}/runs/${G}`)}catch(Ae){console.error("Failed to load run details:",Ae)}},pe=G=>{if(G.source==="reported"){let xe=G.trace_id||String(G.id).replace(/^trace-/,"");window.history.pushState(window.history.state,"",rt(`/traces/${xe}`)),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:rt(`/traces/${xe}`)}}));return}fe(G.record_id||G.id)},ge=()=>{s(null),c(null),f([]),v("run"),J(H)},ze=G=>{v("all"),G?(c({id:G.id,name:G.display_name}),J(`${H}/sessions/${G.id}`)):(c(null),J(`${H}/sessions`))},se=G=>{A.current=!0,v(G),J(G==="all"?u?`${H}/sessions/${u.id}`:`${H}/sessions`:l?`${H}/runs/${l.id}`:H)},Ne=u?u.name||i.find(G=>G.id===u.id)?.display_name||`Session #${u.id}`:null,F=()=>{let G=new Map;n.forEach(we=>{let Ke=`${we.model||"unknown"}|${we.instructions_digest||"none"}`;G.has(Ke)||G.set(Ke,{key:Ke,model:we.model,instructionsDigest:we.instructions_digest,instructionsVersion:we.instructions_version,instructionsCodename:we.instructions_codename,instructionsPreview:we.instructions_preview,runs:[]}),G.get(Ke).runs.push(we)});let xe=[...G.values()].map(we=>({...we,count:we.runs.length,completed:we.runs.filter(Ke=>Ke.status==="complete").length,failed:we.runs.filter(Ke=>Ke.status==="failed").length,totalTokens:we.runs.reduce((Ke,br)=>Ke+(br.tokens||0),0),avgTokens:we.runs.reduce((Ke,br)=>Ke+(br.tokens||0),0)/we.runs.length,avgDuration:we.runs.reduce((Ke,br)=>Ke+(br.duration_ms||0),0)/we.runs.length,latest:we.runs[0],sortedRuns:[...we.runs].sort((Ke,br)=>(br.duration_ms||0)-(Ke.duration_ms||0))}));xe.sort((we,Ke)=>k==="longest"?Ke.avgDuration-we.avgDuration:new Date(Ke.latest.created_at)-new Date(we.latest.created_at));let Ae={runs:n.length,completed:n.filter(we=>we.status==="complete").length,tokens:n.reduce((we,Ke)=>we+(Ke.tokens||0),0),avgDuration:n.length?n.reduce((we,Ke)=>we+(Ke.duration_ms||0),0)/n.length:0,models:[...new Set(n.map(we=>we.model).filter(Boolean))]};return{cohorts:xe,totals:Ae}},$=G=>{switch(G){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"}},q=G=>G?G<1e3?`${G}ms`:G<6e4?`${(G/1e3).toFixed(1)}s`:`${Math.floor(G/6e4)}m ${Math.floor(G%6e4/1e3)}s`:"-",ae=G=>G==null?"\u2014":G===0?"$0":G<.01?`$${G.toFixed(4)}`:`$${G.toFixed(2)}`,ie=G=>{let xe=new Date(G),we=new Date-xe,Ke=Math.floor(we/6e4),br=Math.floor(we/36e5),Mo=Math.floor(we/864e5);return Ke<1?"Just now":Ke<60?`${Ke}m ago`:br<24?`${br}h ago`:Mo<7?`${Mo}d ago`:xe.toLocaleDateString()};return U.default.createElement("div",{className:"flex h-full"},U.default.createElement("div",{className:"w-80 border-r border-gray-200 flex flex-col bg-white"},U.default.createElement("div",{className:"p-4 border-b border-gray-200"},U.default.createElement("div",{className:"flex items-center space-x-3 mb-4"},U.default.createElement("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 transition-colors"},U.default.createElement("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},U.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"}))),U.default.createElement("div",null,U.default.createElement("h2",{className:"font-semibold text-gray-900"},"Agent Interactions"),U.default.createElement("p",{className:"text-sm text-gray-500"},e.name))),U.default.createElement("div",{className:"mb-2"},U.default.createElement(Ua,{compact:!0})),U.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(G=>U.default.createElement("button",{key:G.value||"all",onClick:()=>{O(G.value),z(1)},className:`flex-1 px-2 py-1 rounded-md transition-colors ${C===G.value?"bg-white shadow text-gray-900":"text-gray-600"}`,title:G.value==="dashboard"?"Executions started from this dashboard":G.value==="reported"?"Executions reported by your app via telemetry":"Every execution, however it started"},G.label))),U.default.createElement("select",{value:Q,onChange:G=>{y(G.target.value),z(1)},className:"w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},U.default.createElement("option",{value:""},"All statuses"),U.default.createElement("option",{value:"complete"},"Completed"),U.default.createElement("option",{value:"failed"},"Failed"),U.default.createElement("option",{value:"running"},"Running"),U.default.createElement("option",{value:"cancelled"},"Cancelled")),U.default.createElement("select",{value:D,onChange:G=>{N(G.target.value),z(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"},U.default.createElement("option",{value:"recent"},"Most recent"),U.default.createElement("option",{value:"longest"},"Longest running"),U.default.createElement("option",{value:"cost"},"Highest cost"),U.default.createElement("option",{value:"tokens"},"Most tokens"))),U.default.createElement("div",{className:"flex-1 overflow-auto"},L&&n.length===0?U.default.createElement("div",{className:"flex items-center justify-center h-32"},U.default.createElement("div",{className:"animate-spin rounded-full h-6 w-6 border-b-2 border-red-500"})):n.length>0?U.default.createElement(U.default.Fragment,null,n.map(G=>{let xe=G.source==="reported";return U.default.createElement("div",{key:G.id,onClick:()=>pe(G),title:xe?"Reported by your app \u2014 opens its trace":"Started from this dashboard",className:`p-4 border-b border-gray-100 cursor-pointer transition-colors ${!xe&&l?.id===G.id?"bg-red-50 border-l-4 border-l-red-500":"hover:bg-gray-50"}`},U.default.createElement("div",{className:"flex items-center justify-between mb-2 gap-2"},U.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${$(G.status)}`},G.status),U.default.createElement("div",{className:"flex items-center gap-2"},U.default.createElement("span",{className:`px-1.5 py-0.5 rounded text-[10px] uppercase tracking-wide ${xe?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`},xe?"reported":"dashboard"),U.default.createElement("span",{className:"text-xs text-gray-400"},ie(G.created_at||G.occurred_at)))),U.default.createElement("p",{className:"text-sm text-gray-700 truncate"},G.input_preview||G.input_prompt?.substring(0,60)||(xe?`${G.action_name||"execution"} \xB7 trace ${String(G.trace_id||"").slice(0,8)}`:"No input")),U.default.createElement("div",{className:"flex items-center space-x-3 mt-2 text-xs text-gray-400 flex-wrap gap-y-1"},G.model&&U.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},G.model),U.default.createElement("span",{className:D==="longest"?"text-gray-700 font-medium":void 0},q(G.duration_ms)),!!G.tokens&&U.default.createElement("span",{className:D==="tokens"?"text-gray-700 font-medium":void 0},G.tokens," tokens"),G.cost!=null&&U.default.createElement("span",{className:D==="cost"?"text-gray-700 font-medium":void 0,title:"Estimated from token counts at this model's published rates"},ae(G.cost))))}),X&&U.default.createElement("button",{onClick:()=>z(G=>G+1),disabled:L,className:"w-full py-3 text-sm text-red-600 hover:bg-gray-50 transition-colors"},L?"Loading...":"Load More")):U.default.createElement("div",{className:"p-8 text-center text-gray-400"},U.default.createElement("svg",{className:"w-12 h-12 mx-auto mb-3 text-gray-300",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},U.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"})),U.default.createElement("p",null,"No conversations yet")))),U.default.createElement("div",{className:"flex-1 flex flex-col bg-gray-50"},U.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"},U.default.createElement("button",{onClick:t,className:"hover:text-gray-900 hover:underline transition-colors"},e.name),U.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"||l?U.default.createElement(U.default.Fragment,null,U.default.createElement("button",{onClick:ge,className:"hover:text-gray-900 hover:underline transition-colors"},"Interactions"),U.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"?u?U.default.createElement(U.default.Fragment,null,U.default.createElement("button",{onClick:()=>ze(null),className:"hover:text-gray-900 hover:underline transition-colors"},"Sessions"),U.default.createElement("span",{className:"text-gray-300"},"/"),U.default.createElement("span",{className:"text-gray-900 font-medium"},Ne)):U.default.createElement("span",{className:"text-gray-900 font-medium"},"Sessions"):U.default.createElement("span",{className:"text-gray-900 font-medium"},"Run #",l.id)):U.default.createElement("span",{className:"text-gray-900 font-medium"},"Interactions")),U.default.createElement("div",{className:"p-3 bg-white border-b border-gray-200 flex items-center justify-between"},U.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},U.default.createElement("button",{onClick:()=>se("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"),U.default.createElement("button",{onClick:()=>se("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&&U.default.createElement("span",{className:`px-3 py-1 rounded-full text-sm font-medium ${$(l.status)}`},l.status)),p==="all"?U.default.createElement("div",{className:"flex-1 overflow-auto p-4 space-y-4"},(()=>{let{totals:G}=F();return U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4 space-y-3"},U.default.createElement("div",{className:"flex items-center gap-3"},U.default.createElement(Mt,{size:40}),U.default.createElement("div",null,U.default.createElement("h3",{className:"font-semibold text-gray-900"},e.name),U.default.createElement("p",{className:"text-xs text-gray-500"},u?`${Ne} \u2014 one persisted interaction stream`:"Sessions group this agent\u2019s runs into persisted interaction streams"))),U.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},U.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},U.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),U.default.createElement("p",{className:"text-lg font-bold text-gray-900"},G.runs)),U.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},U.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),U.default.createElement("p",{className:"text-lg font-bold text-gray-900"},G.runs?Math.round(G.completed/G.runs*100):0,"%")),U.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},U.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),U.default.createElement("p",{className:"text-lg font-bold text-gray-900"},q(Math.round(G.avgDuration)))),U.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},U.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),U.default.createElement("p",{className:"text-lg font-bold text-gray-900"},G.tokens.toLocaleString()))))})(),U.default.createElement(Di,{agentId:e.id,embedded:!0,selectedSessionId:u?.id??null,onSelectSession:ze})):l?U.default.createElement(U.default.Fragment,null,U.default.createElement("div",{className:"p-4 bg-white border-b border-gray-200"},U.default.createElement("div",{className:"flex items-center space-x-3"},U.default.createElement(Mt,{size:40}),U.default.createElement("div",null,U.default.createElement("h3",{className:"font-medium text-gray-900"},e.name," \u2014 Run #",l.id),U.default.createElement("p",{className:"text-xs text-gray-500"},new Date(l.created_at).toLocaleString())))),U.default.createElement("div",{ref:T,className:"flex-1 overflow-auto p-6"},U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 shadow-sm p-4"},d.length>0?U.default.createElement(Oi,{messages:d,darkMode:!1}):U.default.createElement(Oi,{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}]}))),U.default.createElement("div",{className:"p-4 bg-white border-t border-gray-200"},U.default.createElement("div",{className:"flex items-center justify-center space-x-8 text-sm text-gray-500"},U.default.createElement("span",null,"Duration: ",q(l.duration_ms)),l.total_tokens&&U.default.createElement("span",null,"Tokens: ",l.total_tokens),l.input_tokens&&l.output_tokens&&U.default.createElement("span",null,"Input: ",l.input_tokens," / Output: ",l.output_tokens),l.trace_id&&U.default.createElement("a",{href:rt(`/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:G,totals:xe}=F();return G.length===0?U.default.createElement("div",{className:"flex-1 flex items-center justify-center"},U.default.createElement("div",{className:"text-center text-gray-400"},U.default.createElement(Mt,{size:100}),U.default.createElement("p",{className:"mt-4"},"No runs yet \u2014 run the agent to build its report"))):U.default.createElement("div",{className:"flex-1 overflow-auto p-6 space-y-5"},U.default.createElement("div",{className:"flex items-center gap-3"},U.default.createElement(Mt,{size:40}),U.default.createElement("div",null,U.default.createElement("h3",{className:"font-semibold text-gray-900"},"Agent Report"),U.default.createElement("p",{className:"text-xs text-gray-500"},"Recent activity for ",e.name," \u2014 select a run for its full interaction"))),U.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},U.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),U.default.createElement("p",{className:"text-xl font-bold text-gray-900"},xe.runs)),U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},U.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),U.default.createElement("p",{className:"text-xl font-bold text-gray-900"},xe.runs?Math.round(xe.completed/xe.runs*100):0,"%")),U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},U.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),U.default.createElement("p",{className:"text-xl font-bold text-gray-900"},q(Math.round(xe.avgDuration)))),U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},U.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),U.default.createElement("p",{className:"text-xl font-bold text-gray-900"},xe.tokens.toLocaleString()))),xe.models.length>0&&U.default.createElement("div",{className:"flex items-center gap-2 flex-wrap text-xs"},U.default.createElement("span",{className:"text-gray-500"},"Models used:"),xe.models.map(Ae=>U.default.createElement("span",{key:Ae,className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},Ae))),i.length>0&&U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},U.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},U.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Sessions \u2014 grouped interaction streams")),U.default.createElement("div",{className:"divide-y divide-gray-100"},i.map(Ae=>U.default.createElement("div",{key:Ae.id,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer flex items-center justify-between gap-3",onClick:()=>ze(Ae),title:"Open this session's interaction stream"},U.default.createElement("div",{className:"flex items-center gap-2 min-w-0",title:Ae.display_name},U.default.createElement("span",{className:"px-2 py-0.5 text-xs font-medium bg-blue-100 text-blue-700 rounded flex-shrink-0"},"SESSION"),U.default.createElement("span",{className:"text-sm text-gray-900 truncate"},Ae.agent?.name||Ae.agent_name),Ae.action_name&&U.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-purple-50 text-purple-700 font-mono text-xs flex-shrink-0"},"#",Ae.action_name)),U.default.createElement("div",{className:"flex items-center gap-3 text-xs text-gray-400 flex-shrink-0"},U.default.createElement("span",null,Ae.message_count," messages"),U.default.createElement("span",null,(Ae.tokens?.total||0).toLocaleString()," tokens"),U.default.createElement("span",null,ie(Ae.last_activity_at))))))),U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},U.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100 flex items-center justify-between"},U.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Interactions by instructions \xD7 model"),U.default.createElement("select",{value:k,onChange:Ae=>_(Ae.target.value),className:"text-xs border border-gray-200 rounded px-2 py-1 text-gray-600"},U.default.createElement("option",{value:"recent"},"Most recent"),U.default.createElement("option",{value:"longest"},"Longest interactions"))),U.default.createElement("div",{className:"divide-y divide-gray-100"},G.map(Ae=>U.default.createElement("div",{key:Ae.key},U.default.createElement("div",{className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>E(we=>({...we,[Ae.key]:!we[Ae.key]})),title:"Show this configuration's runs"},U.default.createElement("div",{className:"flex items-center gap-2 flex-wrap"},U.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono text-xs"},Ae.model||"unknown model"),U.default.createElement("span",{className:"text-xs text-gray-400 font-mono",title:Ae.instructionsDigest?`sha:${Ae.instructionsDigest}`:void 0},"instructions"," ",Ae.instructionsDigest?[Ae.instructionsVersion,Ae.instructionsCodename||Ae.instructionsDigest].filter(Boolean).join(" \xB7 "):"n/a")),Ae.instructionsPreview&&U.default.createElement("p",{className:"text-xs text-gray-500 mt-1 truncate"},Ae.instructionsPreview),U.default.createElement("div",{className:"flex items-center gap-3 mt-1.5 text-xs text-gray-400 flex-wrap gap-y-1"},U.default.createElement("span",null,Ae.count," run",Ae.count>1?"s":""),U.default.createElement("span",{className:Ae.failed>0?"text-red-500":"text-green-600"},Ae.count?Math.round(Ae.completed/Ae.count*100):0,"% success"),U.default.createElement("span",null,"avg ",q(Math.round(Ae.avgDuration))),U.default.createElement("span",null,"avg ",Math.round(Ae.avgTokens).toLocaleString()," tokens"),U.default.createElement("span",null,"last ",ie(Ae.latest.created_at)))),M[Ae.key]&&U.default.createElement("div",{className:"bg-gray-50 divide-y divide-gray-100 border-t border-gray-100"},Ae.sortedRuns.map(we=>U.default.createElement("div",{key:we.id,className:"px-6 py-2 hover:bg-gray-100 cursor-pointer",onClick:()=>fe(we.id),title:"Open this run's interaction"},U.default.createElement("p",{className:"text-xs text-gray-700 truncate"},we.input_preview||"No input"),U.default.createElement("div",{className:"flex items-center gap-3 mt-0.5 text-[11px] text-gray-400"},U.default.createElement("span",{className:we.status==="failed"?"text-red-500":""},we.status),U.default.createElement("span",null,q(we.duration_ms)),we.tokens&&U.default.createElement("span",null,we.tokens.toLocaleString()," tokens"),U.default.createElement("span",null,ie(we.created_at)))))))))))})()))}var ke=ee(ne());var RZ={productivity:"[+]",development:"<>",research:"[?]",creative:"[*]",data:"[#]",automation:"[>]"};function FS({onUseTemplate:e,onClose:t}){let[r,n]=(0,ke.useState)([]),[a,i]=(0,ke.useState)([]),[o,l]=(0,ke.useState)(""),[s,u]=(0,ke.useState)(null),[c,d]=(0,ke.useState)(!0),[f,p]=(0,ke.useState)(!1);(0,ke.useEffect)(()=>{v()},[o]);let v=async()=>{d(!0);try{let b=new URLSearchParams;o&&b.append("category",o);let g=await(await fetch(`/api/templates?${b}`)).json();n(g.templates),i(g.categories)}catch(b){console.error("Failed to load templates:",b)}finally{d(!1)}},h=async b=>{p(!0);try{let m=await fetch(`/api/templates/${b.id}/use`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b.name})});if(m.ok){let g=await m.json();e(g.agent)}}catch(m){console.error("Failed to create agent from template:",m)}finally{p(!1)}};return ke.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},ke.default.createElement("div",{className:"bg-white rounded-2xl w-full max-w-5xl max-h-[90vh] flex flex-col overflow-hidden"},ke.default.createElement("div",{className:"px-6 py-4 border-b border-gray-200 flex items-center justify-between"},ke.default.createElement("div",null,ke.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Template Library"),ke.default.createElement("p",{className:"text-sm text-gray-500"},"Start with a pre-configured agent template")),ke.default.createElement("button",{onClick:t,className:"p-2 text-gray-400 hover:text-gray-600 transition-colors"},ke.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ke.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))),ke.default.createElement("div",{className:"flex-1 flex overflow-hidden"},ke.default.createElement("div",{className:"w-48 border-r border-gray-200 p-4 flex-shrink-0"},ke.default.createElement("h3",{className:"text-xs font-semibold text-gray-400 uppercase mb-3"},"Categories"),ke.default.createElement("div",{className:"space-y-1"},ke.default.createElement("button",{onClick:()=>l(""),className:`w-full text-left px-3 py-2 rounded-lg text-sm transition-colors ${o?"text-gray-600 hover:bg-gray-50":"bg-red-50 text-red-600"}`},"All Templates"),a.map(b=>ke.default.createElement("button",{key:b,onClick:()=>l(b),className:`w-full text-left px-3 py-2 rounded-lg text-sm flex items-center space-x-2 transition-colors ${o===b?"bg-red-50 text-red-600":"text-gray-600 hover:bg-gray-50"}`},ke.default.createElement("span",null,RZ[b]||"\u{1F4E6}"),ke.default.createElement("span",{className:"capitalize"},b))))),ke.default.createElement("div",{className:"flex-1 p-6 overflow-auto"},c?ke.default.createElement("div",{className:"flex items-center justify-center h-full"},ke.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):r.length>0?ke.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-3 gap-4"},r.map(b=>ke.default.createElement("div",{key:b.id,onClick:()=>u(b),className:`bg-white rounded-xl border-2 p-4 cursor-pointer transition-all hover:shadow-lg ${s?.id===b.id?"border-red-500 ring-2 ring-red-100":"border-gray-200 hover:border-gray-300"}`},ke.default.createElement("div",{className:"flex items-start space-x-3"},ke.default.createElement("div",{className:"flex-shrink-0"},ke.default.createElement(Mt,{size:60})),ke.default.createElement("div",{className:"flex-1 min-w-0"},ke.default.createElement("div",{className:"flex items-center space-x-2"},ke.default.createElement("span",{className:"text-lg"},b.icon),ke.default.createElement("h3",{className:"font-medium text-gray-900 truncate"},b.name)),ke.default.createElement("p",{className:"text-xs text-gray-500 mt-1 line-clamp-2"},b.description),ke.default.createElement("div",{className:"flex items-center space-x-2 mt-2"},ke.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-gray-100 rounded capitalize"},b.category),b.featured&&ke.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-yellow-100 text-yellow-700 rounded"},"Featured"))))))):ke.default.createElement("div",{className:"text-center py-12 text-gray-500"},"No templates found in this category")),s&&ke.default.createElement("div",{className:"w-80 border-l border-gray-200 p-6 flex-shrink-0 bg-gray-50 overflow-auto"},ke.default.createElement("div",{className:"flex justify-center mb-4"},ke.default.createElement(Mt,{size:120})),ke.default.createElement("h3",{className:"text-lg font-semibold text-gray-900 text-center"},s.name),ke.default.createElement("p",{className:"text-sm text-gray-500 text-center mt-1"},s.description),ke.default.createElement("div",{className:"mt-6 space-y-4"},ke.default.createElement("div",null,ke.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Provider / Model"),ke.default.createElement("p",{className:"text-sm text-gray-900"},s.provider," / ",s.model)),s.tools?.length>0&&ke.default.createElement("div",null,ke.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Tools"),ke.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},s.tools.map(b=>ke.default.createElement("span",{key:b,className:"text-xs px-2 py-0.5 bg-red-100 text-red-700 rounded"},b)))),ke.default.createElement("div",null,ke.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Usage"),ke.default.createElement("p",{className:"text-sm text-gray-900"},s.usage_count," agents created"))),ke.default.createElement("button",{onClick:()=>h(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")))))}var Ce=ee(ne());function qS({currentView:e,onNavigate:t,agentCount:r,account:n,user:a,gemVersion:i}){let{darkMode:o}=mt(),[l,s]=(0,Ce.useState)(!1),u=(0,Ce.useRef)(null);(0,Ce.useEffect)(()=>{function b(m){u.current&&!u.current.contains(m.target)&&s(!1)}return document.addEventListener("mousedown",b),()=>document.removeEventListener("mousedown",b)},[]);let c=n?.name||"My Workspace",d=a?.name||a?.email?.split("@")[0]||"User",f=[{id:"list",label:"Agents",icon:lr.nav.agents,badge:r},{id:"builder",label:"New Agent",icon:lr.nav.newAgent},{id:"sandbox",label:"Run Agents",icon:lr.nav.demo,highlight:!0}],p=[{id:"traces",label:"Traces",icon:lr.nav.traces},{id:"interactions",label:"Interactions",icon:lr.nav.interactions},{id:"metrics",label:"Metrics",icon:lr.nav.metrics},{id:"evaluations",label:"Evaluations",icon:lr.nav.evaluations},{id:"replay",label:"Session Replay",icon:lr.nav.replay}],v=[{id:"organization",label:"Organization",icon:"\u{1F3E2}"},{id:"settings",label:"Settings",icon:"\u2699\uFE0F"}],h=({item:b})=>Ce.default.createElement("button",{onClick:()=>t(b.id),className:`w-full flex items-center justify-between py-3 rounded-lg text-left transition-colors ${b.indent?"pl-10 pr-4":"px-4"}`,style:{backgroundColor:e===b.id?o?"rgba(239, 68, 68, 0.15)":"#fef2f2":"transparent",color:e===b.id?"#ef4444":o?"#d1d5db":"#374151"},onMouseEnter:m=>{e!==b.id&&(m.currentTarget.style.backgroundColor=o?"#252525":"#f3f4f6")},onMouseLeave:m=>{e!==b.id&&(m.currentTarget.style.backgroundColor="transparent")}},Ce.default.createElement("div",{className:"flex items-center space-x-3"},Ce.default.createElement("span",{style:{fontFamily:Oe.mono,fontSize:"12px",width:"20px",textAlign:"center"}},b.icon),Ce.default.createElement("span",{className:"font-medium"},b.label)),b.badge!==void 0&&Ce.default.createElement("span",{className:"px-2 py-0.5 text-xs rounded-full",style:{backgroundColor:e===b.id?"#fee2e2":o?"#2a2a2a":"#f3f4f6",color:e===b.id?"#ef4444":o?"#d1d5db":"#4b5563"}},b.badge));return Ce.default.createElement("aside",{className:"w-64 border-r flex flex-col",style:{backgroundColor:o?"#1a1a1a":"#ffffff",borderColor:o?"#2a2a2a":"#e5e7eb"}},Ce.default.createElement("div",{className:"h-16 flex items-center px-4 border-b relative",style:{borderColor:o?"#2a2a2a":"#e5e7eb"},ref:u},Ce.default.createElement("button",{onClick:()=>s(!l),className:"w-full flex items-center justify-between px-2 py-2 rounded-lg transition-colors",style:{backgroundColor:l?o?"#252525":"#f3f4f6":"transparent"}},Ce.default.createElement("div",{className:"flex items-center space-x-3 min-w-0"},Ce.default.createElement(Mt,{size:28}),Ce.default.createElement("span",{className:`font-semibold truncate ${o?"text-white":"text-gray-900"}`},c)),Ce.default.createElement("svg",{className:`w-4 h-4 flex-shrink-0 transition-transform ${l?"rotate-180":""}`,style:{color:o?"#9ca3af":"#6b7280"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ce.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),l&&Ce.default.createElement("div",{className:"absolute left-4 right-4 top-14 rounded-lg shadow-lg border overflow-hidden z-50",style:{backgroundColor:o?"#1a1a1a":"#ffffff",borderColor:o?"#2a2a2a":"#e5e7eb"}},Ce.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:o?"#2a2a2a":"#e5e7eb"}},Ce.default.createElement("div",{className:"flex items-center space-x-3"},Ce.default.createElement(Mt,{size:32}),Ce.default.createElement("div",{className:"min-w-0"},Ce.default.createElement("div",{className:`font-medium truncate ${o?"text-white":"text-gray-900"}`},c)))),Ce.default.createElement("div",{className:"py-1"},Ce.default.createElement("button",{onClick:()=>{t("settings"),s(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${o?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},Ce.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ce.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"}),Ce.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})),Ce.default.createElement("span",null,"Settings")),Ce.default.createElement("button",{onClick:()=>{t("organization"),s(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${o?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},Ce.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ce.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"})),Ce.default.createElement("span",null,"Organization"))),Ce.default.createElement("div",{className:"border-t py-1",style:{borderColor:o?"#2a2a2a":"#e5e7eb"}},Ce.default.createElement("div",{className:`px-4 py-2 flex items-center space-x-3 ${o?"text-gray-300":"text-gray-700"}`},Ce.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ce.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"})),Ce.default.createElement("span",{className:"text-sm"},d))))),Ce.default.createElement("nav",{className:"flex-1 px-4 py-4 space-y-1 overflow-y-auto"},Ce.default.createElement("div",{className:"space-y-1"},f.map(b=>Ce.default.createElement(h,{key:b.id,item:b}))),Ce.default.createElement("div",{className:"pt-4"},Ce.default.createElement("div",{className:"px-4 pb-2"},Ce.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${o?"text-gray-500":"text-gray-400"}`},"Observability")),Ce.default.createElement("div",{className:"space-y-1"},p.map(b=>Ce.default.createElement(h,{key:b.id,item:b})))),Ce.default.createElement("div",{className:"pt-4"},Ce.default.createElement("div",{className:"px-4 pb-2"},Ce.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${o?"text-gray-500":"text-gray-400"}`},"Workspace")),Ce.default.createElement("div",{className:"space-y-1"},v.map(b=>Ce.default.createElement(h,{key:b.id,item:b}))))),Ce.default.createElement("div",{className:"px-4 py-4 border-t",style:{borderColor:o?"#2a2a2a":"#e5e7eb"}},Ce.default.createElement("div",{className:`text-xs font-semibold uppercase mb-3 ${o?"text-gray-500":"text-gray-400"}`},"Resources"),Ce.default.createElement("div",{className:"space-y-2"},Ce.default.createElement("a",{href:"https://docs.activeagents.ai",target:"_blank",rel:"noopener noreferrer",className:`flex items-center space-x-2 text-sm transition-colors ${o?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},Ce.default.createElement("span",{style:{fontFamily:Oe.mono,fontSize:"12px",width:"20px",textAlign:"center"}},lr.nav.docs),Ce.default.createElement("span",null,"Documentation")),Ce.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 ${o?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},Ce.default.createElement("span",{style:{fontFamily:Oe.mono,fontSize:"12px",width:"20px",textAlign:"center"}},lr.nav.github),Ce.default.createElement("span",null,"GitHub")))),Ce.default.createElement("div",{className:"px-6 py-4 border-t",style:{borderColor:o?"#2a2a2a":"#e5e7eb"}},Ce.default.createElement("div",{className:`text-xs ${o?"text-gray-500":"text-gray-400"}`},"Active Agent ",i?`v${i}`:"")))}var Qe=ee(ne());function YS({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=mt(),[a,i]=(0,Qe.useState)(!1),o=(0,Qe.useRef)(null);(0,Qe.useEffect)(()=>{function c(d){o.current&&!o.current.contains(d.target)&&i(!1)}return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[]);let l=()=>{let c=document.querySelector('meta[name="csrf-token"]')?.content,d=document.createElement("form");d.method="POST",d.action="/session";let f=document.createElement("input");f.type="hidden",f.name="_method",f.value="delete",d.appendChild(f);let p=document.createElement("input");p.type="hidden",p.name="authenticity_token",p.value=c,d.appendChild(p),document.body.appendChild(d),d.submit()},s=e?.name||e?.email?.split("@")[0]||"User",u=s.charAt(0).toUpperCase();return Qe.default.createElement("header",{className:"h-16 border-b flex items-center justify-between px-6",style:{backgroundColor:r?"#1a1a1a":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"}},Qe.default.createElement("div",{className:"flex items-center space-x-4"}),Qe.default.createElement("div",{className:"flex items-center space-x-4"},Qe.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?Qe.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},Qe.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"})):Qe.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},Qe.default.createElement("path",{d:"M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"}))),Qe.default.createElement("div",{className:`flex items-center space-x-2 text-sm ${r?"text-gray-400":"text-gray-500"}`},Qe.default.createElement("span",{className:"w-2 h-2 bg-green-400 rounded-full"}),Qe.default.createElement("span",null,"Connected")),Qe.default.createElement("div",{className:"relative",ref:o},Qe.default.createElement("button",{onClick:()=>i(!a),className:"flex items-center space-x-2 p-1 rounded-lg transition-colors",style:{backgroundColor:a?r?"#252525":"#f3f4f6":"transparent"}},Qe.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},Qe.default.createElement("span",{className:"text-red-600 font-medium text-sm"},u))),a&&Qe.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"}},Qe.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},Qe.default.createElement("div",{className:"flex items-center space-x-3"},Qe.default.createElement("div",{className:"w-10 h-10 bg-red-100 rounded-full flex items-center justify-center"},Qe.default.createElement("span",{className:"text-red-600 font-medium"},u)),Qe.default.createElement("div",null,Qe.default.createElement("div",{className:`font-medium ${r?"text-white":"text-gray-900"}`},s),Qe.default.createElement("div",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},e?.email)))),Qe.default.createElement("div",{className:"py-1"},Qe.default.createElement("button",{onClick:l,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"}`},Qe.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Qe.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"})),Qe.default.createElement("span",null,"Sign out")))))))}var be=ee(ne());var eQ=6e4,oj=e=>{if(!e||e.length<2)return"";let t=Math.max(...e,1),r=100/(e.length-1);return e.map((n,a)=>`${(a*r).toFixed(1)},${(28-n/t*26+1).toFixed(1)}`).join(" ")},WS=[{value:"popular",label:"Requests",column:"requests"},{value:"tokens",label:"Tokens",column:"tokens"},{value:"cost",label:"Cost",column:"cost"},{value:"longest",label:"Avg Duration",column:"avg_duration_ms"},{value:"errors",label:"Errors",column:"errors"}];function KS(){let{darkMode:e}=mt(),[t,r]=(0,be.useState)(null),[n,a]=(0,be.useState)(!0),[i,o]=(0,be.useState)(null),[l,s]=(0,be.useState)("popular"),u=(0,be.useCallback)(async()=>{try{let E=await fetch(`/api/metrics?hours=24&sort=${l}`);if(!E.ok)throw new Error(`Request failed (${E.status})`);let L=await E.json();r(L),o(null)}catch(E){o(E.message)}finally{a(!1)}},[l]);if((0,be.useEffect)(()=>{u();let E=setInterval(u,eQ);return()=>clearInterval(E)},[u]),n)return be.default.createElement("div",{className:"flex items-center justify-center h-64"},be.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let c=E=>E==null?"0":E>=1e6?(E/1e6).toFixed(1)+"M":E>=1e3?(E/1e3).toFixed(1)+"K":E.toString(),d=E=>E?E<.01?"<$0.01":`$${E.toFixed(2)}`:"$0.00",f={bg:e?"transparent":"#f9fafb",cardBg:e?"rgba(255,255,255,0.05)":"#ffffff",border:e?"rgba(255,255,255,0.1)":"#e5e7eb",borderLight:e?"rgba(255,255,255,0.05)":"#f3f4f6",textPrimary:e?"#ffffff":"#111827",textSecondary:e?"rgba(255,255,255,0.6)":"#6b7280",textMuted:e?"rgba(255,255,255,0.4)":"#9ca3af",textCell:e?"rgba(255,255,255,0.7)":"#4b5563",trendUp:"#16a34a",trendDown:"#dc2626",tokenIn:"#2563eb",tokenOut:"#7c3aed",tokenThinking:"#d97706",badgeBg:e?"rgba(239, 68, 68, 0.2)":"#fef2f2",badgeText:"#ef4444"};if(i||!t)return be.default.createElement("div",{style:{padding:"24px"}},be.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:f.textPrimary,margin:0}},"Metrics"),be.default.createElement("div",{style:{marginTop:"16px",padding:"12px 16px",background:f.badgeBg,borderRadius:"8px",color:f.badgeText,fontSize:"14px"}},"Failed to load metrics",i?`: ${i}`:""));let{summary:p,hourly_requests:v=[],by_agent:h=[]}=t,b=v.map(E=>E.count),m=v.map(E=>E.avg_latency_ms),g=Math.max(...b,1),x=p.total_requests===0,A=(E,L=!1)=>{if(E==null)return null;let I=E>=0;return be.default.createElement("div",{style:{fontSize:"13px",color:(L?!I:I)?f.trendUp:f.trendDown,marginTop:"8px"}},I?"\u2191":"\u2193"," ",Math.abs(E),"% vs previous 24h")},k=WS.find(E=>E.value===l)?.column,_=E=>({padding:"12px 0",textAlign:"right",color:f.textCell,fontWeight:E===k?"600":"400"}),M=({label:E,children:L,trend:I,sparkline:j,sparklineColor:z})=>be.default.createElement("div",{style:{background:f.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${f.border}`}},be.default.createElement("div",{style:{fontSize:"11px",color:f.textSecondary,textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"}},E),L,I,j&&be.default.createElement("div",{style:{marginTop:"16px",height:"40px"}},be.default.createElement("svg",{viewBox:"0 0 100 30",style:{width:"100%",height:"100%"},preserveAspectRatio:"none"},be.default.createElement("polyline",{points:j,fill:"none",stroke:z,strokeWidth:"2"}))));return be.default.createElement("div",{style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)",backgroundColor:f.bg}},be.default.createElement("div",{style:{padding:"24px 24px 0 24px",borderBottom:`1px solid ${f.border}`,marginBottom:"16px",paddingBottom:"16px"}},be.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:f.textPrimary,margin:0}},"Metrics"),be.default.createElement("p",{style:{fontSize:"14px",color:f.textSecondary,marginTop:"4px"}},"Requests, latency, errors and token usage \u2014 last 24 hours")),be.default.createElement("div",{style:{padding:"0 24px 24px 24px"}},be.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:"16px",marginBottom:"16px"}},be.default.createElement(M,{label:"Total Requests",trend:A(p.requests_change),sparkline:oj(b),sparklineColor:"#ef4444"},be.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",color:f.textPrimary,fontFamily:"monospace"}},c(p.total_requests))),be.default.createElement(M,{label:"Avg Latency",trend:A(p.latency_change,!0),sparkline:oj(m),sparklineColor:"#22c55e"},be.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",color:f.textPrimary,fontFamily:"monospace"}},p.avg_latency_ms,be.default.createElement("span",{style:{fontSize:"14px",color:f.textMuted,marginLeft:"4px"}},"ms"))),be.default.createElement(M,{label:"Error Rate"},be.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",color:p.error_rate>5?"#ef4444":f.textPrimary,fontFamily:"monospace"}},p.error_rate,be.default.createElement("span",{style:{fontSize:"14px",color:f.textMuted,marginLeft:"4px"}},"%")),be.default.createElement("div",{style:{fontSize:"13px",color:f.textSecondary,marginTop:"8px"}},p.errors," error",p.errors===1?"":"s"," in period")),be.default.createElement(M,{label:"Total Cost"},be.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",color:f.textPrimary,fontFamily:"monospace"}},d(p.total_cost)),be.default.createElement("div",{style:{fontSize:"13px",color:f.textSecondary,marginTop:"8px"}},"estimated, this period")),be.default.createElement(M,{label:"Tokens Used"},be.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",color:f.textPrimary,fontFamily:"monospace"}},c(p.tokens_used)),be.default.createElement("div",{style:{fontSize:"13px",marginTop:"8px",display:"flex",gap:"12px",flexWrap:"wrap"}},be.default.createElement("span",{style:{color:f.tokenIn}},"\u2193 ",c(p.tokens_input)),be.default.createElement("span",{style:{color:f.tokenOut}},"\u2191 ",c(p.tokens_output)),p.tokens_thinking>0&&be.default.createElement("span",{style:{color:f.tokenThinking}},"\u{1F9E0} ",c(p.tokens_thinking)))),be.default.createElement(M,{label:"Active Agents"},be.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",color:f.textPrimary,fontFamily:"monospace"}},p.unique_agents),be.default.createElement("div",{style:{fontSize:"13px",color:f.textSecondary,marginTop:"8px"}},"with traffic in period"))),be.default.createElement("div",{style:{background:f.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${f.border}`,marginBottom:"16px"}},be.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"16px"}},be.default.createElement("span",{style:{fontSize:"14px",fontWeight:"600",color:f.textPrimary}},"Requests / Hour"),be.default.createElement("span",{style:{fontSize:"13px",color:f.textSecondary}},"Last 24h")),be.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",justifyContent:"space-between",height:"120px",gap:"4px"}},v.map((E,L)=>be.default.createElement("div",{key:L,style:{flex:1,height:`${Math.max(E.count/g*100,2)}%`,background:E.active?"linear-gradient(180deg, #ef4444 0%, #dc2626 100%)":"linear-gradient(180deg, #fca5a5 0%, #f87171 100%)",opacity:E.count===0&&!E.active?.25:1,borderRadius:"4px 4px 0 0",transition:"all 0.2s ease"},title:`${E.count} requests at ${E.hour}`}))),be.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginTop:"8px"}},v.map((E,L)=>be.default.createElement("span",{key:L,style:{flex:1,textAlign:"center",fontSize:"10px",color:f.textMuted}},L%4===0||E.active?E.active?"Now":E.hour:"")))),be.default.createElement("div",{style:{background:f.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${f.border}`}},be.default.createElement("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",marginBottom:"16px",gap:"12px",flexWrap:"wrap"}},be.default.createElement("h3",{style:{fontSize:"16px",fontWeight:"600",color:f.textPrimary,margin:0}},"Agent Statistics"),be.default.createElement("span",{style:{fontSize:"12px",color:f.textMuted}},"Ranked by ",WS.find(E=>E.value===l)?.label.toLowerCase()," \u2014 click a column to change")),h.length===0?be.default.createElement("div",{style:{textAlign:"center",padding:"24px 0",color:f.textSecondary,fontSize:"14px"}},x?"No traffic yet \u2014 run an agent, or point your app's ActiveAgent telemetry at this workspace":"No per-agent data for this period"):be.default.createElement("table",{style:{width:"100%",borderCollapse:"collapse"}},be.default.createElement("thead",null,be.default.createElement("tr",{style:{textAlign:"left",fontSize:"13px",color:f.textSecondary,borderBottom:`1px solid ${f.border}`}},be.default.createElement("th",{style:{paddingBottom:"12px",fontWeight:"500"}},"Agent"),WS.map(E=>{let L=l===E.value;return be.default.createElement("th",{key:E.value,style:{paddingBottom:"12px",fontWeight:"500",textAlign:"right"}},be.default.createElement("button",{onClick:()=>s(E.value),title:`Rank agents by ${E.label.toLowerCase()}`,style:{background:"none",border:"none",padding:0,cursor:"pointer",font:"inherit",fontWeight:L?"600":"500",color:L?f.textPrimary:f.textSecondary}},E.label,L?" \u2193":""))}))),be.default.createElement("tbody",null,h.map((E,L)=>be.default.createElement("tr",{key:E.name,style:{borderBottom:L0?f.badgeText:f.textCell}},E.errors))))))))}var B=ee(ne());var To=ee(ne());var Ng={logger:typeof console<"u"?console:void 0,WebSocket:typeof WebSocket<"u"?WebSocket:void 0},Bt={log(...e){this.enabled&&(e.push(Date.now()),Ng.logger.log("[ActionCable]",...e))}},Kf=()=>new Date().getTime(),Ag=e=>(Kf()-e)/1e3,Gf=class{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=Kf(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),Bt.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=Kf(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),Bt.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordMessage(){this.pingedAt=Kf()}recordConnect(){this.reconnectAttempts=0,delete this.disconnectedAt,Bt.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=Kf(),Bt.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)),i=(this.reconnectAttempts===0?1:r)*Math.random();return t*1e3*n*(1+i)}reconnectIfStale(){this.connectionIsStale()&&(Bt.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${Ag(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?Bt.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${Ag(this.disconnectedAt)} s`):(Bt.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return Ag(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&Ag(this.disconnectedAt){(this.connectionIsStale()||!this.connection.isOpen())&&(Bt.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())}),200)}};Gf.staleThreshold=6;Gf.reconnectionBackoffRate=.15;var sj={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:Wf,protocols:GS}=sj,tQ=GS.slice(0,GS.length-1),lj=[].indexOf,Xf=class{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new Gf(this),this.disconnected=!0}send(t){return this.isOpen()?(this.webSocket.send(JSON.stringify(t)),!0):!1}open(){if(this.isActive())return Bt.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1;{let t=[...GS,...this.consumer.subprotocols||[]];return Bt.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${t}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new Ng.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(Bt.log(`Reopening WebSocket, current state is ${this.getState()}`),this.isActive())try{return this.close()}catch(t){Bt.log("Failed to reopen WebSocket",t)}finally{Bt.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 lj.call(tQ,this.getProtocol())>=0}isState(...t){return lj.call(t,this.getState())>=0}getState(){if(this.webSocket){for(let t in Ng.WebSocket)if(Ng.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(){}}};Xf.reopenDelay=500;Xf.prototype.events={message(e){if(!this.isProtocolSupported())return;let{identifier:t,message:r,reason:n,reconnect:a,type:i}=JSON.parse(e.data);switch(this.monitor.recordMessage(),i){case Wf.welcome:return this.triedToReconnect()&&(this.reconnectAttempted=!0),this.monitor.recordConnect(),this.subscriptions.reload();case Wf.disconnect:return Bt.log(`Disconnecting. Reason: ${n}`),this.close({allowReconnect:a});case Wf.ping:return null;case Wf.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 Wf.rejection:return this.subscriptions.reject(t);default:return this.subscriptions.notify(t,"received",r)}},open(){if(Bt.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return Bt.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(e){if(Bt.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){Bt.log("WebSocket onerror event")}};var rQ=function(e,t){if(t!=null)for(let r in t){let n=t[r];e[r]=n}return e},XS=class{constructor(t,r={},n){this.consumer=t,this.identifier=JSON.stringify(r),rQ(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)}},ZS=class{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){this.pendingSubscriptions.indexOf(t)==-1?(Bt.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):Bt.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){Bt.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=>{Bt.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)}))}),500)}},QS=class{constructor(t){this.consumer=t,this.guarantor=new ZS(this),this.subscriptions=[]}create(t,r){let n=t,a=typeof n=="object"?n:{channel:n},i=new XS(this.consumer,a,r);return this.add(i)}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 a;return typeof t=="string"?a=this.findAll(t):a=[t],a.map((i=>typeof i[r]=="function"?i[r](...n):void 0))}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){Bt.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})}},JS=class{constructor(t){this._url=t,this.subscriptions=new QS(this),this.connection=new Xf(this),this.subprotocols=[]}get url(){return nQ(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 nQ(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 uj(e=aQ("url")||sj.default_mount_path){return new JS(e)}function aQ(e){let t=document.head.querySelector(`meta[name='action-cable-${e}']`);if(t)return t.getAttribute("content")}var _g=null;function iQ(){if(_g===null)try{_g=uj()}catch{_g=!1}return _g||null}function cj(e,t,r,n=!0){let a=(0,To.useRef)(null),i=(0,To.useRef)(r);return(0,To.useEffect)(()=>{i.current=r},[r]),(0,To.useEffect)(()=>{if(!n||!e)return;let l=iQ();return a.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),i.current&&i.current(s)},rejected(){console.warn(`[ActionCable] Subscription rejected for ${e}`)}}),()=>{a.current&&(console.log(`[ActionCable] Unsubscribing from ${e}`),a.current.unsubscribe(),a.current=null)}},[e,JSON.stringify(t),n]),{send:(0,To.useCallback)((l,s)=>{a.current&&a.current.perform(l,s)},[])}}var Cg=[{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"}],oQ={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"}]},dj={max_runs:10,timeout_seconds:300,session_duration_minutes:15};function RS({initialType:e="playwright_mcp",onClose:t}){let[r,n]=(0,B.useState)(e),[a,i]=(0,B.useState)(null),[o,l]=(0,B.useState)(""),[s,u]=(0,B.useState)([]),[c,d]=(0,B.useState)(null),[f,p]=(0,B.useState)(!1),[v,h]=(0,B.useState)(!1),[b,m]=(0,B.useState)(null),[g,x]=(0,B.useState)(null),[A,k]=(0,B.useState)(!1),[_,M]=(0,B.useState)(null),[E,L]=(0,B.useState)(!1),I=(0,B.useRef)(null),[j,z]=(0,B.useState)(["anthropic"]),[X,R]=(0,B.useState)(!1),[Q,y]=(0,B.useState)({}),[C,O]=(0,B.useState)([]),D=(0,B.useCallback)(q=>{switch(console.log("[SandboxRunner] Received ActionCable message:",q),q.type){case"run_started":X?y(ae=>({...ae,[q.provider]:{status:"running",started_at:q.started_at,provider:q.provider}})):d(ae=>({...ae,status:"running",provider:q.provider}));break;case"run_complete":X?(y(ae=>({...ae,[q.provider]:{...q.run,provider:q.provider}})),O(ae=>ae.filter(ie=>ie!==q.provider)),q.sandbox&&(i(q.sandbox),u(q.sandbox.runs||[]))):(d(q.run),p(!1),q.sandbox&&(i(q.sandbox),u(q.sandbox.runs||[]))),O(ae=>{let ie=ae.filter(G=>G!==q.provider);return ie.length===0&&p(!1),ie});break;case"run_error":X?(y(ae=>({...ae,[q.provider]:{status:"failed",error:q.error,provider:q.provider}})),O(ae=>ae.filter(ie=>ie!==q.provider))):(d(ae=>({...ae,status:"failed",error:q.error})),p(!1)),q.sandbox&&i(q.sandbox);break}},[X]);cj("SandboxChannel",{session_id:a?.session_id},D,!!a?.session_id),(0,B.useEffect)(()=>{T(),N()},[r]);let N=async()=>{try{let q=await fetch("/api/usage");if(q.ok){let ae=await q.json();M(ae.usage)}}catch{console.log("Could not fetch usage (user may not be authenticated)")}};(0,B.useEffect)(()=>{if(!a?.expires_at)return;let q=setInterval(()=>{let ae=new Date,ie=new Date(a.expires_at),G=Math.max(0,Math.floor((ie-ae)/1e3));x(G),G===0&&(i(xe=>({...xe,status:"expired"})),clearInterval(q))},1e3);return()=>clearInterval(q)},[a?.expires_at]),(0,B.useEffect)(()=>{I.current&&(I.current.scrollTop=I.current.scrollHeight)},[c?.result]);let T=async()=>{h(!0),m(null);try{let q=await fetch("/api/sandboxes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sandbox_type:r})});if(!q.ok)throw new Error("Failed to create sandbox session");let ae=await q.json();i(ae.sandbox),u([]),d(null)}catch(q){m(q.message)}finally{h(!1)}},H=async()=>{!o.trim()||f||!a||(X&&j.length>1?await J():await Y(j[0]||"anthropic"))},Y=async q=>{p(!0),d({status:"running",task:o,provider:q,result:"",started_at:new Date().toISOString()});try{let ae=await fetch(`/api/sandboxes/${a.session_id}/run`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:o,provider:q})}),ie=await ae.json();if(ae.status===402&&ie.upgrade_required){M(ie.usage),k(!0),d(G=>({...G,status:"failed",error:ie.message||"Plan limit reached"})),p(!1);return}if(!ae.ok)throw new Error(ie.error||"Task execution failed");ie.usage&&M(ie.usage),ge(ie.run_id)}catch(ae){d(ie=>({...ie,status:"failed",error:ae.message})),p(!1)}},J=async()=>{p(!0),O([...j]),y({});let q={};j.forEach(ae=>{q[ae]={status:"running",result:"",started_at:new Date().toISOString()}}),y(q);try{let ae=await fetch("/api/sandboxes/compare",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:o,providers:j,sandbox_id:a?.session_id,sandbox_type:r})});if(!ae.ok){let G=await ae.json();throw new Error(G.error||"Comparison failed")}let ie=await ae.json();ie.sandbox&&i(ie.sandbox),setTimeout(()=>{C.length>0&&fe()},6e4)}catch(ae){j.forEach(ie=>{y(G=>({...G,[ie]:{status:"failed",error:ae.message}}))}),p(!1),O([])}},fe=async()=>{if(a?.session_id)try{let ae=await(await fetch(`/api/sandboxes/${a.session_id}`)).json();i(ae.sandbox),u(ae.sandbox.runs||[]),(ae.sandbox.runs||[]).forEach(xe=>{xe.provider&&y(Ae=>({...Ae,[xe.provider]:{...xe,provider:xe.provider}}))}),j.every(xe=>{let Ae=Q[xe];return Ae?.status==="completed"||Ae?.status==="failed"})&&(p(!1),O([]))}catch(q){console.error("Polling error:",q)}},pe=q=>{z(ae=>ae.includes(q)?ae.length===1?ae:ae.filter(ie=>ie!==q):[...ae,q])},ge=async q=>{let ae=async()=>{try{let G=await(await fetch(`/api/sandboxes/${a.session_id}`)).json();i(G.sandbox);let xe=G.sandbox.runs||[],Ae=xe[xe.length-1];if(Ae&&(d(Ae),u(xe),Ae.status==="completed"||Ae.status==="failed")){p(!1);return}setTimeout(ae,1e3)}catch{p(!1)}};ae()},ze=q=>{q.key==="Enter"&&(q.metaKey||q.ctrlKey)&&H()},se=q=>{if(!q)return"--:--";let ae=Math.floor(q/60),ie=q%60;return`${ae}:${ie.toString().padStart(2,"0")}`},Ne=q=>{switch(q){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"}},F=a?.status==="ready"&&a?.runs_count{L(!0);try{await dc({planSlug:"pro",billingInterval:q})}catch(ae){console.error("Checkout error:",ae),m(ae.message||"Failed to initiate checkout. Please try again."),L(!1)}};return B.default.createElement("div",{className:"h-full flex flex-col bg-gray-50"},B.default.createElement("div",{className:"bg-white border-b border-gray-200 px-6 py-4"},B.default.createElement("div",{className:"flex items-center justify-between"},B.default.createElement("div",{className:"flex items-center space-x-4"},B.default.createElement(Mt,{size:48,appearance:{hat:"fedora",hatAccessory:"theaterMasks",heldItem:"browser"}}),B.default.createElement("div",null,B.default.createElement("h1",{className:"text-xl font-semibold text-gray-900"},"PlaywrightMCP Demo"),B.default.createElement("p",{className:"text-sm text-gray-500"},"Try browser automation for free - no account required"))),B.default.createElement("div",{className:"flex items-center space-x-4"},a&&B.default.createElement("div",{className:"flex items-center space-x-3 text-sm"},B.default.createElement("span",{className:`px-2 py-1 rounded-full text-xs font-medium ${Ne(a.status)}`},a.status),B.default.createElement("span",{className:"text-gray-500"},a.runs_count,"/",a.max_runs," runs"),B.default.createElement("span",{className:`font-mono ${g<60?"text-red-500":"text-gray-500"}`},se(g))),t&&B.default.createElement("button",{onClick:t,className:"text-gray-400 hover:text-gray-600"},B.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},B.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))))),B.default.createElement("div",{className:"flex-1 p-6 overflow-hidden"},B.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},B.default.createElement("div",{className:"col-span-2 flex flex-col space-y-4"},B.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},B.default.createElement("textarea",{value:o,onChange:q=>l(q.target.value),onKeyDown:ze,placeholder:"Describe what you want the browser agent to do...",rows:3,disabled:!F,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"}),B.default.createElement("div",{className:"flex items-center justify-between mt-3"},B.default.createElement("span",{className:"text-xs text-gray-400"},"Press ",B.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Cmd")," + ",B.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Enter")," to run"),B.default.createElement("button",{onClick:H,disabled:!o.trim()||!F,className:`flex items-center space-x-2 px-6 py-2 rounded-lg transition-colors ${o.trim()&&F?"bg-rose-500 text-white hover:bg-rose-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},f?B.default.createElement(B.default.Fragment,null,B.default.createElement("span",{className:"animate-spin"},"\u25E0"),B.default.createElement("span",null,"Running...")):B.default.createElement(B.default.Fragment,null,B.default.createElement("span",null,"\u25B6"),B.default.createElement("span",null,"Run"))))),B.default.createElement("div",{className:"flex-1 bg-white rounded-xl border border-gray-200 flex flex-col overflow-hidden"},B.default.createElement("div",{className:"px-4 py-3 border-b border-gray-200 flex items-center justify-between"},B.default.createElement("h3",{className:"font-medium text-gray-900"},X&&Object.keys(Q).length>0?"Comparison Results":"Output"),c&&!X&&B.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${Ne(c.status)}`},c.status),X&&C.length>0&&B.default.createElement("span",{className:"text-xs text-blue-600"},"Running ",C.length," provider(s)...")),B.default.createElement("div",{ref:I,className:"flex-1 overflow-auto bg-gray-50"},v?B.default.createElement("div",{className:"flex items-center justify-center h-full text-gray-500 p-4"},B.default.createElement("span",{className:"animate-pulse"},"Starting sandbox...")):b?B.default.createElement("div",{className:"text-red-600 p-4"},b):X&&Object.keys(Q).length>0?B.default.createElement("div",{className:"grid grid-cols-1 divide-y divide-gray-200"},j.map(q=>{let ae=Cg.find(G=>G.id===q),ie=Q[q];return B.default.createElement("div",{key:q,className:"p-4"},B.default.createElement("div",{className:"flex items-center justify-between mb-2"},B.default.createElement("div",{className:"flex items-center space-x-2"},B.default.createElement("div",{className:`w-3 h-3 rounded-full ${ae?.color||"bg-gray-400"}`}),B.default.createElement("span",{className:"font-medium text-gray-900"},ae?.name||q),B.default.createElement("span",{className:"text-xs text-gray-500"},ae?.model)),ie&&B.default.createElement("div",{className:"flex items-center space-x-2"},B.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${Ne(ie.status)}`},ie.status),ie.tokens&&B.default.createElement("span",{className:"text-xs text-gray-500"},ie.tokens," tokens"),ie.duration_ms&&B.default.createElement("span",{className:"text-xs text-gray-500"},(ie.duration_ms/1e3).toFixed(1),"s"))),B.default.createElement("div",{className:"bg-white rounded-lg border border-gray-200 p-3 font-mono text-sm max-h-48 overflow-auto"},ie?.status==="running"?B.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},B.default.createElement("span",{className:"animate-pulse"},"\u25CF"),B.default.createElement("span",null,"Processing...")):ie?.error?B.default.createElement("div",{className:"text-red-600"},ie.error):ie?.result?B.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},ie.result):B.default.createElement("span",{className:"text-gray-400"},"Waiting...")))})):c?B.default.createElement("div",{className:"p-4 font-mono text-sm"},c.provider&&B.default.createElement("div",{className:"flex items-center space-x-2 mb-3 pb-2 border-b border-gray-200"},B.default.createElement("div",{className:`w-2 h-2 rounded-full ${Cg.find(q=>q.id===c.provider)?.color||"bg-gray-400"}`}),B.default.createElement("span",{className:"text-sm text-gray-600"},Cg.find(q=>q.id===c.provider)?.name||c.provider)),c.status==="running"?B.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},B.default.createElement("span",{className:"animate-pulse"},"\u25CF"),B.default.createElement("span",null,"Executing task...")):c.error?B.default.createElement("div",{className:"text-red-600"},B.default.createElement("div",{className:"font-semibold mb-2"},"Error:"),B.default.createElement("pre",{className:"whitespace-pre-wrap"},c.error)):B.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},c.result||"Processing...")):B.default.createElement("div",{className:"text-gray-400 text-center py-12"},B.default.createElement("p",{className:"mb-2"},"Select a sample task or enter your own"),B.default.createElement("p",{className:"text-xs"},X?`Compare results across ${j.length} providers`:"Task will execute using the selected provider"))))),B.default.createElement("div",{className:"space-y-4 overflow-auto"},B.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},B.default.createElement("div",{className:"flex items-center justify-between mb-3"},B.default.createElement("h4",{className:"font-medium text-gray-900"},"Providers"),B.default.createElement("label",{className:"flex items-center space-x-2 cursor-pointer"},B.default.createElement("input",{type:"checkbox",checked:X,onChange:q=>R(q.target.checked),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),B.default.createElement("span",{className:"text-xs text-gray-600"},"Compare"))),B.default.createElement("div",{className:"space-y-2"},Cg.map(q=>B.default.createElement("label",{key:q.id,className:`flex items-center justify-between p-2 rounded-lg border cursor-pointer transition-colors ${j.includes(q.id)?"border-rose-300 bg-rose-50":"border-gray-200 hover:bg-gray-50"}`},B.default.createElement("div",{className:"flex items-center space-x-3"},B.default.createElement("input",{type:"checkbox",checked:j.includes(q.id),onChange:()=>pe(q.id),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),B.default.createElement("div",{className:`w-2 h-2 rounded-full ${q.color}`}),B.default.createElement("span",{className:"text-sm font-medium text-gray-900"},q.name)),B.default.createElement("span",{className:"text-xs text-gray-500"},q.model)))),X&&j.length>1&&B.default.createElement("div",{className:"mt-3 p-2 bg-purple-50 rounded-lg"},B.default.createElement("p",{className:"text-xs text-purple-700"},"Comparison mode: Run task on ",j.length," providers simultaneously"))),B.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},B.default.createElement("div",{className:"flex items-center justify-between mb-3"},B.default.createElement("h4",{className:"font-medium text-gray-900"},"Sample Tasks"),X&&B.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")),B.default.createElement("div",{className:"space-y-2"},oQ[r]?.map((q,ae)=>B.default.createElement("button",{key:ae,onClick:()=>l(q.task),disabled:!F,className:"w-full text-left px-3 py-2 rounded-lg transition-colors border border-gray-200 hover:bg-gray-50 disabled:opacity-50"},B.default.createElement("div",{className:"font-medium text-sm text-gray-900"},q.name),B.default.createElement("div",{className:"text-xs text-gray-500 mt-0.5"},q.description))))),B.default.createElement("div",{className:"bg-gradient-to-br from-rose-50 to-purple-50 rounded-xl border border-rose-200 p-4"},B.default.createElement("h4",{className:"font-medium text-gray-900 mb-3"},_?.plan==="free"?"Free Tier":`${_?.plan?.toUpperCase()||"FREE"} Plan`),_&&B.default.createElement("div",{className:"mb-4"},B.default.createElement("div",{className:"flex justify-between text-sm mb-1"},B.default.createElement("span",{className:"text-gray-600"},"Agent Runs"),B.default.createElement("span",{className:`font-medium ${_.runs_remaining<=1?"text-rose-600":"text-gray-900"}`},_.runs_used," / ",_.runs_limit)),B.default.createElement("div",{className:"w-full bg-white rounded-full h-2 border border-rose-200"},B.default.createElement("div",{className:`h-2 rounded-full transition-all ${_.runs_remaining<=1?"bg-rose-500":"bg-emerald-500"}`,style:{width:`${Math.min(_.runs_used/_.runs_limit*100,100)}%`}})),_.runs_remaining<=1&&B.default.createElement("p",{className:"text-xs text-rose-600 mt-1"},_.runs_remaining===0?"Limit reached!":"Almost at limit!")),B.default.createElement("dl",{className:"space-y-2 text-sm"},B.default.createElement("div",{className:"flex justify-between"},B.default.createElement("dt",{className:"text-gray-500"},"Session Runs"),B.default.createElement("dd",{className:"text-gray-900"},a?.runs_count||0,"/",a?.max_runs||dj.max_runs)),B.default.createElement("div",{className:"flex justify-between"},B.default.createElement("dt",{className:"text-gray-500"},"Timeout"),B.default.createElement("dd",{className:"text-gray-900"},dj.timeout_seconds,"s per task"))),_?.plan==="free"&&B.default.createElement("div",{className:"mt-4 pt-4 border-t border-rose-200"},B.default.createElement("button",{onClick:()=>k(!0),className:"w-full text-center text-sm text-rose-600 hover:text-rose-700 font-medium"},"Upgrade to PRO \u2192"))),s.length>0&&B.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},B.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},B.default.createElement("h4",{className:"font-medium text-gray-900"},"Run History")),B.default.createElement("div",{className:"max-h-48 overflow-auto divide-y divide-gray-100"},s.slice().reverse().map((q,ae)=>B.default.createElement("div",{key:q.id||ae,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>d(q)},B.default.createElement("div",{className:"flex items-center justify-between mb-1"},B.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${Ne(q.status||"completed")}`},q.status||"completed"),B.default.createElement("span",{className:"text-xs text-gray-400"},q.tokens||0," tokens")),B.default.createElement("p",{className:"text-sm text-gray-600 truncate"},q.task))))),a?.status==="expired"&&B.default.createElement("button",{onClick:T,className:"w-full px-4 py-3 bg-rose-500 text-white rounded-lg hover:bg-rose-600 transition-colors"},"Start New Session")))),A&&B.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},B.default.createElement("div",{className:"bg-white rounded-2xl max-w-4xl w-full overflow-hidden shadow-2xl max-h-[90vh] overflow-y-auto"},B.default.createElement("div",{className:"bg-gradient-to-r from-rose-500 to-purple-600 px-6 py-6 text-white text-center"},B.default.createElement("h2",{className:"text-2xl font-bold mb-1"},"Upgrade Your Plan"),B.default.createElement("p",{className:"text-rose-100 text-sm"},"You've used ",_?.runs_used||0," of ",_?.runs_limit||25," trial runs. Choose a plan to continue.")),B.default.createElement("div",{className:"p-6"},B.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},B.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},B.default.createElement("div",{className:"text-center mb-4"},B.default.createElement("h3",{className:"font-semibold text-gray-900"},"Free"),B.default.createElement("div",{className:"mt-2"},B.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$0"),B.default.createElement("span",{className:"text-gray-500"},"/mo"))),B.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},B.default.createElement("li",{className:"flex items-start"},B.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"25 trial runs/month"),B.default.createElement("li",{className:"flex items-start"},B.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Community support"),B.default.createElement("li",{className:"flex items-start"},B.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Basic features")),B.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")),B.default.createElement("div",{className:"border-2 border-rose-500 rounded-xl p-5 relative bg-rose-50"},B.default.createElement("div",{className:"absolute -top-3 left-1/2 transform -translate-x-1/2"},B.default.createElement("span",{className:"bg-rose-500 text-white text-xs font-semibold px-3 py-1 rounded-full"},"RECOMMENDED")),B.default.createElement("div",{className:"text-center mb-4 mt-2"},B.default.createElement("h3",{className:"font-semibold text-gray-900"},"Pro"),B.default.createElement("div",{className:"mt-2"},B.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$99"),B.default.createElement("span",{className:"text-gray-500"},"/mo")),B.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $995/year (save 16%)")),B.default.createElement("ul",{className:"space-y-2 text-sm text-gray-700 mb-4"},B.default.createElement("li",{className:"flex items-start"},B.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"10,000 agent runs/month"),B.default.createElement("li",{className:"flex items-start"},B.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Advanced cost tracking"),B.default.createElement("li",{className:"flex items-start"},B.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"25K traces/month"),B.default.createElement("li",{className:"flex items-start"},B.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Priority email support")),B.default.createElement("button",{onClick:()=>$("monthly"),disabled:E,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"},E?"Loading...":"Upgrade to Pro")),B.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},B.default.createElement("div",{className:"text-center mb-4"},B.default.createElement("h3",{className:"font-semibold text-gray-900"},"Enterprise"),B.default.createElement("div",{className:"mt-2"},B.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$269"),B.default.createElement("span",{className:"text-gray-500"},"/mo")),B.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $2,690/year (save 16%)")),B.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},B.default.createElement("li",{className:"flex items-start"},B.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Unlimited runs"),B.default.createElement("li",{className:"flex items-start"},B.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"500K traces/month"),B.default.createElement("li",{className:"flex items-start"},B.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"SSO & SOC2/HIPAA"),B.default.createElement("li",{className:"flex items-start"},B.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Dedicated support")),B.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")))),B.default.createElement("div",{className:"px-6 py-4 bg-gray-50 border-t border-gray-100 flex justify-center"},B.default.createElement("button",{onClick:()=>k(!1),className:"text-gray-500 hover:text-gray-700 text-sm"},"Maybe later")))))}var ve=ee(ne());var Eg={SCREENSHOT:"screenshot",IFRAME:"iframe"},fj={navigate:"[->]",click:"[*]",type:"[T]",form_fill:"[F]",key_press:"[K]",snapshot:"[S]",hover:"[~]",select:"[v]",file_upload:"[^]",dialog:"[!]",evaluate:"[js]",wait:"[..]",scroll:"[|]",drag:"[<>]"},eA={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"},lQ=` + A`,",",",0,0,",",",",","Z"])),B.x,B.y,i,i,+(c<0),z.x,z.y,n,n,+(X>180),+(c>0),C.x,C.y,i,i,+(c<0),T.x,T.y)}else w+=tr(FT||(FT=Jo(["L",",","Z"])),t,r);return w},i$={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},WT=e=>{var t=At(e,i$),r=t.cx,n=t.cy,a=t.innerRadius,i=t.outerRadius,o=t.cornerRadius,l=t.forceCornerRadius,s=t.cornerIsExternal,u=t.startAngle,c=t.endAngle,d=t.className;if(i0&&Math.abs(u-c)<360?g=a$({cx:r,cy:n,innerRadius:a,outerRadius:i,cornerRadius:Math.min(v,p/2),forceCornerRadius:l,cornerIsExternal:s,startAngle:u,endAngle:c}):g=qT({cx:r,cy:n,innerRadius:a,outerRadius:i,startAngle:u,endAngle:c}),YT.createElement("path",T1({},Lt(t),{className:f,d:g}))};function KT(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(Pm(t)){if(e==="centric"){var n=t.cx,a=t.cy,i=t.innerRadius,o=t.outerRadius,l=t.angle,s=Tt(n,a,i,l),u=Tt(n,a,o,l);return[{x:s.x,y:s.y},{x:u.x,y:u.y}]}return th(t)}}function GT(e){return lv(e)?NaN:Number(e)}function nh(e){return e?(e=GT(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function ah(e,t,r){r&&typeof r!="number"&&dd(e,t,r)&&(t=r=void 0),e=nh(e),t===void 0?(t=e,e=0):t=nh(t),r=r===void 0?ee.chartData,M1=W([Jr],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),Od=(e,t,r,n)=>n?M1(e):Jr(e),XT=(e,t,r)=>r?M1(e):Jr(e),ZT=W([Od],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),Lae=W([M1],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),QT=W([Jr],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});function D1(e,t){return u$(e)||s$(e,t)||l$(e,t)||o$()}function o$(){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 l$(e,t){if(e){if(typeof e=="string")return JT(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)?JT(e,t):void 0}}function JT(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=kd(e,2),r=t[0],n=t[1],a=r,i=n;return r>n&&(a=n,i=r),[a,i]},L1=(e,t,r)=>{if(e.lte(0))return new qe.default(0);var n=I1(e.toNumber()),a=new qe.default(10).pow(n),i=e.div(a),o=n!==1?.05:.1,l=new qe.default(Math.ceil(i.div(o).toNumber())).add(r).mul(o),s=l.mul(a);return t?new qe.default(s.toNumber()):new qe.default(Math.ceil(s.toNumber()))},a3=(e,t,r)=>{var n;if(e.lte(0))return new qe.default(0);var a=[1,2,2.5,5],i=e.toNumber(),o=Math.floor(new qe.default(i).abs().log(10).toNumber()),l=new qe.default(10).pow(o),s=e.div(l).toNumber(),u=a.findIndex(p=>p>=s-1e-10);if(u===-1&&(l=l.mul(10),u=0),u+=r,u>=a.length){var c=Math.floor(u/a.length);u%=a.length,l=l.mul(new qe.default(10).pow(c))}var d=(n=a[u])!==null&&n!==void 0?n:1,f=new qe.default(d).mul(l);return t?f:new qe.default(Math.ceil(f.toNumber()))},m$=(e,t,r)=>{var n=new qe.default(1),a=new qe.default(e);if(!a.isint()&&r){var i=Math.abs(e);i<1?(n=new qe.default(10).pow(I1(e)-1),a=new qe.default(Math.floor(a.div(n).toNumber())).mul(n)):i>1&&(a=new qe.default(Math.floor(e)))}else e===0?a=new qe.default(Math.floor((t-1)/2)):r||(a=new qe.default(Math.floor(e)));for(var o=Math.floor((t-1)/2),l=[],s=0;s4&&arguments[4]!==void 0?arguments[4]:0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:L1;if(!Number.isFinite((r-t)/(n-1)))return{step:new qe.default(0),tickMin:new qe.default(0),tickMax:new qe.default(0)};var l=o(new qe.default(r).sub(t).div(n-1),a,i),s;t<=0&&r>=0?s=new qe.default(0):(s=new qe.default(t).add(r).div(2),s=s.sub(new qe.default(s).mod(l)));var u=Math.ceil(s.sub(t).div(l).toNumber()),c=Math.ceil(new qe.default(r).sub(s).div(l).toNumber()),d=u+c+1;return d>n?i3(t,r,n,a,i+1,o):(d0?c+(n-d):c,u=r>0?u:u+(n-d)),{step:l,tickMin:s.sub(new qe.default(u).mul(l)),tickMax:s.add(new qe.default(c).mul(l))})};var lh=function(t){var r=kd(t,2),n=r[0],a=r[1],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=Math.max(i,2),u=n3([n,a]),c=kd(u,2),d=c[0],f=c[1];if(d===-1/0||f===1/0){var p=f===1/0?[d,...Array(i-1).fill(1/0)]:[...Array(i-1).fill(-1/0),f];return n>a?p.reverse():p}if(d===f)return m$(d,i,o);var v=l==="snap125"?a3:L1,g=i3(d,f,s,o,0,v),b=g.step,m=g.tickMin,h=g.tickMax,x=z1(m,h.add(new qe.default(.1).mul(b)),b);return n>a?x.reverse():x},sh=function(t,r){var n=kd(t,2),a=n[0],i=n[1],o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=n3([a,i]),u=kd(s,2),c=u[0],d=u[1];if(c===-1/0||d===1/0)return[a,i];if(c===d)return[c];var f=l==="snap125"?a3:L1,p=Math.max(r,2),v=f(new qe.default(d).sub(c).div(p-1),o,0),g=[...z1(new qe.default(c),new qe.default(d),v),d];if(o===!1){g=g.map(m=>Math.round(m));var b=g.length-1;b>0&&g[b]===g[b-1]&&(g=g.slice(0,b))}return a>i?g.reverse():g};var o3=e=>e.rootProps.barCategoryGap;var su=e=>e.rootProps.stackOffset,uh=e=>e.rootProps.reverseStackOrder,uu=e=>e.options.chartName,ch=e=>e.rootProps.syncId,B1=e=>e.rootProps.syncMethod,dh=e=>e.options.eventEmitter,l3=e=>e.rootProps.baseValue;var rt={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 ao={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:rt.axis};var aa={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:rt.axis};var Ro=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function el(e,t,r){if(r!=="auto")return r;if(e!=null)return Qr(e,t)?"category":"number"}function s3(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function fh(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},ph=W([y$,S1],(e,t)=>{var r;if(e!=null)return e;var n=(r=el(t,"angleAxis",u3.type))!==null&&r!==void 0?r:"category";return fh(fh({},u3),{},{type:n})}),x$=(e,t)=>e.polarAxis.radiusAxis[t],mh=W([x$,S1],(e,t)=>{var r;if(e!=null)return e;var n=(r=el(t,"radiusAxis",c3.type))!==null&&r!==void 0?r:"category";return fh(fh({},c3),{},{type:n})}),vh=e=>e.polarOptions,U1=W([Cr,_r,gt],IT),d3=W([vh,U1],(e,t)=>{if(e!=null)return In(e.innerRadius,t,0)}),f3=W([vh,U1],(e,t)=>{if(e!=null)return In(e.outerRadius,t,t*.8)}),b$=e=>{if(e==null)return[0,0];var t=e.startAngle,r=e.endAngle;return[t,r]},$1=W([vh],b$),pie=W([ph,$1],Ro),H1=W([U1,d3,f3],(e,t,r)=>{if(!(e==null||t==null||r==null))return[t,r]}),mie=W([mh,H1],Ro),hh=W([Qe,vh,d3,f3,Cr,_r],(e,t,r,n,a,i)=>{if(!(e!=="centric"&&e!=="radial"||t==null||r==null||n==null)){var o=t.cx,l=t.cy,s=t.startAngle,u=t.endAngle;return{cx:In(o,a,a/2),cy:In(l,i,i/2),innerRadius:r,outerRadius:n,startAngle:s,endAngle:u,clockWise:!1}}});var ar=(e,t)=>t;var Td=(e,t,r)=>r;function cu(e){return e?.id}function gh(e,t,r){var n=t.chartData,a=n===void 0?[]:n,i=r.allowDuplicatedCategory,o=r.dataKey,l=new Map;return e.forEach(s=>{var u,c=(u=s.data)!==null&&u!==void 0?u:a;if(!(c==null||c.length===0)){var d=cu(s);c.forEach((f,p)=>{var v=o==null||i?p:String(ht(f,o,null)),g=ht(f,s.dataKey,0),b;l.has(v)?b=l.get(v):b={},Object.assign(b,{[d]:g}),l.set(v,b)})}}),Array.from(l.values())}function Md(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var tl=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function du(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function p3(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 io=e=>e.tooltip.settings.axisId;function Dd(e){if(e!=null){var t=e.ticks,r=e.bandwidth,n=e.range(),a=[Math.min(...n),Math.max(...n)];return{domain:()=>e.domain(),range:(function(i){function o(){return i.apply(this,arguments)}return o.toString=function(){return i.toString()},o})(()=>a),rangeMin:()=>a[0],rangeMax:()=>a[1],isInRange(i){var o=a[0],l=a[1];return o<=l?i>=o&&i<=l:i>=l&&i<=o},bandwidth:r?()=>r.call(e):void 0,ticks:t?i=>t.call(e,i):void 0,map:(i,o)=>{var l=e(i);if(l!=null){if(e.bandwidth&&o!==null&&o!==void 0&&o.position){var s=e.bandwidth();switch(o.position){case"middle":l+=s/2;break;case"end":l+=s;break;default:break}}return l}}}}}var m3=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!yn(t)){for(var r,n,a=0;an)&&(n=i))}return r!==void 0&&n!==void 0?[r,n]:void 0}return t}default:return t}};var Rd={};uj(Rd,{scaleBand:()=>zd,scaleDiverging:()=>Jh,scaleDivergingLog:()=>b2,scaleDivergingPow:()=>Rh,scaleDivergingSqrt:()=>z4,scaleDivergingSymlog:()=>w2,scaleIdentity:()=>zh,scaleImplicit:()=>Nh,scaleLinear:()=>Ih,scaleLog:()=>Lh,scaleOrdinal:()=>mu,scalePoint:()=>w3,scalePow:()=>Kd,scaleQuantile:()=>$h,scaleQuantize:()=>Hh,scaleRadial:()=>Uh,scaleSequential:()=>Gh,scaleSequentialLog:()=>y2,scaleSequentialPow:()=>Xh,scaleSequentialQuantile:()=>Zh,scaleSequentialSqrt:()=>I4,scaleSequentialSymlog:()=>x2,scaleSqrt:()=>n4,scaleSymlog:()=>Bh,scaleThreshold:()=>Vh,scaleTime:()=>h2,scaleUtc:()=>g2,tickFormat:()=>Vd});function Br(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function V1(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function rl(e){let t,r,n;e.length!==2?(t=Br,r=(l,s)=>Br(e(l),s),n=(l,s)=>e(l)-s):(t=e===Br||e===V1?e:w$,r=e,n=e);function a(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:a,center:o,right:i}}function w$(){return 0}function Pd(e){return e===null?NaN:+e}function*v3(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 h3=rl(Br),g3=h3.right,S$=h3.left,A$=rl(Pd).center,ia=g3;var fu=class extends Map{constructor(t,r=_$){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(let[n,a]of t)this.set(n,a)}get(t){return super.get(y3(this,t))}has(t){return super.has(y3(this,t))}set(t,r){return super.set(N$(this,t),r)}delete(t){return super.delete(C$(this,t))}};function y3({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):r}function N$({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function C$({_intern:e,_key:t},r){let n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function _$(e){return e!==null&&typeof e=="object"?e.valueOf():e}function x3(e=Br){if(e===Br)return F1;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 F1(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}var E$=Math.sqrt(50),O$=Math.sqrt(10),k$=Math.sqrt(2);function yh(e,t,r){let n=(t-e)/Math.max(0,r),a=Math.floor(Math.log10(n)),i=n/Math.pow(10,a),o=i>=E$?10:i>=O$?5:i>=k$?2:1,l,s,u;return a<0?(u=Math.pow(10,-a)/o,l=Math.round(e*u),s=Math.round(t*u),l/ut&&--s,u=-u):(u=Math.pow(10,a)*o,l=Math.round(e/u),s=Math.round(t/u),l*ut&&--s),s0))return[];if(e===t)return[e];let n=t=a))return[];let l=i-a+1,s=new Array(l);if(n)if(o<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let a of e)(a=t(a,++n,e))!=null&&(r=a)&&(r=a)}return r}function bh(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 a of e)(a=t(a,++n,e))!=null&&(r>a||r===void 0&&a>=a)&&(r=a)}return r}function wh(e,t,r=0,n=1/0,a){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(a=a===void 0?F1:x3(a);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)),v=Math.min(n,Math.floor(t+(s-u)*d/s+f));wh(e,t,p,v,a)}let i=e[t],o=r,l=n;for(Id(e,r,t),a(e[n],i)>0&&Id(e,r,n);o0;)--l}a(e[r],i)===0?Id(e,r,l):(++l,Id(e,l,n)),l<=t&&(r=l+1),t<=l&&(n=l-1)}return e}function Id(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}function Sh(e,t,r){if(e=Float64Array.from(v3(e,r)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return bh(e);if(t>=1)return xh(e);var n,a=(n-1)*t,i=Math.floor(a),o=xh(wh(e,i).subarray(0,i+1)),l=bh(e.subarray(i+1));return o+(l-o)*(a-i)}}function Y1(e,t,r=Pd){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,a=(n-1)*t,i=Math.floor(a),o=+r(e[i],i,e),l=+r(e[i+1],i+1,e);return o+(l-o)*(a-i)}}function Ah(e,t,r){e=+e,t=+t,r=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+r;for(var n=-1,a=Math.max(0,Math.ceil((t-e)/r))|0,i=new Array(a);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?_h(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?_h(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=M$.exec(e))?new Rr(t[1],t[2],t[3],1):(t=D$.exec(e))?new Rr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=P$.exec(e))?_h(t[1],t[2],t[3],t[4]):(t=j$.exec(e))?_h(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=I$.exec(e))?O3(t[1],t[2]/100,t[3]/100,1):(t=z$.exec(e))?O3(t[1],t[2]/100,t[3]/100,t[4]):S3.hasOwnProperty(e)?C3(S3[e]):e==="transparent"?new Rr(NaN,NaN,NaN,0):null}function C3(e){return new Rr(e>>16&255,e>>8&255,e&255,1)}function _h(e,t,r,n){return n<=0&&(e=t=r=NaN),new Rr(e,t,r,n)}function U$(e){return e instanceof Ud||(e=oo(e)),e?(e=e.rgb(),new Rr(e.r,e.g,e.b,e.opacity)):new Rr}function hu(e,t,r,n){return arguments.length===1?U$(e):new Rr(e,t,r,n??1)}function Rr(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}Ch(Rr,hu,q1(Ud,{brighter(e){return e=e==null?Oh:Math.pow(Oh,e),new Rr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Ld:Math.pow(Ld,e),new Rr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Rr(il(this.r),il(this.g),il(this.b),kh(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:_3,formatHex:_3,formatHex8:$$,formatRgb:E3,toString:E3}));function _3(){return`#${al(this.r)}${al(this.g)}${al(this.b)}`}function $$(){return`#${al(this.r)}${al(this.g)}${al(this.b)}${al((isNaN(this.opacity)?1:this.opacity)*255)}`}function E3(){let e=kh(this.opacity);return`${e===1?"rgb(":"rgba("}${il(this.r)}, ${il(this.g)}, ${il(this.b)}${e===1?")":`, ${e})`}`}function kh(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function il(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function al(e){return e=il(e),(e<16?"0":"")+e.toString(16)}function O3(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new oa(e,t,r,n)}function T3(e){if(e instanceof oa)return new oa(e.h,e.s,e.l,e.opacity);if(e instanceof Ud||(e=oo(e)),!e)return new oa;if(e instanceof oa)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,a=Math.min(t,r,n),i=Math.max(t,r,n),o=NaN,l=i-a,s=(i+a)/2;return l?(t===i?o=(r-n)/l+(r0&&s<1?0:o,new oa(o,l,s,e.opacity)}function M3(e,t,r,n){return arguments.length===1?T3(e):new oa(e,t,r,n??1)}function oa(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}Ch(oa,M3,q1(Ud,{brighter(e){return e=e==null?Oh:Math.pow(Oh,e),new oa(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Ld:Math.pow(Ld,e),new oa(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,a=2*r-n;return new Rr(W1(e>=240?e-240:e+120,a,n),W1(e,a,n),W1(e<120?e+240:e-120,a,n),this.opacity)},clamp(){return new oa(k3(this.h),Eh(this.s),Eh(this.l),kh(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=kh(this.opacity);return`${e===1?"hsl(":"hsla("}${k3(this.h)}, ${Eh(this.s)*100}%, ${Eh(this.l)*100}%${e===1?")":`, ${e})`}`}}));function k3(e){return e=(e||0)%360,e<0?e+360:e}function Eh(e){return Math.max(0,Math.min(1,e||0))}function W1(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 K1(e,t,r,n,a){var i=e*e,o=i*e;return((1-3*e+3*i-o)*t+(4-6*i+3*o)*r+(1+3*e+3*i-3*o)*n+o*a)/6}function D3(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),a=e[n],i=e[n+1],o=n>0?e[n-1]:2*a-i,l=n()=>e;function H$(e,t){return function(r){return e+r*t}}function V$(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 j3(e){return(e=+e)==1?Th:function(t,r){return r-t?V$(t,r,e):$d(isNaN(t)?r:t)}}function Th(e,t){var r=t-e;return r?H$(e,r):$d(isNaN(e)?t:e)}var G1=(function e(t){var r=j3(t);function n(a,i){var o=r((a=hu(a)).r,(i=hu(i)).r),l=r(a.g,i.g),s=r(a.b,i.b),u=Th(a.opacity,i.opacity);return function(c){return a.r=o(c),a.g=l(c),a.b=s(c),a.opacity=u(c),a+""}}return n.gamma=e,n})(1);function I3(e){return function(t){var r=t.length,n=new Array(r),a=new Array(r),i=new Array(r),o,l;for(o=0;or&&(i=t.slice(r,i),l[o]?l[o]+=i:l[++o]=i),(n=n[0])===(a=a[0])?l[o]?l[o]+=a:l[++o]=a:(l[++o]=null,s.push({i:o,x:lo(n,a)})),r=X1.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function W$(e,t,r){var n=e[0],a=e[1],i=t[0],o=t[1];return a2?K$:W$,s=u=null,d}function d(f){return f==null||isNaN(f=+f)?i:(s||(s=l(e.map(n),t,r)))(n(o(f)))}return d.invert=function(f){return o(a((u||(u=l(t,e.map(n),lo)))(f)))},d.domain=function(f){return arguments.length?(e=Array.from(f,so),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=ol,c()},d.clamp=function(f){return arguments.length?(o=f?!0:ir,c()):o!==ir},d.interpolate=function(f){return arguments.length?(r=f,c()):r},d.unknown=function(f){return arguments.length?(i=f,d):i},function(f,p){return n=f,a=p,c()}}function sl(){return ll()(ir,ir)}function F3(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function ul(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 Na(e){return e=ul(Math.abs(e)),e?e[1]:NaN}function Y3(e,t){return function(r,n){for(var a=r.length,i=[],o=0,l=e[0],s=0;a>0&&l>0&&(s+l+1>n&&(l=Math.max(1,n-s)),i.push(r.substring(a-=l,a+l)),!((s+=l+1)>n));)l=e[o=(o+1)%e.length];return i.reverse().join(t)}}function q3(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var G$=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Ca(e){if(!(t=G$.exec(e)))throw new Error("invalid format: "+e);var t;return new Dh({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]})}Ca.prototype=Dh.prototype;function Dh(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+""}Dh.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 W3(e){e:for(var t=e.length,r=1,n=-1,a;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(a+1):e}var Hd;function K3(e,t){var r=ul(e,t);if(!r)return Hd=void 0,e.toPrecision(t);var n=r[0],a=r[1],i=a-(Hd=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,o=n.length;return i===o?n:i>o?n+new Array(i-o+1).join("0"):i>0?n.slice(0,i)+"."+n.slice(i):"0."+new Array(1-i).join("0")+ul(e,Math.max(0,t+i-1))[0]}function R1(e,t){var r=ul(e,t);if(!r)return e+"";var n=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+n:n.length>a+1?n.slice(0,a+1)+"."+n.slice(a+1):n+new Array(a-n.length+2).join("0")}var e2={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:F3,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)=>R1(e*100,t),r:R1,s:K3,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function t2(e){return e}var G3=Array.prototype.map,X3=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function Z3(e){var t=e.grouping===void 0||e.thousands===void 0?t2:Y3(G3.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",a=e.decimal===void 0?".":e.decimal+"",i=e.numerals===void 0?t2:q3(G3.call(e.numerals,String)),o=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=Ca(d);var p=d.fill,v=d.align,g=d.sign,b=d.symbol,m=d.zero,h=d.width,x=d.comma,w=d.precision,E=d.trim,C=d.type;C==="n"?(x=!0,C="g"):e2[C]||(w===void 0&&(w=12),E=!0,C="g"),(m||p==="0"&&v==="=")&&(m=!0,p="0",v="=");var T=(f&&f.prefix!==void 0?f.prefix:"")+(b==="$"?r:b==="#"&&/[boxX]/.test(C)?"0"+C.toLowerCase():""),_=(b==="$"?n:/[%p]/.test(C)?o:"")+(f&&f.suffix!==void 0?f.suffix:""),I=e2[C],z=/[defgprs%]/.test(C);w=w===void 0?6:/[gprs]/.test(C)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function B($){var X=T,H=_,q,y,N;if(C==="c")H=I($)+H,$="";else{$=+$;var O=$<0||1/$<0;if($=isNaN($)?s:I(Math.abs($),w),E&&($=W3($)),O&&+$==0&&g!=="+"&&(O=!1),X=(O?g==="("?g:l:g==="-"||g==="("?"":g)+X,H=(C==="s"&&!isNaN($)&&Hd!==void 0?X3[8+Hd/3]:"")+H+(O&&g==="("?")":""),z){for(q=-1,y=$.length;++qN||N>57){H=(N===46?a+$.slice(q+1):$.slice(q))+H,$=$.slice(0,q);break}}}x&&!m&&($=t($,1/0));var M=X.length+$.length+H.length,A=M>1)+X+$+H+A.slice(M);break;default:$=A+X+$+H;break}return i($)}return B.toString=function(){return d+""},B}function c(d,f){var p=Math.max(-8,Math.min(8,Math.floor(Na(f)/3)))*3,v=Math.pow(10,-p),g=u((d=Ca(d),d.type="f",d),{suffix:X3[8+p/3]});return function(b){return g(v*b)}}return{format:u,formatPrefix:c}}var Ph,gu,jh;r2({thousands:",",grouping:[3],currency:["$",""]});function r2(e){return Ph=Z3(e),gu=Ph.format,jh=Ph.formatPrefix,Ph}function n2(e){return Math.max(0,-Na(Math.abs(e)))}function a2(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Na(t)/3)))*3-Na(Math.abs(e)))}function i2(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Na(t)-Na(e))+1}function Vd(e,t,r,n){var a=pu(e,t,r),i;switch(n=Ca(n??",f"),n.type){case"s":{var o=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(i=a2(a,o))&&(n.precision=i),jh(n,o)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(i=i2(a,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=i-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(i=n2(a))&&(n.precision=i-(n.type==="%")*2);break}}return gu(n)}function Ur(e){var t=e.domain;return e.ticks=function(r){var n=t();return nl(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var a=t();return Vd(a[0],a[a.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),a=0,i=n.length-1,o=n[a],l=n[i],s,u,c=10;for(l0;){if(u=jd(o,l,r),u===s)return n[a]=o,n[i]=l,t(n);if(u>0)o=Math.floor(o/u)*u,l=Math.ceil(l/u)*u;else if(u<0)o=Math.ceil(o*u)/u,l=Math.floor(l*u)/u;else break;s=u}return e},e}function Ih(){var e=sl();return e.copy=function(){return Aa(e,Ih())},Nt.apply(e,arguments),Ur(e)}function zh(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,so),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return zh(e).unknown(t)},e=arguments.length?Array.from(e,so):[0,1],Ur(r)}function Fd(e,t){e=e.slice();var r=0,n=e.length-1,a=e[r],i=e[n],o;return iMath.pow(e,t)}function R$(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 R3(e){return(t,r)=>-e(-t,r)}function Yd(e){let t=e(Q3,J3),r=t.domain,n=10,a,i;function o(){return a=R$(n),i=J$(n),r()[0]<0?(a=R3(a),i=R3(i),e(X$,Z$)):e(Q3,J3),t}return t.base=function(l){return arguments.length?(n=+l,o()):n},t.domain=function(l){return arguments.length?(r(l),o()):r()},t.ticks=l=>{let s=r(),u=s[0],c=s[s.length-1],d=c0){for(;f<=p;++f)for(v=1;vc)break;m.push(g)}}else for(;f<=p;++f)for(v=n-1;v>=1;--v)if(g=f>0?v/i(-f):v*i(f),!(gc)break;m.push(g)}m.length*2{if(l==null&&(l=10),s==null&&(s=n===10?"s":","),typeof s!="function"&&(!(n%1)&&(s=Ca(s)).precision==null&&(s.trim=!0),s=gu(s)),l===1/0)return s;let u=Math.max(1,n*l/t.ticks().length);return c=>{let d=c/i(Math.round(a(c)));return d*nr(Fd(r(),{floor:l=>i(Math.floor(a(l))),ceil:l=>i(Math.ceil(a(l)))})),t}function Lh(){let e=Yd(ll()).domain([1,10]);return e.copy=()=>Aa(e,Lh()).base(e.base()),Nt.apply(e,arguments),e}function e4(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function t4(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function qd(e){var t=1,r=e(e4(t),t4(t));return r.constant=function(n){return arguments.length?e(e4(t=+n),t4(t)):t},Ur(r)}function Bh(){var e=qd(ll());return e.copy=function(){return Aa(e,Bh()).constant(e.constant())},Nt.apply(e,arguments)}function r4(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function eH(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function tH(e){return e<0?-e*e:e*e}function Wd(e){var t=e(ir,ir),r=1;function n(){return r===1?e(ir,ir):r===.5?e(eH,tH):e(r4(r),r4(1/r))}return t.exponent=function(a){return arguments.length?(r=+a,n()):r},Ur(t)}function Kd(){var e=Wd(ll());return e.copy=function(){return Aa(e,Kd()).exponent(e.exponent())},Nt.apply(e,arguments),e}function n4(){return Kd.apply(null,arguments).exponent(.5)}function a4(e){return Math.sign(e)*e*e}function rH(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function Uh(){var e=sl(),t=[0,1],r=!1,n;function a(i){var o=rH(e(i));return isNaN(o)?n:r?Math.round(o):o}return a.invert=function(i){return e.invert(a4(i))},a.domain=function(i){return arguments.length?(e.domain(i),a):e.domain()},a.range=function(i){return arguments.length?(e.range((t=Array.from(i,so)).map(a4)),a):t.slice()},a.rangeRound=function(i){return a.range(i).round(!0)},a.round=function(i){return arguments.length?(r=!!i,a):r},a.clamp=function(i){return arguments.length?(e.clamp(i),a):e.clamp()},a.unknown=function(i){return arguments.length?(n=i,a):n},a.copy=function(){return Uh(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},Nt.apply(a,arguments),Ur(a)}function $h(){var e=[],t=[],r=[],n;function a(){var o=0,l=Math.max(1,t.length);for(r=new Array(l-1);++o0?r[l-1]:e[0],l=r?[n[r-1],t]:[n[u-1],n[u]]},o.unknown=function(s){return arguments.length&&(i=s),o},o.thresholds=function(){return n.slice()},o.copy=function(){return Hh().domain([e,t]).range(a).unknown(i)},Nt.apply(Ur(o),arguments)}function Vh(){var e=[.5],t=[0,1],r,n=1;function a(i){return i!=null&&i<=i?t[ia(e,i,0,n)]:r}return a.domain=function(i){return arguments.length?(e=Array.from(i),n=Math.min(e.length,t.length-1),a):e.slice()},a.range=function(i){return arguments.length?(t=Array.from(i),n=Math.min(e.length,t.length-1),a):t.slice()},a.invertExtent=function(i){var o=t.indexOf(i);return[e[o-1],e[o]]},a.unknown=function(i){return arguments.length?(r=i,a):r},a.copy=function(){return Vh().domain(e).range(t).unknown(r)},Nt.apply(a,arguments)}var o2=new Date,l2=new Date;function lt(e,t,r,n){function a(i){return e(i=arguments.length===0?new Date:new Date(+i)),i}return a.floor=i=>(e(i=new Date(+i)),i),a.ceil=i=>(e(i=new Date(i-1)),t(i,1),e(i),i),a.round=i=>{let o=a(i),l=a.ceil(i);return i-o(t(i=new Date(+i),o==null?1:Math.floor(o)),i),a.range=(i,o,l)=>{let s=[];if(i=a.ceil(i),l=l==null?1:Math.floor(l),!(i0))return s;let u;do s.push(u=new Date(+i)),t(i,l),e(i);while(ult(o=>{if(o>=o)for(;e(o),!i(o);)o.setTime(o-1)},(o,l)=>{if(o>=o)if(l<0)for(;++l<=0;)for(;t(o,-1),!i(o););else for(;--l>=0;)for(;t(o,1),!i(o););}),r&&(a.count=(i,o)=>(o2.setTime(+i),l2.setTime(+o),e(o2),e(l2),Math.floor(r(o2,l2))),a.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?a.filter(n?o=>n(o)%i===0:o=>a.count(0,o)%i===0):a)),a}var Gd=lt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Gd.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?lt(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Gd);var Wse=Gd.range;var Hn=lt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*1e3)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds()),i4=Hn.range;var yu=lt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getMinutes()),nH=yu.range,xu=lt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes()),aH=xu.range;var bu=lt(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()),iH=bu.range,wu=lt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours()),oH=wu.range;var li=lt(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),lH=li.range,fl=lt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1),sH=fl.range,Fh=lt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5)),uH=Fh.range;function pl(e){return lt(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 si=pl(0),Su=pl(1),l4=pl(2),s4=pl(3),uo=pl(4),u4=pl(5),c4=pl(6),d4=si.range,cH=Su.range,dH=l4.range,fH=s4.range,pH=uo.range,mH=u4.range,vH=c4.range;function ml(e){return lt(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 ui=ml(0),Au=ml(1),f4=ml(2),p4=ml(3),co=ml(4),m4=ml(5),v4=ml(6),h4=ui.range,hH=Au.range,gH=f4.range,yH=p4.range,xH=co.range,bH=m4.range,wH=v4.range;var Nu=lt(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()),SH=Nu.range,Cu=lt(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()),AH=Cu.range;var bn=lt(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());bn.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:lt(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 NH=bn.range,wn=lt(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());wn.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:lt(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 CH=wn.range;function y4(e,t,r,n,a,i){let o=[[Hn,1,1e3],[Hn,5,5*1e3],[Hn,15,15*1e3],[Hn,30,30*1e3],[i,1,6e4],[i,5,5*6e4],[i,15,15*6e4],[i,30,30*6e4],[a,1,36e5],[a,3,3*36e5],[a,6,6*36e5],[a,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=cb).right(o,f);if(p===o.length)return e.every(pu(u/31536e6,c/31536e6,d));if(p===0)return Gd.every(Math.max(pu(u,c,d),1));let[v,g]=o[f/o[p-1][2]53)return null;"w"in Y||(Y.w=1),"Z"in Y?(P=p2(Zd(Y.y,0,1)),K=P.getUTCDay(),P=K>4||K===0?Au.ceil(P):Au(P),P=fl.offset(P,(Y.V-1)*7),Y.y=P.getUTCFullYear(),Y.m=P.getUTCMonth(),Y.d=P.getUTCDate()+(Y.w+6)%7):(P=f2(Zd(Y.y,0,1)),K=P.getDay(),P=K>4||K===0?Su.ceil(P):Su(P),P=li.offset(P,(Y.V-1)*7),Y.y=P.getFullYear(),Y.m=P.getMonth(),Y.d=P.getDate()+(Y.w+6)%7)}else("W"in Y||"U"in Y)&&("w"in Y||(Y.w="u"in Y?Y.u%7:"W"in Y?1:0),K="Z"in Y?p2(Zd(Y.y,0,1)).getUTCDay():f2(Zd(Y.y,0,1)).getDay(),Y.m=0,Y.d="W"in Y?(Y.w+6)%7+Y.W*7-(K+5)%7:Y.w+Y.U*7-(K+6)%7);return"Z"in Y?(Y.H+=Y.Z/100|0,Y.M+=Y.Z%100,p2(Y)):f2(Y)}}function _(ie,Ne,F,Y){for(var S=0,P=Ne.length,K=F.length,j,he;S=K)return-1;if(j=Ne.charCodeAt(S++),j===37){if(j=Ne.charAt(S++),he=E[j in x4?Ne.charAt(S++):j],!he||(Y=he(ie,F,Y))<0)return-1}else if(j!=F.charCodeAt(Y++))return-1}return Y}function I(ie,Ne,F){var Y=u.exec(Ne.slice(F));return Y?(ie.p=c.get(Y[0].toLowerCase()),F+Y[0].length):-1}function z(ie,Ne,F){var Y=p.exec(Ne.slice(F));return Y?(ie.w=v.get(Y[0].toLowerCase()),F+Y[0].length):-1}function B(ie,Ne,F){var Y=d.exec(Ne.slice(F));return Y?(ie.w=f.get(Y[0].toLowerCase()),F+Y[0].length):-1}function $(ie,Ne,F){var Y=m.exec(Ne.slice(F));return Y?(ie.m=h.get(Y[0].toLowerCase()),F+Y[0].length):-1}function X(ie,Ne,F){var Y=g.exec(Ne.slice(F));return Y?(ie.m=b.get(Y[0].toLowerCase()),F+Y[0].length):-1}function H(ie,Ne,F){return _(ie,t,Ne,F)}function q(ie,Ne,F){return _(ie,r,Ne,F)}function y(ie,Ne,F){return _(ie,n,Ne,F)}function N(ie){return o[ie.getDay()]}function O(ie){return i[ie.getDay()]}function M(ie){return s[ie.getMonth()]}function A(ie){return l[ie.getMonth()]}function k(ie){return a[+(ie.getHours()>=12)]}function V(ie){return 1+~~(ie.getMonth()/3)}function G(ie){return o[ie.getUTCDay()]}function Q(ie){return i[ie.getUTCDay()]}function se(ie){return s[ie.getUTCMonth()]}function ue(ie){return l[ie.getUTCMonth()]}function pe(ie){return a[+(ie.getUTCHours()>=12)]}function Oe(ie){return 1+~~(ie.getUTCMonth()/3)}return{format:function(ie){var Ne=C(ie+="",x);return Ne.toString=function(){return ie},Ne},parse:function(ie){var Ne=T(ie+="",!1);return Ne.toString=function(){return ie},Ne},utcFormat:function(ie){var Ne=C(ie+="",w);return Ne.toString=function(){return ie},Ne},utcParse:function(ie){var Ne=T(ie+="",!0);return Ne.toString=function(){return ie},Ne}}}var x4={"-":"",_:" ",0:"0"},cr=/^\s*\d+/,EH=/^%/,OH=/[\\^$*+?|[\]().{}]/g;function Ge(e,t,r){var n=e<0?"-":"",a=(n?-e:e)+"",i=a.length;return n+(i[t.toLowerCase(),r]))}function TH(e,t,r){var n=cr.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function MH(e,t,r){var n=cr.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function DH(e,t,r){var n=cr.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function PH(e,t,r){var n=cr.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function jH(e,t,r){var n=cr.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function b4(e,t,r){var n=cr.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function w4(e,t,r){var n=cr.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function IH(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 zH(e,t,r){var n=cr.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function LH(e,t,r){var n=cr.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function S4(e,t,r){var n=cr.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function BH(e,t,r){var n=cr.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function A4(e,t,r){var n=cr.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function UH(e,t,r){var n=cr.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function $H(e,t,r){var n=cr.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function HH(e,t,r){var n=cr.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function VH(e,t,r){var n=cr.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function FH(e,t,r){var n=EH.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function YH(e,t,r){var n=cr.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function qH(e,t,r){var n=cr.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function N4(e,t){return Ge(e.getDate(),t,2)}function WH(e,t){return Ge(e.getHours(),t,2)}function KH(e,t){return Ge(e.getHours()%12||12,t,2)}function GH(e,t){return Ge(1+li.count(bn(e),e),t,3)}function k4(e,t){return Ge(e.getMilliseconds(),t,3)}function XH(e,t){return k4(e,t)+"000"}function ZH(e,t){return Ge(e.getMonth()+1,t,2)}function QH(e,t){return Ge(e.getMinutes(),t,2)}function JH(e,t){return Ge(e.getSeconds(),t,2)}function RH(e){var t=e.getDay();return t===0?7:t}function eV(e,t){return Ge(si.count(bn(e)-1,e),t,2)}function T4(e){var t=e.getDay();return t>=4||t===0?uo(e):uo.ceil(e)}function tV(e,t){return e=T4(e),Ge(uo.count(bn(e),e)+(bn(e).getDay()===4),t,2)}function rV(e){return e.getDay()}function nV(e,t){return Ge(Su.count(bn(e)-1,e),t,2)}function aV(e,t){return Ge(e.getFullYear()%100,t,2)}function iV(e,t){return e=T4(e),Ge(e.getFullYear()%100,t,2)}function oV(e,t){return Ge(e.getFullYear()%1e4,t,4)}function lV(e,t){var r=e.getDay();return e=r>=4||r===0?uo(e):uo.ceil(e),Ge(e.getFullYear()%1e4,t,4)}function sV(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Ge(t/60|0,"0",2)+Ge(t%60,"0",2)}function C4(e,t){return Ge(e.getUTCDate(),t,2)}function uV(e,t){return Ge(e.getUTCHours(),t,2)}function cV(e,t){return Ge(e.getUTCHours()%12||12,t,2)}function dV(e,t){return Ge(1+fl.count(wn(e),e),t,3)}function M4(e,t){return Ge(e.getUTCMilliseconds(),t,3)}function fV(e,t){return M4(e,t)+"000"}function pV(e,t){return Ge(e.getUTCMonth()+1,t,2)}function mV(e,t){return Ge(e.getUTCMinutes(),t,2)}function vV(e,t){return Ge(e.getUTCSeconds(),t,2)}function hV(e){var t=e.getUTCDay();return t===0?7:t}function gV(e,t){return Ge(ui.count(wn(e)-1,e),t,2)}function D4(e){var t=e.getUTCDay();return t>=4||t===0?co(e):co.ceil(e)}function yV(e,t){return e=D4(e),Ge(co.count(wn(e),e)+(wn(e).getUTCDay()===4),t,2)}function xV(e){return e.getUTCDay()}function bV(e,t){return Ge(Au.count(wn(e)-1,e),t,2)}function wV(e,t){return Ge(e.getUTCFullYear()%100,t,2)}function SV(e,t){return e=D4(e),Ge(e.getUTCFullYear()%100,t,2)}function AV(e,t){return Ge(e.getUTCFullYear()%1e4,t,4)}function NV(e,t){var r=e.getUTCDay();return e=r>=4||r===0?co(e):co.ceil(e),Ge(e.getUTCFullYear()%1e4,t,4)}function CV(){return"+0000"}function _4(){return"%"}function E4(e){return+e}function O4(e){return Math.floor(+e/1e3)}var _u,Yh,P4,qh,j4;v2({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 v2(e){return _u=m2(e),Yh=_u.format,P4=_u.parse,qh=_u.utcFormat,j4=_u.utcParse,_u}function _V(e){return new Date(e)}function EV(e){return e instanceof Date?+e:+new Date(+e)}function Wh(e,t,r,n,a,i,o,l,s,u){var c=sl(),d=c.invert,f=c.domain,p=u(".%L"),v=u(":%S"),g=u("%I:%M"),b=u("%I %p"),m=u("%a %d"),h=u("%b %d"),x=u("%B"),w=u("%Y");function E(C){return(s(C)t(a/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(a,i)=>Sh(e,i/n))},r.copy=function(){return Zh(t).domain(e)},$n.apply(r,arguments)}function Qh(){var e=0,t=.5,r=1,n=1,a,i,o,l,s,u=ir,c,d=!1,f;function p(g){return isNaN(g=+g)?f:(g=.5+((g=+c(g))-i)*(n*g{if(e!=null){var n=e.scale,a=e.type;if(n==="auto")return a==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!t)?"point":a==="category"?"band":"linear";if(typeof n=="string")return TV(n)?n:"point"}};function MV(e,t){for(var r=0,n=e.length,a=e[0]t)?r=i+1:n=i}return r}function tg(e,t){if(e){var r=t??e.domain(),n=r.map(i=>{var o;return(o=e(i))!==null&&o!==void 0?o:0}),a=e.range();if(!(r.length===0||a.length<2))return i=>{var o,l,s=MV(n,i);if(s<=0)return r[0];if(s>=r.length)return r[r.length-1];var u=(o=n[s-1])!==null&&o!==void 0?o:0,c=(l=n[s])!==null&&l!==void 0?l:0;return Math.abs(i-u)<=Math.abs(i-c)?r[s-1]:r[s]}}}function B4(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):tg(e,void 0)}function U4(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function rg(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);re.cartesianAxis.xAxis[t],Ea=(e,t)=>{var r=A2(e,t);return r??Ut},$t={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:S2,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:Ko},N2=(e,t)=>e.cartesianAxis.yAxis[t],Oa=(e,t)=>{var r=N2(e,t);return r??$t},UV={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:""},C2=(e,t)=>{var r=e.cartesianAxis.zAxis[t];return r??UV},Er=(e,t,r)=>{switch(t){case"xAxis":return Ea(e,r);case"yAxis":return Oa(e,r);case"zAxis":return C2(e,r);case"angleAxis":return ph(e,r);case"radiusAxis":return mh(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},$V=(e,t,r)=>{switch(t){case"xAxis":return Ea(e,r);case"yAxis":return Oa(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},rf=(e,t,r)=>{switch(t){case"xAxis":return Ea(e,r);case"yAxis":return Oa(e,r);case"angleAxis":return ph(e,r);case"radiusAxis":return mh(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},_2=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function E2(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 O2=e=>e.graphicalItems.cartesianItems,HV=W([ar,Td],E2),k2=(e,t,r)=>e.filter(r).filter(n=>t?.includeHidden===!0?!0:!n.hide),Ou=W([O2,Er,HV],k2,{memoizeOptions:{resultEqualityCheck:du}}),F4=W([Ou],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(Md)),T2=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),VV=W([Ou],T2),M2=e=>e.map(t=>t.data).filter(Boolean).flat(1),FV=W([Ou],e=>e.some(t=>!t.data)),Y4=W([Ou],M2,{memoizeOptions:{resultEqualityCheck:du}}),D2=(e,t)=>{var r=t.chartData,n=r===void 0?[]:r,a=t.dataStartIndex,i=t.dataEndIndex;return e.length>0?e:n.slice(a,i+1)},P2=W([Y4,Od],D2),YV=(e,t,r)=>t?.dataKey!=null?e.map(n=>({value:ht(n,t.dataKey)})):r.length>0?r.map(n=>n.dataKey).flatMap(n=>e.map(a=>({value:ht(a,n)}))):e.map(n=>({value:n})),j2=(e,t,r,n,a,i)=>{var o=n.chartData,l=o===void 0?[]:o,s=n.dataStartIndex,u=n.dataEndIndex,c=YV(e,t,r);if(a&&t?.dataKey!=null&&i.length>0){var d=l.slice(s,u+1),f=d.map(p=>({value:ht(p,t.dataKey)})).filter(p=>p.value!=null);return[...f,...c]}return c},nf=W([P2,Er,Ou,Od,FV,Y4],j2);function Eu(e){if(Lr(e)||e instanceof Date){var t=Number(e);if(ke(t))return t}}function H4(e){if(Array.isArray(e)){var t=[Eu(e[0]),Eu(e[1])];return yn(t)?t:void 0}var r=Eu(e);if(r!=null)return[r,r]}function la(e){return e.map(Eu).filter(nr)}function qV(e,t){var r=Eu(e),n=Eu(t);return r==null&&n==null?0:r==null?-1:n==null?1:r-n}var WV=W([nf],e=>e?.map(t=>t.value).sort(qV));function q4(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function KV(e,t,r){if(!r)return[];if(!r.length)return[];var n;if(typeof t=="number"&&!Ar(t))n=t;else if(Array.isArray(t)){var a=la(t);a.length>0&&(n=Math.max(...a))}return n==null?[]:la(r.flatMap(i=>{var o=ht(e,i.dataKey),l,s;if(Array.isArray(o)){var u=V4(o,2);l=u[0],s=u[1]}else l=s=o;if(!(!ke(l)||!ke(s)))return[n-l,n+s]}))}var Ht=e=>{var t=Bt(e),r=io(e);return rf(e,t,r)},di=W([Ht],e=>e?.dataKey),GV=W([F4,Od,Ht],gh),I2=(e,t,r,n)=>{var a={},i=t.reduce((o,l)=>{if(l.stackId==null)return o;var s=o[l.stackId];return s==null&&(s=[]),s.push(l),o[l.stackId]=s,o},a);return Object.fromEntries(Object.entries(i).map(o=>{var l=V4(o,2),s=l[0],u=l[1],c=n?[...u].reverse():u,d=c.map(cu);return[s,{stackedData:nk(e,d,r),graphicalItems:c}]}))},z2=W([GV,F4,su,uh],I2),L2=(e,t,r,n)=>{var a=t.dataStartIndex,i=t.dataEndIndex;if(n==null&&r!=="zAxis")return ik(e,a,i)},XV=W([Er],e=>e.allowDataOverflow),ng=e=>{var t;if(e==null||!("domain"in e))return S2;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var r=la(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:S2},W4=W([Er],ng),K4=W([W4,XV],ih),ZV=W([z2,Jr,ar,K4],L2,{memoizeOptions:{resultEqualityCheck:tl}}),ag=e=>e.errorBars,QV=(e,t,r)=>e.flatMap(n=>t[n.id]).filter(Boolean).filter(n=>q4(r,n)),tf=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]:o,f=(c=a[u.id])===null||c===void 0?void 0:c.filter(p=>q4(i,p));d.forEach(p=>{var v,g=ht(p,(v=r.dataKey)!==null&&v!==void 0?v:u.dataKey),b=KV(p,g,f);if(b.length>=2){var m=Math.min(...b),h=Math.max(...b);(l==null||ms)&&(s=h)}var x=H4(g);x!=null&&(l=l==null?x[0]:Math.min(l,x[0]),s=s==null?x[1]:Math.max(s,x[1]))})}),r?.dataKey!=null&&n.length===0&&t.forEach(u=>{var c=H4(ht(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]))}),ke(l)&&ke(s))return[l,s]},JV=W([P2,Er,VV,ag,ar,ZT],B2,{memoizeOptions:{resultEqualityCheck:tl}});function RV(e){var t=e.value;if(Lr(t)||t instanceof Date)return t}var eF=(e,t,r)=>{var n=e.map(RV).filter(a=>a!=null);return r&&(t.dataKey==null||t.allowDuplicatedCategory&&hb(n))?ah(0,e.length):t.allowDuplicatedCategory?n:Array.from(new Set(n))},U2=e=>e.referenceElements.dots,vl=(e,t,r)=>e.filter(n=>n.ifOverflow==="extendDomain").filter(n=>t==="xAxis"?n.xAxisId===r:n.yAxisId===r),tF=W([U2,ar,Td],vl),$2=e=>e.referenceElements.areas,rF=W([$2,ar,Td],vl),H2=e=>e.referenceElements.lines,nF=W([H2,ar,Td],vl),V2=(e,t)=>{if(e!=null){var r=la(e.map(n=>t==="xAxis"?n.x:n.y));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},aF=W(tF,ar,V2),F2=(e,t)=>{if(e!=null){var r=la(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)]}},iF=W([rF,ar],F2);function oF(e){var t;if(e.x!=null)return la([e.x]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.x);return r==null||r.length===0?[]:la(r)}function lF(e){var t;if(e.y!=null)return la([e.y]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.y);return r==null||r.length===0?[]:la(r)}var Y2=(e,t)=>{if(e!=null){var r=e.flatMap(n=>t==="xAxis"?oF(n):lF(n));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},sF=W([nF,ar],Y2),uF=W(aF,sF,iF,(e,t,r)=>tf(e,r,t)),q2=(e,t,r,n,a,i,o,l,s)=>{if(r!=null)return r;var u=o==="vertical"&&l==="xAxis"||o==="horizontal"&&l==="yAxis",c=u?tf(n,i,a):tf(i,a),d=e3(t,c,e.allowDataOverflow);return d??(e.allowDataOverflow&&c==null&&s!=null?s:d)},cF=e=>{if(!(e==null||e.type!=="number"||!("ticks"in e)||e.ticks==null)){var t=la(e.ticks);if(t.length!==0)return[Math.min(...t),Math.max(...t)]}},dF=W([Er],cF,{memoizeOptions:{resultEqualityCheck:tl}}),fF=W([Er,W4,K4,ZV,JV,uF,Qe,ar,dF],q2,{memoizeOptions:{resultEqualityCheck:tl}}),pF=[0,1],W2=(e,t,r,n,a,i,o)=>{if(!((e==null||r==null||r.length===0)&&o===void 0)){var l=e.dataKey,s=e.type,u=Qr(t,i);if(u&&l==null){var c;return ah(0,(c=r?.length)!==null&&c!==void 0?c:0)}return s==="category"?eF(n,e,u):a==="expand"&&!u?pF:o}},K2=W([Er,Qe,P2,nf,su,ar,fF],W2),ku=W([Er,_2,uu],eg),G2=(e,t,r)=>{var n=t.niceTicks;if(n!=="none"){var a=ng(t),i=Array.isArray(a)&&(a[0]==="auto"||a[1]==="auto");if((n==="snap125"||n==="adaptive")&&t!=null&&t.tickCount&&yn(e)){if(i)return lh(e,t.tickCount,t.allowDecimals,n);if(t.type==="number")return sh(e,t.tickCount,t.allowDecimals,n)}if(n==="auto"&&r==="linear"&&t!=null&&t.tickCount){if(i&&yn(e))return lh(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&yn(e))return sh(e,t.tickCount,t.allowDecimals,"adaptive")}}},X2=W([K2,rf,ku],G2),Z2=(e,t,r,n)=>{if(n!=="angleAxis"&&e?.type==="number"&&yn(t)&&Array.isArray(r)&&r.length>0){var a,i,o=t[0],l=(a=r[0])!==null&&a!==void 0?a:0,s=t[1],u=(i=r[r.length-1])!==null&&i!==void 0?i:0;return[Math.min(o,l),Math.max(s,u)]}return t},mF=W([Er,K2,X2,ar],Z2),vF=W(nf,Er,(e,t)=>{if(!(!t||t.type!=="number")){var r=1/0,n=Array.from(la(e.map(d=>d.value))).sort((d,f)=>d-f),a=n[0],i=n[n.length-1];if(a==null||i==null)return 1/0;var o=i-a;if(o===0)return 1/0;for(var l=0;la,(e,t,r,n,a)=>{if(!ke(e))return 0;var i=t==="vertical"?n.height:n.width;if(a==="gap")return e*i/2;if(a==="no-gap"){var o=In(r,e*i),l=e*i/2;return l-o-(l-o)/i*o}return 0}),hF=(e,t,r)=>{var n=Ea(e,t);return n==null||typeof n.padding!="string"?0:G4(e,"xAxis",t,r,n.padding)},gF=(e,t,r)=>{var n=Oa(e,t);return n==null||typeof n.padding!="string"?0:G4(e,"yAxis",t,r,n.padding)},yF=W(Ea,hF,(e,t)=>{var r,n;if(e==null)return{left:0,right:0};var a=e.padding;return typeof a=="string"?{left:t,right:t}:{left:((r=a.left)!==null&&r!==void 0?r:0)+t,right:((n=a.right)!==null&&n!==void 0?n:0)+t}}),xF=W(Oa,gF,(e,t)=>{var r,n;if(e==null)return{top:0,bottom:0};var a=e.padding;return typeof a=="string"?{top:t,bottom:t}:{top:((r=a.top)!==null&&r!==void 0?r:0)+t,bottom:((n=a.bottom)!==null&&n!==void 0?n:0)+t}}),Q2=W([gt,yF,Go,eu,(e,t,r)=>r],(e,t,r,n,a)=>{var i=n.padding;return a?[i.left,r.width-i.right]:[e.left+t.left,e.left+e.width-t.right]}),J2=W([gt,Qe,xF,Go,eu,(e,t,r)=>r],(e,t,r,n,a,i)=>{var o=a.padding;return i?[n.height-o.bottom,o.top]:t==="horizontal"?[e.top+e.height-r.bottom,e.top+r.top]:[e.top+r.top,e.top+e.height-r.bottom]}),Tu=(e,t,r,n)=>{var a;switch(t){case"xAxis":return Q2(e,r,n);case"yAxis":return J2(e,r,n);case"zAxis":return(a=C2(e,r))===null||a===void 0?void 0:a.range;case"angleAxis":return $1(e);case"radiusAxis":return H1(e,r);default:return}},X4=W([Er,Tu],Ro),bF=W([ku,mF],m3),R2=W([Er,ku,bF,X4],ef),ew=(e,t,r,n)=>{if(!(r==null||r.dataKey==null)){var a=r.type,i=r.scale,o=Qr(e,n);if(o&&(a==="number"||i!=="auto"))return t.map(l=>l.value)}},tw=W([Qe,nf,rf,ar],ew),ig=W([R2],Dd),vde=W([R2],B4),hde=W([R2,WV],tg),gde=W([Ou,ag,ar],QV);function Z4(e,t){return e.idt.id?1:0}var og=(e,t)=>t,lg=(e,t,r)=>r,wF=W(Js,og,lg,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(Z4)),SF=W(Rs,og,lg,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(Z4)),Q4=(e,t)=>{var r=typeof t.height=="number"?t.height:yd;return{width:e.width,height:r}},AF=(e,t)=>{var r=typeof t.width=="number"?t.width:Ko;return{width:r,height:e.height}},J4=W(gt,Ea,Q4),NF=(e,t,r)=>{switch(t){case"top":return e.top;case"bottom":return r-e.bottom;default:return 0}},CF=(e,t,r)=>{switch(t){case"left":return e.left;case"right":return r-e.right;default:return 0}},_F=W(_r,gt,wF,og,lg,(e,t,r,n,a)=>{var i={},o;return r.forEach(l=>{var s=Q4(t,l);o==null&&(o=NF(t,n,e));var u=n==="top"&&!a||n==="bottom"&&a;i[l.id]=o-Number(u)*s.height,o+=(u?-1:1)*s.height}),i}),EF=W(Cr,gt,SF,og,lg,(e,t,r,n,a)=>{var i={},o;return r.forEach(l=>{var s=AF(t,l);o==null&&(o=CF(t,n,e));var u=n==="left"&&!a||n==="right"&&a;i[l.id]=o-Number(u)*s.width,o+=(u?-1:1)*s.width}),i}),OF=(e,t)=>{var r=Ea(e,t);if(r!=null)return _F(e,r.orientation,r.mirror)},R4=W([gt,Ea,OF,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var a=r?.[n];return a==null?{x:e.left,y:0}:{x:e.left,y:a}}}),kF=(e,t)=>{var r=Oa(e,t);if(r!=null)return EF(e,r.orientation,r.mirror)},eM=W([gt,Oa,kF,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var a=r?.[n];return a==null?{x:0,y:e.top}:{x:a,y:e.top}}}),tM=W(gt,Oa,(e,t)=>{var r=typeof t.width=="number"?t.width:Ko;return{width:r,height:e.height}});var rw=(e,t,r,n)=>{if(r!=null){var a=r.allowDuplicatedCategory,i=r.type,o=r.dataKey,l=Qr(e,n),s=t.map(c=>c.value),u=s.filter(c=>c!=null);if(o&&l&&i==="category"&&a&&hb(u))return s}},nw=W([Qe,nf,Er,ar],rw),aw=W([Qe,$V,ku,ig,nw,tw,Tu,X2,ar],(e,t,r,n,a,i,o,l,s)=>{if(t!=null){var u=Qr(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:i,duplicateDomain:a,isCategorical:u,niceTicks:l,range:o,realScaleType:r,scale:n}}}),TF=(e,t,r,n,a,i,o,l,s)=>{if(!(t==null||n==null)){var u=Qr(e,s),c=t.type,d=t.ticks,f=t.tickCount,p=r==="scaleBand"&&typeof n.bandwidth=="function"?n.bandwidth()/2:2,v=c==="category"&&n.bandwidth?n.bandwidth()/p:0;v=s==="angleAxis"&&i!=null&&i.length>=2?rr(i[0]-i[1])*2*v:v;var g=d||a;return g?g.map((b,m)=>{var h=o?o.indexOf(b):b,x=n.map(h);return ke(x)?{index:m,coordinate:x+v,value:b,offset:v}:null}).filter(nr):u&&l?l.map((b,m)=>{var h=n.map(b);return ke(h)?{coordinate:h+v,value:b,index:m,offset:v}:null}).filter(nr):n.ticks?n.ticks(f).map((b,m)=>{var h=n.map(b);return ke(h)?{coordinate:h+v,value:b,index:m,offset:v}:null}).filter(nr):n.domain().map((b,m)=>{var h=n.map(b);return ke(h)?{coordinate:h+v,value:o?o[b]:b,index:m,offset:v}:null}).filter(nr)}},sg=W([Qe,rf,ku,ig,X2,Tu,nw,tw,ar],TF),MF=(e,t,r,n,a,i,o)=>{if(!(t==null||r==null||n==null||n[0]===n[1])){var l=Qr(e,o),s=t.tickCount,u=0;return u=o==="angleAxis"&&n?.length>=2?rr(n[0]-n[1])*2*u:u,l&&i?i.map((c,d)=>{var f=r.map(c);return ke(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(nr):r.ticks?r.ticks(s).map((c,d)=>{var f=r.map(c);return ke(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(nr):r.domain().map((c,d)=>{var f=r.map(c);return ke(f)?{coordinate:f+u,value:a?a[c]:c,index:d,offset:u}:null}).filter(nr)}},iw=W([Qe,rf,ig,Tu,nw,tw,ar],MF),ow=W(Er,ig,(e,t)=>{if(!(e==null||t==null))return rg(rg({},e),{},{scale:t})}),DF=W([Er,ku,K2,X4],ef),PF=W([DF],Dd),yde=W((e,t,r)=>C2(e,r),PF,(e,t)=>{if(!(e==null||t==null))return rg(rg({},e),{},{scale:t})}),rM=W([Qe,Js,Rs],(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}}),jF=(e,t,r)=>{var n;return(n=e.renderedTicks[t])===null||n===void 0?void 0:n[r]},xde=W([jF],e=>{if(!(!e||e.length===0))return t=>{var r,n=1/0,a=e[0];for(var i of e){var o=Math.abs(i.coordinate-t);oe.options.defaultTooltipEventType,sw=e=>e.options.validateTooltipEventTypes;function uw(e,t,r){if(e==null)return t;var n=e?"axis":"item";return r==null?t:r.includes(n)?n:t}function fo(e,t){var r=lw(e),n=sw(e);return uw(t,r,n)}function nM(e){return ye(t=>fo(t,e))}var ug=(e,t)=>{var r,n=Number(t);if(!(Ar(n)||t==null))return n>=0?e==null||(r=e[n])===null||r===void 0?void 0:r.value:void 0};var aM=e=>e.tooltip.settings;var fi={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},IF={itemInteraction:{click:fi,hover:fi},axisInteraction:{click:fi,hover:fi},keyboardInteraction:fi,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}},iM=Ke({name:"tooltip",initialState:IF,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(je(t.payload))},prepare:Re()},replaceTooltipEntrySettings:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,i=yr(e).tooltipItemPayloads.indexOf(je(n));i>-1&&(e.tooltipItemPayloads[i]=je(a))},prepare:Re()},removeTooltipEntrySettings:{reducer(e,t){var r=yr(e).tooltipItemPayloads.indexOf(je(t.payload));r>-1&&e.tooltipItemPayloads.splice(r,1)},prepare:Re()},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}}}),Vn=iM.actions,oM=Vn.addTooltipEntrySettings,lM=Vn.replaceTooltipEntrySettings,sM=Vn.removeTooltipEntrySettings,uM=Vn.setTooltipSettingsState,cM=Vn.setActiveMouseOverItemIndex,Ode=Vn.mouseLeaveItem,cg=Vn.mouseLeaveChart,kde=Vn.setActiveClickItemIndex,dg=Vn.setMouseOverAxisIndex,dM=Vn.setMouseClickAxisIndex,Mu=Vn.setSyncInteraction,af=Vn.setKeyboardInteraction;var fM=iM.reducer;function pM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function fg(e){for(var t=1;t{if(t==null)return fi;var a=UF(e,t,r);if(a==null)return fi;if(a.active)return a;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var i=e.settings.active===!0;if($F(a)){if(i)return fg(fg({},a),{},{active:!0})}else if(n!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:n,graphicalItemId:void 0};return fg(fg({},fi),{},{coordinate:a.coordinate})};function HF(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 VF(e,t){var r=HF(e),n=t[0],a=t[1];if(r===void 0)return!1;var i=Math.min(n,a),o=Math.max(n,a);return r>=i&&r<=o}function FF(e,t,r){if(r==null||t==null)return!0;var n=ht(e,t);return n==null||!yn(r)?!0:VF(n,r)}var po=(e,t,r,n)=>{var a=e?.index;if(a==null)return null;var i=Number(a);if(!ke(i))return a;var o=0,l=1/0;t.length>0&&(l=t.length-1);var s=Math.max(o,Math.min(i,l)),u=t[s];return u==null||FF(u,r,n)?String(s):null};var mg=(e,t,r,n,a,i,o)=>{if(i!=null){var l=o[0],s=l?.getPosition(i);if(s!=null)return s;var u=a?.[Number(i)];if(u)return r==="horizontal"?{x:u.coordinate,y:(n.top+t)/2}:{x:(n.left+e)/2,y:u.coordinate}}};var vg=(e,t,r,n)=>{if(t==="axis")return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var a;if(r==="hover"?a=e.itemInteraction.hover.graphicalItemId:a=e.itemInteraction.click.graphicalItemId,e.syncInteraction.active&&a==null)return e.tooltipItemPayloads;if(a==null&&(n!=null||e.keyboardInteraction.active)){var i=e.tooltipItemPayloads[0];return i!=null?[i]:[]}return e.tooltipItemPayloads.filter(o=>{var l;return((l=o.settings)===null||l===void 0?void 0:l.graphicalItemId)===a})};var hg=e=>e.options.tooltipPayloadSearcher;var pi=e=>e.tooltip;function mM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function vM(e){for(var t=1;te(t)}function hM(e){if(typeof e=="string")return e}function ZF(e){if(!(e==null||typeof e!="object")){var t="name"in e?KF(e.name):void 0,r="unit"in e?GF(e.unit):void 0,n="dataKey"in e?XF(e.dataKey):void 0,a="payload"in e?e.payload:void 0,i="color"in e?hM(e.color):void 0,o="fill"in e?hM(e.fill):void 0;return{name:t,unit:r,dataKey:n,payload:a,color:i,fill:o}}}function QF(e,t){return e??t}var gg=(e,t,r,n,a,i,o)=>{if(!(t==null||i==null)){var l=r.chartData,s=r.computedData,u=r.dataStartIndex,c=r.dataEndIndex,d=[];return e.reduce((f,p)=>{var v,g=p.dataDefinedOnItem,b=p.settings,m=QF(g,l),h=Array.isArray(m)?Iv(m,u,c):m,x=(v=b?.dataKey)!==null&&v!==void 0?v:n,w=b?.nameKey,E;if(n&&Array.isArray(h)&&!Array.isArray(h[0])&&o==="axis"?(E=_m(h,n,a),E==null&&(E=i(h,t,s,w))):E=i(h,t,s,w),Array.isArray(E))E.forEach(T=>{var _,I,z=ZF(T),B=z?.name,$=z?.dataKey,X=z?.payload,H=vM(vM({},b),{},{name:B,unit:z?.unit,color:(_=z?.color)!==null&&_!==void 0?_:b?.color,fill:(I=z?.fill)!==null&&I!==void 0?I:b?.fill});f.push(y1({tooltipEntrySettings:H,dataKey:$,payload:X,value:ht(X,$),name:B==null?void 0:String(B)}))});else{var C;f.push(y1({tooltipEntrySettings:b,dataKey:x,payload:E,value:ht(E,x),name:(C=ht(E,w))!==null&&C!==void 0?C:b?.name}))}return f},d)}};var cw=W([Ht,_2,uu],eg),JF=W([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),RF=W([Bt,io],E2),mo=W([JF,Ht,RF],k2,{memoizeOptions:{resultEqualityCheck:du}}),eY=W([mo],e=>e.filter(Md)),gM=W([mo],M2,{memoizeOptions:{resultEqualityCheck:du}}),tY=W([mo],e=>e.some(t=>!t.data)),mi=W([gM,Jr],D2),rY=W([eY,Jr,Ht],gh),dw=W([mi,Ht,mo,Jr,tY,gM],j2),yM=W([Ht],ng),nY=W([Ht],e=>e.allowDataOverflow),xM=W([yM,nY],ih),aY=W([mo],e=>e.filter(Md)),iY=W([rY,aY,su,uh],I2),oY=W([iY,Jr,Bt,xM],L2),lY=W([mo],T2),sY=W([mi,Ht,lY,ag,Bt,QT],B2,{memoizeOptions:{resultEqualityCheck:tl}}),uY=W([U2,Bt,io],vl),cY=W([uY,Bt],V2),dY=W([$2,Bt,io],vl),fY=W([dY,Bt],F2),pY=W([H2,Bt,io],vl),mY=W([pY,Bt],Y2),vY=W([cY,mY,fY],tf),hY=W([Ht,yM,xM,oY,sY,vY,Qe,Bt],q2),vo=W([Ht,Qe,mi,dw,su,Bt,hY],W2),gY=W([vo,Ht,cw],G2),yY=W([Ht,vo,gY,Bt],Z2),bM=e=>{var t=Bt(e),r=io(e),n=!1;return Tu(e,t,r,n)},fw=W([Ht,bM],Ro),xY=W([Ht,cw,yY,fw],ef),pw=W([xY],Dd),bY=W([Qe,dw,Ht,Bt],rw),wY=W([Qe,dw,Ht,Bt],ew),SY=(e,t,r,n,a,i,o,l)=>{if(t){var s=t.type,u=Qr(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"&&a!=null&&a?.length>=2?rr(a[0]-a[1])*2*d:d,u&&o?o.map((f,p)=>{var v=n.map(f);return ke(v)?{coordinate:v+d,value:f,index:p,offset:d}:null}).filter(nr):n.domain().map((f,p)=>{var v=n.map(f);return ke(v)?{coordinate:v+d,value:i?i[f]:f,index:p,offset:d}:null}).filter(nr)}}},en=W([Qe,Ht,cw,pw,bM,bY,wY,Bt],SY),mw=W([lw,sw,aM],(e,t,r)=>uw(r.shared,e,t)),wM=e=>e.tooltip.settings.trigger,vw=e=>e.tooltip.settings.defaultIndex,of=W([pi,mw,wM,vw],pg),hl=W([of,mi,di,vo],po),yg=W([en,hl],ug),SM=W([of],e=>{if(e)return e.dataKey}),AM=W([of],e=>{if(e)return e.graphicalItemId}),NM=W([pi,mw,wM,vw],vg),AY=W([Cr,_r,Qe,gt,en,vw,NM],mg),hw=W([of,AY],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),gw=W([of],e=>{var t;return(t=e?.active)!==null&&t!==void 0?t:!1}),NY=W([NM,hl,Jr,di,yg,hg,mw],gg),CM=W([NY],e=>{if(e!=null){var t=e.map(r=>r.payload).filter(r=>r!=null);return Array.from(new Set(t))}});function _M(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function EM(e){for(var t=1;tye(Ht),OM=()=>{var e=OY(),t=ye(en),r=ye(pw);return!e||!r?Qs(void 0,t):Qs(EM(EM({},e),{},{scale:r}),t)};function kM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Du(e){for(var t=1;t{var a=t.find(i=>i&&i.index===r);if(a){if(e==="horizontal")return{x:a.coordinate,y:n.relativeY};if(e==="vertical")return{x:n.relativeX,y:a.coordinate}}return{x:0,y:0}},MM=(e,t,r,n)=>{var a=t.find(u=>u&&u.index===r);if(a){if(e==="centric"){var i=a.coordinate,o=n.radius;return Du(Du(Du({},n),Tt(n.cx,n.cy,o,i)),{},{angle:i,radius:o})}var l=a.coordinate,s=n.angle;return Du(Du(Du({},n),Tt(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 DM(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 yw=(e,t,r,n,a)=>{var i,o=(i=t?.length)!==null&&i!==void 0?i:0;if(o<=1||e==null)return 0;if(n==="angleAxis"&&a!=null&&Math.abs(Math.abs(a[1]-a[0])-360)<=1e-6)for(var l=a[1]-a[0],s=(q,y,N)=>[e,e+l,e-l].some(O=>(N?O>=q:O>q)&&O<=y),u=0;u0?(c=r[u-1])===null||c===void 0?void 0:c.coordinate:(d=r[o-1])===null||d===void 0?void 0:d.coordinate,b=(f=r[u])===null||f===void 0?void 0:f.coordinate,m=u>=o-1?(p=r[0])===null||p===void 0?void 0:p.coordinate:(v=r[u+1])===null||v===void 0?void 0:v.coordinate,h=void 0;if(!(g==null||b==null||m==null))if(rr(b-g)!==rr(m-b)){var x=[];if(rr(m-b)===rr(a[1]-a[0])){h=m;var w=b+a[1]-a[0];x[0]=Math.min(w,(w+g)/2),x[1]=Math.max(w,(w+g)/2)}else{h=g;var E=m+a[1]-a[0];x[0]=Math.min(b,(E+b)/2),x[1]=Math.max(b,(E+b)/2)}var C=[Math.min(b,(h+b)/2),Math.max(b,(h+b)/2)];if(s(C[0],C[1],!1)||s(x[0],x[1],!0)){var T;return(T=r[u])===null||T===void 0?void 0:T.index}}else{var _=Math.min(g,m),I=Math.max(g,m);if(s((_+b)/2,(I+b)/2,!1)){var z;return(z=r[u])===null||z===void 0?void 0:z.index}}}else if(t)for(var B=0;B($.coordinate+H.coordinate)/2||B>0&&B($.coordinate+H.coordinate)/2&&e<=($.coordinate+X.coordinate)/2)return $.index}}return-1};var xg=()=>ye(uu),xw=(e,t)=>t,PM=(e,t,r)=>r,bw=(e,t,r,n)=>n,jM=W(en,e=>ni(e,t=>t.coordinate)),ww=W([pi,xw,PM,bw],pg),Sw=W([ww,mi,di,vo],po),IM=(e,t,r)=>{if(t!=null){var n=pi(e);return t==="axis"?r==="hover"?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:r==="hover"?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}},zM=W([pi,xw,PM,bw],vg),lf=W([Cr,_r,Qe,gt,en,bw,zM],mg),LM=W([ww,lf],(e,t)=>{var r;return(r=e.coordinate)!==null&&r!==void 0?r:t}),Aw=W([en,Sw],ug),BM=W([zM,Sw,Jr,di,Aw,hg,xw],gg),UM=W([ww,Sw],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),DY=(e,t,r,n,a,i,o)=>{if(!(!e||!r||!n||!a)&&DM(e,o)){var l=ok(e,t),s=yw(l,i,a,r,n),u=TM(t,a,s,e);return{activeIndex:String(s),activeCoordinate:u}}},PY=(e,t,r,n,a,i,o)=>{if(!(!e||!n||!a||!i||!r)){var l=zT(e,r);if(l){var s=lk(l,t),u=yw(s,o,i,n,a),c=MM(t,i,u,l);return{activeIndex:String(u),activeCoordinate:c}}}},$M=(e,t,r,n,a,i,o,l)=>{if(!(!e||!t||!n||!a||!i))return t==="horizontal"||t==="vertical"?DY(e,t,n,a,i,o,l):PY(e,t,r,n,a,i,o)};var Pu=J(R()),ZM=J(Gf());var HM=W(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}}),VM=W(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(n=>parseInt(n,10)).concat(Object.values(rt)),r=Array.from(new Set(t));return r.sort((n,a)=>n-a)},{memoizeOptions:{resultEqualityCheck:p3}});function FM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function YM(e){for(var t=1;tYM(YM({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),LY)},UY=new Set(Object.values(rt));function $Y(e){return UY.has(e)}var qM=Ke({name:"zIndex",initialState:BY,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:Re()},unregisterZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(e.zIndexMap[r].consumers-=1,e.zIndexMap[r].consumers<=0&&!$Y(r)&&delete e.zIndexMap[r])},prepare:Re()},registerZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload,n=r.zIndex,a=r.element,i=r.isPanorama;e.zIndexMap[n]?i?e.zIndexMap[n].panoramaElement=je(a):e.zIndexMap[n].element=je(a):e.zIndexMap[n]={consumers:0,element:i?void 0:je(a),panoramaElement:i?je(a):void 0}},prepare:Re()},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:Re()}}}),bg=qM.actions,WM=bg.registerZIndexPortal,wg=bg.unregisterZIndexPortal,KM=bg.registerZIndexPortalElement,GM=bg.unregisterZIndexPortalElement;var XM=qM.reducer;function xr(e){var t=e.zIndex,r=e.children,n=Ak(),a=n&&t!==void 0&&t!==0,i=ct(),o=(0,Pu.useRef)(void 0),l=(0,Pu.useRef)(new Set),s=Le(),u=ye(d=>HM(d,t,i));if((0,Pu.useLayoutEffect)(()=>{if(!a){var d=l.current;d.forEach(p=>{s(wg({zIndex:p}))}),d.clear(),o.current=void 0;return}if(l.current.has(t)||(s(WM({zIndex:t})),l.current.add(t)),u){o.current=u;var f=l.current;f.forEach(p=>{p!==t&&(s(wg({zIndex:p})),f.delete(p))})}},[s,t,a,u]),(0,Pu.useLayoutEffect)(()=>{var d=l.current;return()=>{d.forEach(f=>{s(wg({zIndex:f}))}),d.clear()}},[s]),!a)return r;var c=u??o.current;return c?(0,ZM.createPortal)(r,c):null}function Nw(){return Nw=Object.assign?Object.assign.bind():function(e){for(var t=1;t(0,Ng.useContext)(Cw);var uf=J(R());var r8=J(t8(),1);var n8=r8.default;var Iu=new n8;var _g="recharts.syncEvent.tooltip",Ew="recharts.syncEvent.brush";var a8=(e,t)=>{if(t&&Array.isArray(e)){var r=Number.parseInt(t,10);if(!Ar(r))return e[r]}},GY={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},i8=Ke({name:"options",initialState:GY,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),o8=i8.reducer,l8=i8.actions.createEventEmitter;function s8(e){return e.tooltip.syncInteraction}var XY={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},u8=Ke({name:"chartData",initialState:XY,reducers:{setChartData(e,t){if(e.chartData=je(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,a=r.endIndex;n!=null&&(e.dataStartIndex=n),a!=null&&(e.dataEndIndex=a)}}}),Ow=u8.actions,kw=Ow.setChartData,c8=Ow.setDataStartEndIndexes,ZY=Ow.setComputedData;var d8=u8.reducer;var QY=["x","y"];function f8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function zu(e){for(var t=1;ts.rootProps.className);(0,uf.useEffect)(()=>{if(e==null)return ea;var s=(u,c,d)=>{if(t!==d&&e===u){if(c.payload.active===!1){r(Mu({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(o&&c!==null&&c!==void 0&&(f=c.payload)!==null&&f!==void 0&&f.coordinate&&c.payload.sourceViewBox){var p=c.payload.coordinate,v=p.x,g=p.y,b=tq(p,QY),m=c.payload.sourceViewBox,h=m.x,x=m.y,w=m.width,E=m.height,C=zu(zu({},b),{},{x:o.x+(w?(v-h)/w:0)*o.width,y:o.y+(E?(g-x)/E:0)*o.height});r(zu(zu({},c),{},{payload:zu(zu({},c.payload),{},{coordinate:C})}))}else r(c);return}if(a!=null){var T;if(typeof n=="function"){var _={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},I=n(a,_);T=a[I]}else n==="value"&&(T=a.find(N=>String(N.value)===c.payload.label));var z=c.payload.coordinate;if(z==null||o==null){r(Mu({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(T==null){r(Mu({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:void 0}));return}var B=z.x,$=z.y,X=Math.min(B,o.x+o.width),H=Math.min($,o.y+o.height),q={x:i==="horizontal"?T.coordinate:X,y:i==="horizontal"?H:T.coordinate},y=Mu({active:c.payload.active,coordinate:q,dataKey:c.payload.dataKey,index:String(T.index),label:c.payload.label,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:c.payload.graphicalItemId});r(y)}}};return Iu.on(_g,s),()=>{Iu.off(_g,s)}},[l,r,t,e,n,a,i,o])}function aq(){var e=ye(ch),t=ye(dh),r=Le();(0,uf.useEffect)(()=>{if(e==null)return ea;var n=(a,i,o)=>{t!==o&&e===a&&r(c8(i))};return Iu.on(Ew,n),()=>{Iu.off(Ew,n)}},[r,t,e])}function p8(){var e=Le();(0,uf.useEffect)(()=>{e(l8())},[e]),nq(),aq()}function m8(e,t,r,n,a,i){var o=ye(v=>IM(v,e,t)),l=ye(AM),s=ye(dh),u=ye(ch),c=ye(B1),d=ye(s8),f=d?.sourceViewBox!=null,p=Zo();(0,uf.useEffect)(()=>{if(!f&&u!=null&&s!=null){var v=Mu({active:i,coordinate:r,dataKey:o,index:a,label:typeof n=="number"?String(n):n,sourceViewBox:p,graphicalItemId:l});Iu.emit(_g,u,v,s)}},[f,r,o,l,a,n,s,u,c,i,p])}function v8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function h8(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{T(uM({shared:h,trigger:x,axisId:C,active:a,defaultIndex:_}))},[T,h,x,C,a,_]);var I=Zo(),z=Wv(),B=nM(h),$=(t=ye(F=>UM(F,B,x,_)))!==null&&t!==void 0?t:{},X=$.activeIndex,H=$.isActive,q=ye(F=>BM(F,B,x,_)),y=ye(F=>Aw(F,B,x,_)),N=ye(F=>LM(F,B,x,_)),O=q,M=RM(),A=(r=a??H)!==null&&r!==void 0?r:!1,k=aO([O,A]),V=sq(k,2),G=V[0],Q=V[1],se=B==="axis"?y:void 0;m8(B,x,N,se,X,A);var ue=E??M;if(ue==null||I==null||B==null)return null;var pe=O??y8;A||(pe=y8),u&&pe.length&&(pe=jE(pe.filter(F=>F.value!=null&&(F.hide!==!0||n.includeHidden)),f,pq));var Oe=pe.length>0,ie=h8(h8({},n),{},{payload:pe,label:se,active:A,activeIndex:X,coordinate:N,accessibilityLayer:z}),Ne=Fn.createElement(qk,{allowEscapeViewBox:i,animationDuration:o,animationEasing:l,isAnimationActive:c,active:A,coordinate:N,hasPayload:Oe,offset:d,position:p,reverseDirection:v,useTranslate3d:g,viewBox:I,wrapperStyle:b,lastBoundingBox:G,innerRef:Q,hasPortalFromProps:!!E},mq(s,ie));return Fn.createElement(Fn.Fragment,null,(0,b8.createPortal)(Ne,ue),A&&Fn.createElement(JM,{cursor:m,tooltipEventType:B,coordinate:N,payload:pe,index:X}))}var Mw=J(R()),Tg=J(R());function hq(e,t,r){return(t=gq(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function gq(e){var t=yq(e,"string");return typeof t=="symbol"?t:t+""}function yq(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 Eg=class{constructor(t){hq(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 w8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function xq(e){for(var t=1;t{try{var r=document.getElementById(A8);r||(r=document.createElement("span"),r.setAttribute("id",A8),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),Object.assign(r.style,Nq,t),r.textContent="".concat(e);var n=r.getBoundingClientRect();return{width:n.width,height:n.height}}catch{return{width:0,height:0}}},gl=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Bn.isSsr)return{width:0,height:0};if(!C8.enableCache)return N8(t,r);var n=Cq(t,r),a=S8.get(n);if(a)return a;var i=N8(t,r);return S8.set(n,i),i};var T8;function Og(e,t){return kq(e)||Oq(e,t)||Eq(e,t)||_q()}function _q(){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 Eq(e,t){if(e){if(typeof e=="string")return _8(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)?_8(e,t):void 0}}function _8(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 a=[];St(t)||(r?a=t.toString().split(""):a=t.toString().split(L8));var i=a.map(l=>({word:l,width:gl(l,n).width})),o=r?0:gl("\xA0",n).width;return{wordsWithComputedWidth:i,spaceWidth:o}}catch{return null}};function Mg(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function U8(e){return St(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var $8=(e,t,r,n)=>e.reduce((a,i)=>{var o=i.word,l=i.width,s=a[a.length-1];if(s&&l!=null&&(t==null||n||s.width+l+re.reduce((t,r)=>t.width>r.width?t:r),Xq="\u2026",I8=(e,t,r,n,a,i,o,l)=>{var s=e.slice(0,t),u=B8({breakAll:r,style:n,children:s+Xq});if(!u)return[!1,[]];var c=$8(u.wordsWithComputedWidth,i,o,l),d=c.length>a||H8(c).width>Number(i);return[d,c]},Zq=(e,t,r,n,a)=>{var i=e.maxLines,o=e.children,l=e.style,s=e.breakAll,u=me(i),c=String(o),d=$8(t,n,r,a);if(!u||a)return d;var f=d.length>i||H8(d).width>Number(n);if(!f)return d;for(var p=0,v=c.length-1,g=0,b;p<=v&&g<=c.length-1;){var m=Math.floor((p+v)/2),h=m-1,x=I8(c,h,s,l,i,n,r,a),w=P8(x,2),E=w[0],C=w[1],T=I8(c,m,s,l,i,n,r,a),_=P8(T,1),I=_[0];if(!E&&!I&&(p=m+1),E&&I&&(v=m-1),!E&&I){b=C;break}g++}return b||d},z8=e=>{var t=St(e)?[]:e.toString().split(L8);return[{words:t,width:void 0}]},Qq=e=>{var t=e.width,r=e.scaleToFit,n=e.children,a=e.style,i=e.breakAll,o=e.maxLines;if((t||r)&&!Bn.isSsr){var l,s,u=B8({breakAll:i,children:n,style:a});if(u){var c=u.wordsWithComputedWidth,d=u.spaceWidth;l=c,s=d}else return z8(n);return Zq({breakAll:i,children:n,maxLines:o,style:a},l,s,t,!!r)}return z8(n)},V8="#808080",Jq={angle:0,breakAll:!1,capHeight:"0.71em",fill:V8,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},cf=(0,Tg.forwardRef)((e,t)=>{var r=At(e,Jq),n=r.x,a=r.y,i=r.lineHeight,o=r.capHeight,l=r.fill,s=r.scaleToFit,u=r.textAnchor,c=r.verticalAnchor,d=D8(r,Vq),f=(0,Tg.useMemo)(()=>Qq({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,v=d.dy,g=d.angle,b=d.className,m=d.breakAll,h=D8(d,Fq);if(!Lr(n)||!Lr(a)||f.length===0)return null;var x=Number(n)+(me(p)?p:0),w=Number(a)+(me(v)?v:0);if(!ke(x)||!ke(w))return null;var E;switch(c){case"start":E=kg("calc(".concat(o,")"));break;case"middle":E=kg("calc(".concat((f.length-1)/2," * -").concat(i," + (").concat(o," / 2))"));break;default:E=kg("calc(".concat(f.length-1," * -").concat(i,")"));break}var C=[],T=f[0];if(s&&T!=null){var _=T.width,I=d.width;C.push("scale(".concat(me(I)&&me(_)?I/_:1,")"))}return g&&C.push("rotate(".concat(g,", ").concat(x,", ").concat(w,")")),C.length&&(h.transform=C.join(" ")),Mw.createElement("text",Tw({},Lt(h),{ref:t,x,y:w,className:Te("recharts-text",b),textAnchor:u,fill:l.includes("url")?V8:l}),f.map((z,B)=>{var $=z.words.join(m?"":" ");return Mw.createElement("tspan",{x,dy:B===0?E:i,key:"".concat($,"-").concat(B)},$)}))});cf.displayName="Text";var Sn=J(R()),dr=J(R());var Rq=["labelRef"],eW=["content"];function F8(e,t){if(e==null)return{};var r,n,a=tW(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n{var t=e.x,r=e.y,n=e.upperWidth,a=e.lowerWidth,i=e.width,o=e.height,l=e.children,s=(0,dr.useMemo)(()=>({x:t,y:r,upperWidth:n,lowerWidth:a,width:i,height:o}),[t,r,n,a,i,o]);return Sn.createElement(q8.Provider,{value:s},l)},K8=()=>{var e=(0,dr.useContext)(q8),t=Zo();return e||(t?ad(t):void 0)},iW=(0,dr.createContext)(null);var oW=()=>{var e=(0,dr.useContext)(iW),t=ye(hh);return e||t},lW=e=>{var t=e.value,r=e.formatter,n=St(e.children)?t:e.children;return typeof r=="function"?r(n):n},xl=e=>e!=null&&typeof e=="function",sW=(e,t)=>{var r=rr(t-e),n=Math.min(Math.abs(t-e),360);return r*n},uW=(e,t,r,n,a)=>{var i=e.offset,o=e.className,l=a.cx,s=a.cy,u=a.innerRadius,c=a.outerRadius,d=a.startAngle,f=a.endAngle,p=a.clockWise,v=(u+c)/2,g=sW(d,f),b=g>=0?1:-1,m,h;switch(t){case"insideStart":m=d+b*i,h=p;break;case"insideEnd":m=f-b*i,h=!p;break;case"end":m=f+b*i,h=p;break;default:throw new Error("Unsupported position ".concat(t))}h=g<=0?h:!h;var x=Tt(l,s,v,m),w=Tt(l,s,v,m+(h?1:-1)*359),E="M".concat(x.x,",").concat(x.y,` + A`).concat(v,",").concat(v,",0,1,").concat(h?0:1,`, + `).concat(w.x,",").concat(w.y),C=St(e.id)?ti("recharts-radial-line-"):e.id;return Sn.createElement("text",hi({},n,{dominantBaseline:"central",className:Te("recharts-radial-bar-label",o)}),Sn.createElement("defs",null,Sn.createElement("path",{id:C,d:E})),Sn.createElement("textPath",{xlinkHref:"#".concat(C)},r))},cW=(e,t,r)=>{var n=e.cx,a=e.cy,i=e.innerRadius,o=e.outerRadius,l=e.startAngle,s=e.endAngle,u=(l+s)/2;if(r==="outside"){var c=Tt(n,a,o+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:a,textAnchor:"middle",verticalAnchor:"middle"};if(r==="centerTop")return{x:n,y:a,textAnchor:"middle",verticalAnchor:"start"};if(r==="centerBottom")return{x:n,y:a,textAnchor:"middle",verticalAnchor:"end"};var p=(i+o)/2,v=Tt(n,a,p,u),g=v.x,b=v.y;return{x:g,y:b,textAnchor:"middle",verticalAnchor:"middle"}},Uu=e=>e!=null&&"cx"in e&&me(e.cx),dW={angle:0,offset:5,zIndex:rt.label,position:"middle",textBreakAll:!1};function fW(e){if(!Uu(e))return e;var t=e.cx,r=e.cy,n=e.outerRadius,a=n*2;return{x:t-n,y:r-n,width:a,upperWidth:a,lowerWidth:a,height:a}}function vi(e){var t,r,n=At(e,dW),a=n.viewBox,i=n.parentViewBox,o=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,v=oW(),g=K8(),b=o==="center"?g:v??g,m,h,x;a==null?m=b:Uu(a)?m=a:m=ad(a);var w=fW(m);if(!m||St(l)&&St(s)&&!(0,dr.isValidElement)(u)&&typeof u!="function")return null;var E=Uu(m)&&(o==="insideStart"||o==="insideEnd"||o==="end");if(Uu(m))E||(x=cW(m,n.offset,n.position));else if(w){var C=K_({viewBox:w,position:o,offset:n.offset,parentViewBox:Uu(i)?void 0:i,clamp:!0});x=yl(yl({x:C.x,y:C.y,textAnchor:C.horizontalAnchor,verticalAnchor:C.verticalAnchor},C.width!==void 0?{width:C.width}:{}),C.height!==void 0?{height:C.height}:{})}var T=yl(yl(yl(yl({},((t=x)===null||t===void 0?void 0:t.x)!==void 0?{x:x.x}:{}),((r=x)===null||r===void 0?void 0:r.y)!==void 0?{y:x.y}:{}),n),{},{viewBox:m});if((0,dr.isValidElement)(u)){var _=T.labelRef,I=F8(T,Rq);return(0,dr.cloneElement)(u,I)}if(typeof u=="function"){var z=T.content,B=F8(T,eW);if(h=(0,dr.createElement)(u,B),(0,dr.isValidElement)(h))return h}else h=lW(n);var $=Lt(n);return E&&Uu(m)?uW(n,o,h,$,m):x==null?null:Sn.createElement(xr,{zIndex:n.zIndex},Sn.createElement(cf,hi({ref:p,className:Te("recharts-label",d)},$,x,{textAnchor:Mg($.textAnchor)?$.textAnchor:x.textAnchor,breakAll:f}),h))}vi.displayName="Label";var pW=(e,t,r)=>{if(!e)return null;var n={viewBox:t,labelRef:r};return e===!0?Sn.createElement(vi,hi({key:"label-implicit"},n)):Lr(e)?Sn.createElement(vi,hi({key:"label-implicit",value:e},n)):(0,dr.isValidElement)(e)?e.type===vi?(0,dr.cloneElement)(e,yl({key:"label-implicit"},n)):Sn.createElement(vi,hi({key:"label-implicit",content:e},n)):xl(e)?Sn.createElement(vi,hi({key:"label-implicit",content:e},n)):e&&typeof e=="object"?Sn.createElement(vi,hi({},e,{key:"label-implicit"},n)):null};function G8(e){var t=e.label,r=e.labelRef,n=K8();return pW(t,n,r)||null}var gi=J(R()),$u=J(R());var mW=["valueAccessor"],vW=["dataKey","clockWise","id","textBreakAll","zIndex"];function Pg(){return Pg=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(U8(t))return t},Z8=(0,$u.createContext)(void 0),Q8=Z8.Provider,J8=(0,$u.createContext)(void 0),Qme=J8.Provider;function yW(){return(0,$u.useContext)(Z8)}function xW(){return(0,$u.useContext)(J8)}function Dg(e){var t=e.valueAccessor,r=t===void 0?gW:t,n=X8(e,mW),a=n.dataKey,i=n.clockWise,o=n.id,l=n.textBreakAll,s=n.zIndex,u=X8(n,vW),c=yW(),d=xW(),f=c||d;return!f||!f.length?null:gi.createElement(xr,{zIndex:s??rt.label},gi.createElement(er,{className:"recharts-label-list"},f.map((p,v)=>{var g,b=St(a)?r(p,v):ht(p.payload,a),m=St(o)?{}:{id:"".concat(o,"-").concat(v)};return gi.createElement(vi,Pg({key:"label-".concat(v)},Lt(p),u,m,{fill:(g=n.fill)!==null&&g!==void 0?g:p.fill,parentViewBox:p.parentViewBox,value:b,textBreakAll:l,viewBox:p.viewBox,index:v,zIndex:0}))})))}Dg.displayName="LabelList";function R8(e){var t=e.label;return t?t===!0?gi.createElement(Dg,{key:"labelList-implicit"}):gi.isValidElement(t)||xl(t)?gi.createElement(Dg,{key:"labelList-implicit",content:t}):typeof t=="object"?gi.createElement(Dg,Pg({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}var eD=J(R());function Dw(){return Dw=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,r=e.cy,n=e.r,a=e.className,i=Te("recharts-dot",a);return me(t)&&me(r)&&me(n)?eD.createElement("circle",Dw({},ur(e),Vs(e),{className:i,cx:t,cy:r,r:n})):null};var bW={radiusAxis:{},angleAxis:{}},tD=Ke({name:"polarAxis",initialState:bW,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=je(t.payload)},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=je(t.payload)},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),Ig=tD.actions,ove=Ig.addRadiusAxis,lve=Ig.removeRadiusAxis,sve=Ig.addAngleAxis,uve=Ig.removeAngleAxis;var rD=tD.reducer;function nD(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var wW=J(R());var zg=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;var Hu=J(R()),df=J(R());function aD(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function iD(e){for(var t=1;t{n||(a.current===null?r(oM(t)):a.current!==t&&r(lM({prev:a.current,next:t})),a.current=t)},[t,r,n]),(0,ff.useLayoutEffect)(()=>()=>{a.current&&(r(sM(a.current)),a.current=null)},[r]),null}var pf=J(R());function uD(e){var t=e.legendPayload,r=Le(),n=ct(),a=(0,pf.useRef)(null);return(0,pf.useLayoutEffect)(()=>{n||(a.current===null?r(Ck(t)):a.current!==t&&r(_k({prev:a.current,next:t})),a.current=t)},[r,n,t]),(0,pf.useLayoutEffect)(()=>()=>{a.current&&(r(Ek(a.current)),a.current=null)},[r]),null}var fD=J(R()),hf=J(R());function kW(e,t){return PW(e)||DW(e,t)||MW(e,t)||TW()}function TW(){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 MW(e,t){if(e){if(typeof e=="string")return cD(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)?cD(e,t):void 0}}function cD(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 a of r)n.push({status:"removed",prev:a});for(var i=0;ie[Math.floor(i*r)]);return Pw(n,t)}function zW(e,t){var r=t.map((n,a)=>e[a]);return Pw(r,t)}function LW(e,t){for(var r=new Map,n=0;n{var p=r(d,f);if(p!=null){var v=n.get(p);if(v!==void 0)return a.add(p),v}}),o=[];for(var l of n){var s=kW(l,2),u=s[0],c=s[1];a.has(u)||o.push(c)}return Pw(i,t,o)}function vf(e,t,r){return t==null?null:e==null?t.map(n=>({status:"added",next:n})):r===mf?IW(e,t):r===jW?zW(e,t):BW(e,t,r)}var Vu=J(R());function Lg(e,t){var r=(0,Vu.useRef)(e),n=(0,Vu.useRef)(t.current),a=(0,Vu.useRef)(!0);r.current!==e&&(r.current=e,n.current=t.current,a.current=!1);var i=(0,Vu.useCallback)(function(o,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(l===0){a.current=!0;return}l===1&&(n.current=o),l>0&&a.current&&s&&(t.current=o)},[t]);return{startValue:n.current,syncStepValue:i}}function UW(e,t){return FW(e)||VW(e,t)||HW(e,t)||$W()}function $W(){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 HW(e,t){if(e){if(typeof e=="string")return dD(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)?dD(e,t):void 0}}function dD(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{typeof e=="function"&&e(),i(!0)},[e]),l=(0,hf.useCallback)(()=>{typeof t=="function"&&t(),i(!1)},[t]);return{isAnimating:a,handleAnimationStart:o,handleAnimationEnd:l}}function mD(e){var t,r=e.animationInput,n=e.animationIdPrefix,a=e.items,i=e.previousItemsRef,o=e.isAnimationActive,l=e.animationBegin,s=e.animationDuration,u=e.animationEasing,c=e.onAnimationStart,d=e.onAnimationEnd,f=e.animationInterpolateFn,p=e.animationMatchBy,v=e.shouldUpdatePreviousRef,g=e.children,b=e.layout,m=Jv(r,n),h=Lg(m,i),x=(t=h.startValue)!==null&&t!==void 0?t:null,w=vf(x,a,p??mf);return fD.createElement(Qv,{animationId:m,begin:l,duration:s,isActive:o,easing:u,onAnimationEnd:d,onAnimationStart:c,key:m},E=>{var C=x==null,T=a==null?a:f(w,E,b),_=v?v(E):E>0;return h.syncStepValue(T,E,_),T==null?null:g(T,E,C)})}var gD=J(R()),Iw=J(R());var Bg=J(R());var jw;function YW(e,t){return GW(e)||KW(e,t)||WW(e,t)||qW()}function qW(){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 WW(e,t){if(e){if(typeof e=="string")return vD(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)?vD(e,t):void 0}}function vD(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e=Bg.useState(()=>ti("uid-")),t=YW(e,1),r=t[0];return r},Ug=(jw=Bg.useId)!==null&&jw!==void 0?jw:XW;function hD(e,t){var r=Ug();return t||(e?"".concat(e,"-").concat(r):r)}var ZW=(0,Iw.createContext)(void 0),yD=e=>{var t=e.id,r=e.type,n=e.children,a=hD("recharts-".concat(r),t);return gD.createElement(ZW.Provider,{value:a},n(a))};var bl=J(R());var QW={cartesianItems:[],polarItems:[]},xD=Ke({name:"graphicalItems",initialState:QW,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(je(t.payload))},prepare:Re()},replaceCartesianGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,i=yr(e).cartesianItems.indexOf(je(n));i>-1&&(e.cartesianItems[i]=je(a))},prepare:Re()},removeCartesianGraphicalItem:{reducer(e,t){var r=yr(e).cartesianItems.indexOf(je(t.payload));r>-1&&e.cartesianItems.splice(r,1)},prepare:Re()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(je(t.payload))},prepare:Re()},removePolarGraphicalItem:{reducer(e,t){var r=yr(e).polarItems.indexOf(je(t.payload));r>-1&&e.polarItems.splice(r,1)},prepare:Re()},replacePolarGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,i=yr(e).polarItems.indexOf(je(n));i>-1&&(e.polarItems[i]=je(a))},prepare:Re()}}}),Fu=xD.actions,bD=Fu.addCartesianGraphicalItem,wD=Fu.replaceCartesianGraphicalItem,SD=Fu.removeCartesianGraphicalItem,JW=Fu.addPolarGraphicalItem,RW=Fu.removePolarGraphicalItem,eK=Fu.replacePolarGraphicalItem;var AD=xD.reducer;var tK=e=>{var t=Le(),r=(0,bl.useRef)(null);return(0,bl.useLayoutEffect)(()=>{r.current===null?t(bD(e)):r.current!==e&&t(wD({prev:r.current,next:e})),r.current=e},[t,e]),(0,bl.useLayoutEffect)(()=>()=>{r.current&&(t(SD(r.current)),r.current=null)},[t]),null},ND=(0,bl.memo)(tK);var gf=J(R()),Hg=J(R());var rK=["points"];function CD(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function zw(e){for(var t=1;t{var m,h,x=zw(zw(zw({r:3},o),f),{},{index:b,cx:(m=g.x)!==null&&m!==void 0?m:void 0,cy:(h=g.y)!==null&&h!==void 0?h:void 0,dataKey:i,value:g.value,payload:g.payload,points:t});return gf.createElement(sK,{key:"dot-".concat(b),option:r,dotProps:x,className:a})}),v={};return l&&s!=null&&(v.clipPath="url(#clipPath-".concat(d?"":"dots-").concat(s,")")),gf.createElement(xr,{zIndex:c},gf.createElement(er,$g({className:n},v),p))}var yf=J(R()),Fg=J(R());function ED(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Vg(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right}));var UD=W([BD,Cr,_r],(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 Yu=()=>ye(UD),$D=()=>ye(CM);function HD(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Bw(e){for(var t=1;t{var t=e.point,r=e.childIndex,n=e.mainColor,a=e.activeDot,i=e.dataKey,o=e.clipPath;if(a===!1||t.x==null||t.y==null)return null;var l={index:r,dataKey:i,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},s=Bw(Bw(Bw({},l),Ji(a)),Vs(a)),u;return(0,Fg.isValidElement)(a)?u=(0,Fg.cloneElement)(a,s):typeof a=="function"?u=a(s):u=yf.createElement(jg,s),yf.createElement(er,{className:"recharts-active-dot",clipPath:o},u)};function Uw(e){var t=e.points,r=e.mainColor,n=e.activeDot,a=e.itemDataKey,i=e.clipPath,o=e.zIndex,l=o===void 0?rt.activeDot:o,s=ye(hl),u=$D();if(t==null||u==null)return null;var c=t.find(d=>u.includes(d.payload));return St(c)?null:yf.createElement(xr,{zIndex:l},yf.createElement(gK,{point:c,childIndex:Number(s),mainColor:r,dataKey:a,activeDot:n,clipPath:i}))}var VD=J(R());var FD=e=>{var t=e.chartData,r=Le(),n=ct();return(0,VD.useEffect)(()=>n?()=>{}:(r(kw(t)),()=>{r(kw(void 0))}),[t,r,n]),null};var YD={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},qD=Ke({name:"brush",initialState:YD,reducers:{setBrushSettings(e,t){return t.payload==null?YD:t.payload}}}),khe=qD.actions.setBrushSettings;var WD=qD.reducer;function yK(e){return(e%180+180)%180}var KD=function(t){var r=t.width,n=t.height,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=yK(a),o=i*Math.PI/180,l=Math.atan(n/r),s=o>l&&o{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=yr(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=yr(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push(je(t.payload))},removeLine:(e,t)=>{var r=yr(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),qu=GD.actions,jhe=qu.addDot,Ihe=qu.removeDot,zhe=qu.addArea,Lhe=qu.removeArea,Bhe=qu.addLine,Uhe=qu.removeLine;var XD=GD.reducer;var xf=J(R()),bf=J(R());function bK(e,t){return NK(e)||AK(e,t)||SK(e,t)||wK()}function wK(){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 SK(e,t){if(e){if(typeof e=="string")return ZD(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)?ZD(e,t):void 0}}function ZD(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=(0,bf.useState)("".concat(ti("recharts"),"-clip")),n=bK(r,1),a=n[0],i=Yu();if(i==null)return null;var o=i.x,l=i.y,s=i.width,u=i.height;return xf.createElement(CK.Provider,{value:a},xf.createElement("defs",null,xf.createElement("clipPath",{id:a},xf.createElement("rect",{x:o,y:l,height:u,width:s}))),t)};var yt=J(R()),Tr=J(R());function JD(){}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 RD(e,t,r){return wf(e,t,void 0,void 0,void 0,void 0,r)}function wf(e,t,r,n,a,i,o){let l=o(e,t,r,n,a,i);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 Sf(e,t,i,o)}return Sf(e,t,i,o)}function Sf(e,t,r,n){if(Object.is(e,t))return!0;let a=ri(e),i=ri(t);if(a==="[object Arguments]"&&(a=Ws),i==="[object Arguments]"&&(i=Ws),a!==i)return!1;switch(a){case Fs:return e.toString()===t.toString();case Ys:return to(e.valueOf(),t.valueOf());case qs:case Bm:case Lm:return Object.is(e.valueOf(),t.valueOf());case Im:return e.source===t.source&&e.flags===t.flags;case gE:return e===t}r=r??new Map;let o=r.get(e),l=r.get(t);if(o!=null&&l!=null)return o===t;r.set(e,t),r.set(t,e);try{switch(a){case Um:if(e.size!==t.size)return!1;for(let[s,u]of e.entries())if(!t.has(s)||!wf(u,t.get(s),s,e,t,r,n))return!1;return!0;case $m:{if(e.size!==t.size)return!1;let s=Array.from(e.values()),u=Array.from(t.values());for(let c=0;cwf(d,p,void 0,e,t,r,n));if(f===-1)return!1;u.splice(f,1)}return!0}case Hm:case Ym:case qm:case Wm:case Km:case xE:case Gm:case Xm:case Zm:case bE:case Qm:case Jm:if(sd(e)!==sd(t)||e.length!==t.length)return!1;for(let s=0;se*a)return!1;var i=r();return e*(t-e*i/2-n)>=0&&e*(t+e*i/2-a)<=0}function r6(e,t){return Yg(e,t+1)}function n6(e,t,r,n,a){for(var i=(n||[]).slice(),o=t.start,l=t.end,s=0,u=1,c=o,d=function(){var v=n?.[s];if(v===void 0)return{v:Yg(n,u)};var g=s,b,m=()=>(b===void 0&&(b=r(v,g)),b),h=v.coordinate,x=s===0||wl(e,h,m,c,l);x||(s=0,c=o,u+=1),x&&(c=h+e*(m()/2+a),s+=u)},f;u<=i.length;)if(f=d(),f)return f.v;return[]}function a6(e,t,r,n,a){var i=(n||[]).slice(),o=i.length;if(o===0)return[];for(var l=t.start,s=t.end,u=1;u<=o;u++){for(var c=(o-1)%u,d=l,f=!0,p=function(){var w=n[g];if(w==null)return 0;var E=g,C,T=()=>(C===void 0&&(C=r(w,E)),C),_=w.coordinate,I=g===c||wl(e,_,T,d,s);if(!I)return f=!1,1;I&&(d=_+e*(T()/2+a))},v,g=c;g(g===void 0&&(g=r(p,f)),g);if(f===o-1){var m=e*(v.coordinate+e*b()/2-s);i[f]=v=kr(kr({},v),{},{tickCoord:m>0?v.coordinate-m*e:v.coordinate})}else i[f]=v=kr(kr({},v),{},{tickCoord:v.coordinate});if(v.tickCoord!=null){var h=wl(e,v.tickCoord,b,l,s);h&&(s=v.tickCoord-e*(b()/2+a),i[f]=kr(kr({},v),{},{isShow:!0}))}},c=o-1;c>=0;c--)u(c);return i}function TK(e,t,r,n,a,i){var o=(n||[]).slice(),l=o.length,s=t.start,u=t.end;if(i){var c=n[l-1];if(c!=null){var d=r(c,l-1),f=e*(c.coordinate+e*d/2-u);if(o[l-1]=c=kr(kr({},c),{},{tickCoord:f>0?c.coordinate-f*e:c.coordinate}),c.tickCoord!=null){var p=wl(e,c.tickCoord,()=>d,s,u);p&&(u=c.tickCoord-e*(d/2+a),o[l-1]=kr(kr({},c),{},{isShow:!0}))}}}for(var v=i?l-1:l,g=function(h){var x=o[h];if(x==null)return 1;var w=x,E,C=()=>(E===void 0&&(E=r(x,h)),E);if(h===0){var T=e*(w.coordinate-e*C()/2-s);o[h]=w=kr(kr({},w),{},{tickCoord:T<0?w.coordinate-T*e:w.coordinate})}else o[h]=w=kr(kr({},w),{},{tickCoord:w.coordinate});if(w.tickCoord!=null){var _=wl(e,w.tickCoord,C,s,u);_&&(s=w.tickCoord+e*(C()/2+a),o[h]=kr(kr({},w),{},{isShow:!0}))}},b=0;b{var T=typeof u=="function"?u(E.value,C):E.value;return v==="width"?e6(gl(T,{fontSize:t,letterSpacing:r}),g,d):gl(T,{fontSize:t,letterSpacing:r})[v]},m=a[0],h=a[1],x=a.length>=2&&m!=null&&h!=null?rr(h.coordinate-m.coordinate):1,w=t6(i,x,v);return s==="equidistantPreserveStart"?n6(x,w,b,a,o):s==="equidistantPreserveEnd"?a6(x,w,b,a,o):(s==="preserveStart"||s==="preserveStartEnd"?p=TK(x,w,b,a,o,s==="preserveStartEnd"):p=kK(x,w,b,a,o),p.filter(E=>E.isShow))}var o6=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,a=n===void 0?5:n,i=e.tickSize,o=i===void 0?0:i,l=e.tickMargin,s=l===void 0?0:l,u=0;if(t){Array.from(t).forEach(p=>{if(p){var v=p.getBoundingClientRect();v.width>u&&(u=v.width)}});var c=r?r.getBoundingClientRect().width:0,d=o+s,f=u+d+c+(r?a:0);return Math.round(f)}return 0};var l6=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,a=n===void 0?5:n,i=e.tickSize,o=i===void 0?0:i,l=e.tickMargin,s=l===void 0?0:l,u=0;if(t){Array.from(t).forEach(p=>{if(p){var v=p.getBoundingClientRect();v.height>u&&(u=v.height)}});var c=r?r.getBoundingClientRect().height:0,d=o+s,f=u+d+c+(r?a:0);return Math.round(f)}return 0};var MK={xAxis:{},yAxis:{}},s6=Ke({name:"renderedTicks",initialState:MK,reducers:{setRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,a=r.axisId,i=r.ticks;e[n][a]=je(i)},removeRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,a=r.axisId;delete e[n][a]}}}),u6=s6.actions,c6=u6.setRenderedTicks,d6=u6.removeRenderedTicks;var f6=s6.reducer;var DK=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function p6(e,t){return zK(e)||IK(e,t)||jK(e,t)||PK()}function PK(){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 jK(e,t){if(e){if(typeof e=="string")return m6(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)?m6(e,t):void 0}}function m6(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(!(n==null||r==null)){var o=t.map(s=>({value:s.value,coordinate:s.coordinate,offset:s.offset,index:s.index})),l=i.current;l!=null&&l.axisId===n&&l.axisType===r&&Hw(l.ticks,o)||(i.current={ticks:o,axisId:n,axisType:r},a(c6({ticks:o,axisId:n,axisType:r})))}},[a,t,n,r]),(0,Tr.useEffect)(()=>n==null||r==null?ea:()=>{a(d6({axisId:n,axisType:r}))},[a,n,r]),null}var GK=(0,Tr.forwardRef)((e,t)=>{var r=e.ticks,n=r===void 0?[]:r,a=e.tick,i=e.tickLine,o=e.stroke,l=e.tickFormatter,s=e.unit,u=e.padding,c=e.tickTextProps,d=e.orientation,f=e.mirror,p=e.x,v=e.y,g=e.width,b=e.height,m=e.tickSize,h=e.tickMargin,x=e.fontSize,w=e.letterSpacing,E=e.getTicksConfig,C=e.events,T=e.axisType,_=e.axisId,I=Af(Mt(Mt({},E),{},{ticks:n}),x,w),z=ur(E),B=Ji(a),$=Mg(z.textAnchor)?z.textAnchor:YK(d,f),X=qK(d,f),H={};typeof i=="object"&&(H=i);var q=Mt(Mt({},z),{},{fill:"none"},H),y=I.map(M=>Mt({entry:M},FK(M,p,v,g,b,d,m,f,h))),N=y.map(M=>{var A=M.entry,k=M.line;return yt.createElement(er,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(A.value,"-").concat(A.coordinate,"-").concat(A.tickCoord)},i&&yt.createElement("line",Sl({},q,k,{className:Te("recharts-cartesian-axis-tick-line",pn(i,"className"))})))}),O=y.map((M,A)=>{var k,V,G=M.entry,Q=M.tick,se=Mt(Mt(Mt(Mt({verticalAnchor:X},z),{},{textAnchor:$,stroke:"none",fill:o},Q),{},{index:A,payload:G,visibleTicksCount:I.length,tickFormatter:l,padding:u},c),{},{angle:(k=(V=c?.angle)!==null&&V!==void 0?V:z.angle)!==null&&k!==void 0?k:0}),ue=Mt(Mt({},se),B);return yt.createElement(er,Sl({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(G.value,"-").concat(G.coordinate,"-").concat(G.tickCoord)},dE(C,G,A)),a&&yt.createElement(WK,{option:a,tickProps:ue,value:"".concat(typeof l=="function"?l(G.value,A):G.value).concat(s||"")}))});return yt.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(T,"-ticks")},yt.createElement(KK,{ticks:I,axisId:_,axisType:T}),O.length>0&&yt.createElement(xr,{zIndex:rt.label},yt.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(T,"-tick-labels"),ref:t},O)),N.length>0&&yt.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(T,"-tick-lines")},N))}),XK=(0,Tr.forwardRef)((e,t)=>{var r=e.axisLine,n=e.width,a=e.height,i=e.className,o=e.hide,l=e.ticks,s=e.axisType,u=e.axisId,c=LK(e,DK),d=(0,Tr.useState)(""),f=p6(d,2),p=f[0],v=f[1],g=(0,Tr.useState)(""),b=p6(g,2),m=b[0],h=b[1],x=(0,Tr.useRef)(null);(0,Tr.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>{var E;return o6({ticks:x.current,label:(E=e.labelRef)===null||E===void 0?void 0:E.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})},getCalculatedHeight:()=>{var E;return l6({ticks:x.current,label:(E=e.labelRef)===null||E===void 0?void 0:E.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var w=(0,Tr.useCallback)(E=>{if(E){var C=E.getElementsByClassName("recharts-cartesian-axis-tick-value");x.current=C;var T=C[0];if(T){var _=window.getComputedStyle(T),I=_.fontSize,z=_.letterSpacing;(I!==p||z!==m)&&(v(I),h(z))}}},[p,m]);return o||n!=null&&n<=0||a!=null&&a<=0?null:yt.createElement(xr,{zIndex:e.zIndex},yt.createElement(er,{className:Te("recharts-cartesian-axis",i)},yt.createElement(VK,{x:e.x,y:e.y,width:n,height:a,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:ur(e)}),yt.createElement(GK,{ref:w,axisType:s,events:c,fontSize:p,getTicksConfig:e,height:e.height,letterSpacing:m,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}),yt.createElement(W8,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},yt.createElement(G8,{label:e.label,labelRef:e.labelRef}),e.children)))}),Nf=yt.forwardRef((e,t)=>{var r=At(e,Yn);return yt.createElement(XK,Sl({},r,{ref:t}))});Nf.displayName="CartesianAxis";var Dt=J(R());var qg=J(R());var h6={grid:{stroke:"#ccc",fill:"none"}};var g6=(0,qg.createContext)(h6),Fge=g6.Provider,y6=()=>(0,qg.useContext)(g6);var ZK=["x1","y1","x2","y2","key"],QK=["offset"],JK=["xAxisId","yAxisId"],RK=["xAxisId","yAxisId"];function x6(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Mr(e){for(var t=1;t{var t=e.fill;if(!t||t==="none")return null;var r=e.fillOpacity,n=e.x,a=e.y,i=e.width,o=e.height,l=e.ry;return Dt.createElement("rect",{x:n,y:a,ry:l,width:i,height:o,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function b6(e){var t=e.option,r=e.lineItemProps,n;if(Dt.isValidElement(t))n=Dt.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var a,i=r.x1,o=r.y1,l=r.x2,s=r.y2,u=r.key,c=Wg(r,ZK),d=(a=ur(c))!==null&&a!==void 0?a:{},f=d.offset,p=Wg(d,QK),v=Array.isArray(p.strokeDasharray)?p.strokeDasharray.join(","):p.strokeDasharray;n=Dt.createElement("line",Al({},p,{strokeDasharray:v,x1:i,y1:o,x2:l,y2:s,fill:"none",key:u}))}return n}function iG(e){var t=e.x,r=e.width,n=e.horizontal,a=n===void 0?!0:n,i=e.horizontalPoints;if(!a||!i||!i.length)return null;var o=e.xAxisId,l=e.yAxisId,s=Wg(e,JK),u=i.map((c,d)=>{var f=Mr(Mr({},s),{},{x1:t,y1:c,x2:t+r,y2:c,key:"line-".concat(d),index:d});return Dt.createElement(b6,{key:"line-".concat(d),option:a,lineItemProps:f})});return Dt.createElement("g",{className:"recharts-cartesian-grid-horizontal"},u)}function oG(e){var t=e.y,r=e.height,n=e.vertical,a=n===void 0?!0:n,i=e.verticalPoints;if(!a||!i||!i.length)return null;var o=e.xAxisId,l=e.yAxisId,s=Wg(e,RK),u=i.map((c,d)=>{var f=Mr(Mr({},s),{},{x1:c,y1:t,x2:c,y2:t+r,key:"line-".concat(d),index:d});return Dt.createElement(b6,{option:a,lineItemProps:f,key:"line-".concat(d)})});return Dt.createElement("g",{className:"recharts-cartesian-grid-vertical"},u)}function lG(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,a=e.y,i=e.width,o=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+a-a)).sort((f,p)=>f-p);a!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var v=c[p+1],g=v==null,b=g?a+o-f:v-f;if(b<=0)return null;var m=p%t.length;return Dt.createElement("rect",{key:"react-".concat(p),y:f,x:n,height:b,width:i,stroke:"none",fill:t[m],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return Dt.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function sG(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,a=e.fillOpacity,i=e.x,o=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+i-i)).sort((f,p)=>f-p);i!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var v=c[p+1],g=v==null,b=g?i+l-f:v-f;if(b<=0)return null;var m=p%n.length;return Dt.createElement("rect",{key:"react-".concat(p),x:f,y:o,width:b,height:s,stroke:"none",fill:n[m],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return Dt.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var uG=(e,t)=>{var r=e.xAxis,n=e.width,a=e.height,i=e.offset;return p1(Af(Mr(Mr(Mr({},Yn),r),{},{ticks:m1(r,!0),viewBox:{x:0,y:0,width:n,height:a}})),i.left,i.left+i.width,t)},cG=(e,t)=>{var r=e.yAxis,n=e.width,a=e.height,i=e.offset;return p1(Af(Mr(Mr(Mr({},Yn),r),{},{ticks:m1(r,!0),viewBox:{x:0,y:0,width:n,height:a}})),i.top,i.top+i.height,t)},dG={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:rt.grid};function Nl(e){var t,r,n,a,i,o,l=Vv(),s=Fv(),u=Hv(),c=Mr(Mr({},At(e,dG)),{},{x:me(e.x)?e.x:u.left,y:me(e.y)?e.y:u.top,width:me(e.width)?e.width:u.width,height:me(e.height)?e.height:u.height}),d=c.xAxisId,f=c.yAxisId,p=c.x,v=c.y,g=c.width,b=c.height,m=c.syncWithTicks,h=c.horizontalValues,x=c.verticalValues,w=ct(),E=ye(N=>aw(N,"xAxis",d,w)),C=ye(N=>aw(N,"yAxis",f,w)),T=y6(),_={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:(a=c.strokeDasharray)!==null&&a!==void 0?a:T.grid.strokeDasharray};if(!Xr(g)||!Xr(b)||!me(p)||!me(v))return null;var I=c.verticalCoordinatesGenerator||uG,z=c.horizontalCoordinatesGenerator||cG,B=c.horizontalPoints,$=c.verticalPoints;if((!B||!B.length)&&typeof z=="function"){var X=h&&h.length,H=z({yAxis:C?Mr(Mr({},C),{},{ticks:X?h:C.ticks}):void 0,width:l??g,height:s??b,offset:u},X?!0:m);tu(Array.isArray(H),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof H,"]")),Array.isArray(H)&&(B=H)}if((!$||!$.length)&&typeof I=="function"){var q=x&&x.length,y=I({xAxis:E?Mr(Mr({},E),{},{ticks:q?x:E.ticks}):void 0,width:l??g,height:s??b,offset:u},q?!0:m);tu(Array.isArray(y),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof y,"]")),Array.isArray(y)&&($=y)}return Dt.createElement(xr,{zIndex:c.zIndex},Dt.createElement("g",{className:"recharts-cartesian-grid"},Dt.createElement(aG,{fill:(i=c.fill)!==null&&i!==void 0?i:T.grid.fill,fillOpacity:(o=c.fillOpacity)!==null&&o!==void 0?o:T.grid.fillOpacity,x:c.x,y:c.y,width:c.width,height:c.height,ry:c.ry}),Dt.createElement(lG,Al({},c,{horizontalPoints:B})),Dt.createElement(sG,Al({},c,{verticalPoints:$})),Dt.createElement(iG,Al({},c,_,{offset:u,horizontalPoints:B,xAxis:E,yAxis:C})),Dt.createElement(oG,Al({},c,_,{offset:u,verticalPoints:$,xAxis:E,yAxis:C}))))}Nl.displayName="CartesianGrid";var fG={},w6=Ke({name:"errorBars",initialState:fG,reducers:{addErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,a=r.errorBar;e[n]||(e[n]=[]),e[n].push(a)},replaceErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,a=r.prev,i=r.next;e[n]&&(e[n]=e[n].map(o=>o.dataKey===a.dataKey&&o.direction===a.direction?i:o))},removeErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,a=r.errorBar;e[n]&&(e[n]=e[n].filter(i=>i.dataKey!==a.dataKey||i.direction!==a.direction))}}}),Vw=w6.actions,sye=Vw.addErrorBar,uye=Vw.replaceErrorBar,cye=Vw.removeErrorBar;var S6=w6.reducer;var Fw=J(R());function Yw(e,t){var r,n,a=ye(u=>Ea(u,e)),i=ye(u=>Oa(u,t)),o=(r=a?.allowDataOverflow)!==null&&r!==void 0?r:Ut.allowDataOverflow,l=(n=i?.allowDataOverflow)!==null&&n!==void 0?n:$t.allowDataOverflow,s=o||l;return{needClip:s,needClipX:o,needClipY:l}}function A6(e){var t=e.xAxisId,r=e.yAxisId,n=e.clipPathId,a=Yu(),i=Yw(t,r),o=i.needClipX,l=i.needClipY,s=i.needClip,u=ye(x=>Q2(x,t,!1)),c=ye(x=>J2(x,r,!1));if(!s||!a)return null;var d=a.x,f=a.y,p=a.width,v=a.height,g=o&&u?Math.min(u[0],u[1]):d-p/2,b=l&&c?Math.min(c[0],c[1]):f-v/2,m=o&&u?Math.abs(u[1]-u[0]):p*2,h=l&&c?Math.abs(c[1]-c[0]):v*2;return Fw.createElement("clipPath",{id:"clipPath-".concat(n)},Fw.createElement("rect",{x:g,y:b,width:m,height:h}))}function N6(e){var t=Ji(e),r=3,n=2;if(t!=null){var a=t.r,i=t.strokeWidth,o=Number(a),l=Number(i);return(Number.isNaN(o)||o<0)&&(o=r),(Number.isNaN(l)||l<0)&&(l=n),{r:o,strokeWidth:l}}return{r,strokeWidth:n}}var Fe=J(R()),Cl=J(R());function Kg(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(a=>a.id===t))===null||n===void 0?void 0:n.xAxisId)!==null&&r!==void 0?r:Lw}function Gg(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(a=>a.id===t))===null||n===void 0?void 0:n.yAxisId)!==null&&r!==void 0?r:Lw}var C6=(e,t,r)=>ow(e,"xAxis",Kg(e,t),r),_6=(e,t,r)=>iw(e,"xAxis",Kg(e,t),r),E6=(e,t,r)=>ow(e,"yAxis",Gg(e,t),r),O6=(e,t,r)=>iw(e,"yAxis",Gg(e,t),r),pG=W([Qe,C6,E6,_6,O6],(e,t,r,n,a)=>Qr(e,"xAxis")?Qs(t,n,!1):Qs(r,a,!1)),mG=(e,t)=>t,qw=W([O2,mG],(e,t)=>e.filter(r=>r.type==="area").find(r=>r.id===t)),k6=e=>{var t=Qe(e),r=Qr(t,"xAxis");return r?"yAxis":"xAxis"},vG=(e,t)=>{var r=k6(e);return r==="yAxis"?Gg(e,t):Kg(e,t)},T6=(e,t,r)=>z2(e,k6(e),vG(e,t),r),hG=W([qw,T6],(e,t)=>{var r;if(!(e==null||t==null)){var n=e.stackId,a=cu(e);if(!(n==null||a==null)){var i=(r=t[n])===null||r===void 0?void 0:r.stackedData,o=i?.find(l=>l.key===a);if(o!=null)return o.map(l=>[l[0],l[1]])}}}),gG=W([qw,T6],(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(nr)}}),M6=W([Qe,C6,E6,_6,O6,hG,XT,pG,qw,l3,gG],(e,t,r,n,a,i,o,l,s,u,c)=>{var d=o.chartData,f=o.dataStartIndex,p=o.dataEndIndex;if(!(s==null||e!=="horizontal"&&e!=="vertical"||t==null||r==null||n==null||a==null||n.length===0||a.length===0||l==null)){var v=s.data,g;if(v&&v.length>0?g=v:g=d?.slice(f,p+1),g!=null)return D6({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:a,dataStartIndex:f,areaSettings:s,stackedData:i,displayedData:g,chartBaseValue:u,bandSize:l,stackDataKeys:c})}});var Dr=J(R());var yG=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],xG=["id","baseLine"];function Cf(){return Cf=Object.assign?Object.assign.bind():function(e){for(var t=1;td.y||0));return me(a)?c=Math.max(a,c):a&&Array.isArray(a)&&a.length&&(c=Math.max(...a.map(d=>d.y||0),c)),me(c)?Dr.createElement("rect",{x:ld.x||0));return me(a)?c=Math.max(a,c):a&&Array.isArray(a)&&a.length&&(c=Math.max(...a.map(d=>d.x||0),c)),me(c)?Dr.createElement("rect",{x:0,y:le==null?[]:t===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>r.status==="matched"?[Wu(Wu({},r.next),{},{x:zn(r.prev.x,r.next.x,t),y:zn(r.prev.y,r.next.y,t)})]:r.status==="added"?[r.next]:[]),L6={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:mf,animationInterpolateFn:TG,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:j6,xAxisId:0,yAxisId:0,zIndex:rt.area};function Zg(e,t){return e&&e!=="none"?e:t}var MG=e=>{var t=e.dataKey,r=e.name,n=e.stroke,a=e.fill,i=e.legendType,o=e.hide;return[{inactive:o,dataKey:t,type:i,color:Zg(n,a),value:x1(r,t),payload:e}]},DG=Fe.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,a=e.strokeWidth,i=e.fill,o=e.name,l=e.hide,s=e.unit,u=e.formatter,c=e.tooltipType,d=e.id,f={dataDefinedOnItem:r,getPosition:ea,settings:{stroke:n,strokeWidth:a,fill:i,dataKey:t,nameKey:void 0,name:x1(o,t),hide:l,type:c,color:Zg(n,i),unit:s,formatter:u,graphicalItemId:d}};return Fe.createElement(sD,{tooltipEntrySettings:f})});function PG(e){var t=e.clipPathId,r=e.points,n=e.props,a=n.needClip,i=n.dot,o=n.dataKey,l=ur(n);return Fe.createElement(_D,{points:r,dot:i,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:o,baseProps:l,needClip:a,clipPathId:t})}function jG(e){var t=e.showLabels,r=e.children,n=e.points,a=n.map(i=>{var o,l,s={x:(o=i.x)!==null&&o!==void 0?o:0,y:(l=i.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Wu(Wu({},s),{},{value:i.value,payload:i.payload,parentViewBox:void 0,viewBox:s,fill:void 0})});return Fe.createElement(Q8,{value:t?a:void 0},r)}function IG(e){var t=e.points,r=e.baseLine,n=e.needClip,a=e.clipPathId,i=e.props,o=e.animationElapsedTime,l=e.isAnimating,s=e.isEntrance,u=i.layout,c=i.type,d=i.stroke,f=i.connectNulls,p=i.isRange,v=i.shape,g=i.id,b=z6(i,NG),m=Lt(b),h=Wu(Wu({},m),{},{id:g,points:t,connectNulls:f,type:c,baseLine:r,layout:u,stroke:d,isRange:p,animationElapsedTime:o,isAnimating:l,isEntrance:s});return Fe.createElement(Fe.Fragment,null,t?.length>1&&Fe.createElement(er,{clipPath:n?"url(#clipPath-".concat(a,")"):void 0},Fe.createElement(lD,{option:v,DefaultShape:L6.shape,shapeProps:h})),Fe.createElement(PG,{points:t,props:b,clipPathId:a}))}function zG(e,t,r){if(me(e)){var n=me(t)?t:void 0;return zn(n,e,r)}if(St(e)||Ar(e)){var a=me(t)?t:void 0;return zn(a,0,r)}return e}function LG(e){var t=e.needClip,r=e.clipPathId,n=e.props,a=e.previousPointsRef,i=e.previousBaselineRef,o=n.points,l=n.baseLine,s=n.isAnimationActive,u=n.animationBegin,c=n.animationDuration,d=n.animationEasing,f=n.animationMatchBy,p=n.animationInterpolateFn,v=(0,Cl.useMemo)(()=>({points:o,baseLine:l}),[o,l]),g=Lg(v,i),b=nu(),m=pD(n.onAnimationStart,n.onAnimationEnd),h=m.isAnimating,x=m.handleAnimationStart,w=m.handleAnimationEnd,E=g.startValue;if(b==null)return null;var C;return Array.isArray(l)&&Array.isArray(E)?C=vf(E,l,f):Array.isArray(l)?C=vf(null,l,f):C=null,Fe.createElement(mD,{animationInput:v,animationIdPrefix:"recharts-area-",items:o,previousItemsRef:a,isAnimationActive:s,animationBegin:u,animationDuration:c,animationEasing:d,onAnimationStart:x,onAnimationEnd:w,animationInterpolateFn:p,animationMatchBy:f,layout:b},(T,_,I)=>{var z;return _===1?z=l:Array.isArray(l)?z=p(C,_,b):z=I?l:zG(l,E,_),g.syncStepValue(z,_),Fe.createElement(jG,{showLabels:!h,points:o},n.children,Fe.createElement(IG,{points:T,baseLine:z,needClip:t,clipPathId:r,props:n,animationElapsedTime:_,isAnimating:h||_<1,isEntrance:I}),Fe.createElement(R8,{label:n.label}))})}function BG(e){var t=e.needClip,r=e.clipPathId,n=e.props,a=(0,Cl.useRef)(null),i=(0,Cl.useRef)();return Fe.createElement(LG,{needClip:t,clipPathId:r,props:n,previousPointsRef:a,previousBaselineRef:i})}var Ww=class extends Cl.PureComponent{render(){var t=this.props,r=t.hide,n=t.dot,a=t.points,i=t.className,o=t.top,l=t.left,s=t.needClip,u=t.xAxisId,c=t.yAxisId,d=t.width,f=t.height,p=t.id,v=t.baseLine,g=t.zIndex;if(r)return null;var b=Te("recharts-area",i),m=p,h=N6(n),x=h.r,w=h.strokeWidth,E=zg(n),C=x*2+w,T=s?"url(#clipPath-".concat(E?"":"dots-").concat(m,")"):void 0;return Fe.createElement(xr,{zIndex:g},Fe.createElement(er,{className:b},s&&Fe.createElement("defs",null,Fe.createElement(A6,{clipPathId:m,xAxisId:u,yAxisId:c}),!E&&Fe.createElement("clipPath",{id:"clipPath-dots-".concat(m)},Fe.createElement("rect",{x:l-C/2,y:o-C/2,width:d+C,height:f+C}))),Fe.createElement(BG,{needClip:s,clipPathId:m,props:this.props})),Fe.createElement(Uw,{points:a,mainColor:Zg(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}),this.props.isRange&&Array.isArray(v)&&Fe.createElement(Uw,{points:v,mainColor:Zg(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}))}};function UG(e){var t,r=e.activeDot,n=e.animationBegin,a=e.animationDuration,i=e.animationEasing,o=e.connectNulls,l=e.dot,s=e.fill,u=e.fillOpacity,c=e.hide,d=e.isAnimationActive,f=e.legendType,p=e.stroke,v=e.xAxisId,g=e.yAxisId,b=z6(e,CG),m=ba(),h=xg(),x=Yw(v,g),w=x.needClip,E=ct(),C=(t=ye(q=>M6(q,e.id,E)))!==null&&t!==void 0?t:{},T=C.points,_=C.isRange,I=C.baseLine,z=Yu();if(m!=="horizontal"&&m!=="vertical"||z==null||h!=="AreaChart"&&h!=="ComposedChart")return null;var B=z.height,$=z.width,X=z.x,H=z.y;return!T||!T.length?null:Fe.createElement(Ww,Xg({},b,{activeDot:r,animationBegin:n,animationDuration:a,animationEasing:i,baseLine:I,connectNulls:o,dot:l,fill:s,fillOpacity:u,height:B,hide:c,layout:m,isAnimationActive:d,isRange:_,legendType:f,needClip:w,points:T,stroke:p,width:$,left:X,top:H,xAxisId:v,yAxisId:g}))}var $G=(e,t,r,n,a)=>{var i=r??t;if(me(i))return i;var o=e==="horizontal"?a:n,l=o.scale.domain();if(o.type==="number"){var s=Math.max(l[0],l[1]),u=Math.min(l[0],l[1]);return i==="dataMin"?u:i==="dataMax"||s<0?s:Math.max(Math.min(l[0],l[1]),0)}return i==="dataMin"?l[0]:i==="dataMax"?l[1]:l[0]};function D6(e){var t=e.areaSettings,r=t.connectNulls,n=t.baseValue,a=t.dataKey,i=e.stackedData,o=e.layout,l=e.chartBaseValue,s=e.xAxis,u=e.yAxis,c=e.displayedData,d=e.dataStartIndex,f=e.xAxisTicks,p=e.yAxisTicks,v=e.bandSize,g=e.stackDataKeys,b=i&&i.length,m=$G(o,l,n,s,u),h=o==="horizontal",x=!1,w=c.map((C,T)=>{var _,I,z,B;if(b)B=i[d+T];else{var $=ht(C,a);Array.isArray($)?(B=$,x=!0):B=[m,$]}var X=(_=(I=B)===null||I===void 0?void 0:I[1])!==null&&_!==void 0?_:null,H=ht(C,a),q=b&&H==null&&g!=null&&g.length>0&&g.every(O=>ht(C,O)==null),y=X==null||b&&!r&&H==null||q;if(h){var N;return{x:v1({axis:s,ticks:f,bandSize:v,entry:C,index:T}),y:y?null:(N=u.scale.map(X))!==null&&N!==void 0?N:null,value:B,payload:C}}return{x:y?null:(z=s.scale.map(X))!==null&&z!==void 0?z:null,y:v1({axis:u,ticks:p,bandSize:v,entry:C,index:T}),value:B,payload:C}}),E;return b||x?E=w.map(C=>{var T,_=Array.isArray(C.value)?C.value[0]:null;if(h){var I;return{x:C.x,y:_!=null&&C.y!=null&&(I=u.scale.map(_))!==null&&I!==void 0?I:null,payload:C.payload}}return{x:_!=null&&(T=s.scale.map(_))!==null&&T!==void 0?T:null,y:C.y,payload:C.payload}}):E=h?u.scale.map(m):s.scale.map(m),{points:w,baseLine:E??0,isRange:x}}function HG(e){var t=At(e,L6),r=ct();return Fe.createElement(yD,{id:t.id,type:"area"},n=>Fe.createElement(Fe.Fragment,null,Fe.createElement(uD,{legendPayload:MG(t)}),Fe.createElement(DG,{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}),Fe.createElement(ND,{type:"area",id:n,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:ak(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:r,connectNulls:t.connectNulls}),Fe.createElement(UG,Xg({},t,{id:n}))))}var _l=Fe.memo(HG,ro);_l.displayName="Area";var yi=J(R()),qn=J(R());var VG=["domain","range"],FG=["domain","range"];function B6(e,t){if(e==null)return{};var r,n,a=YG(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n{if(o!=null)return H6(H6({},i),{},{type:o})},[i,o]);return(0,qn.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(kD(l)):r.current!==l&&t(TD({prev:r.current,next:l})),r.current=l)},[l,t]),(0,qn.useLayoutEffect)(()=>()=>{r.current&&(t(MD(r.current)),r.current=null)},[t]),null}var RG=e=>{var t=e.xAxisId,r=e.className,n=e.height,a=e.label,i=(0,qn.useRef)(null),o=(0,qn.useRef)(null),l=ye(Bv),s=ct(),u=Le(),c="xAxis",d=ye(C=>sg(C,c,t,s)),f=ye(C=>J4(C,t)),p=ye(C=>R4(C,t)),v=ye(C=>A2(C,t));if((0,qn.useLayoutEffect)(()=>{if(!(n!=="auto"||!f||xl(a)||(0,qn.isValidElement)(a)||v==null)){var C=i.current;if(C){var T=C.getCalculatedHeight();Math.round(f.height)!==Math.round(T)&&u(zD({id:t,height:T}))}}},[d,f,u,a,t,n,v]),f==null||p==null||v==null)return null;var g=e.dangerouslySetInnerHTML,b=e.ticks,m=e.scale,h=Gw(e,WG),x=v.id,w=v.scale,E=Gw(v,KG);return yi.createElement(Nf,Kw({},h,E,{ref:i,labelRef:o,x:p.x,y:p.y,width:f.width,height:f.height,className:Te("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:d,axisType:c,axisId:t}))},eX={allowDataOverflow:Ut.allowDataOverflow,allowDecimals:Ut.allowDecimals,allowDuplicatedCategory:Ut.allowDuplicatedCategory,angle:Ut.angle,axisLine:Yn.axisLine,height:Ut.height,hide:!1,includeHidden:Ut.includeHidden,interval:Ut.interval,label:!1,minTickGap:Ut.minTickGap,mirror:Ut.mirror,orientation:Ut.orientation,padding:Ut.padding,reversed:Ut.reversed,scale:Ut.scale,tick:Ut.tick,tickCount:Ut.tickCount,tickLine:Yn.tickLine,tickSize:Yn.tickSize,type:Ut.type,niceTicks:Ut.niceTicks,xAxisId:0},tX=e=>{var t=At(e,eX);return yi.createElement(yi.Fragment,null,yi.createElement(JG,{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}),yi.createElement(RG,t))},El=yi.memo(tX,Qg);El.displayName="XAxis";var xi=J(R()),Wn=J(R());var rX=["type"],nX=["dangerouslySetInnerHTML","ticks","scale"],aX=["id","scale"];function Xw(){return Xw=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(o!=null)return F6(F6({},i),{},{type:o})},[o,i]);return(0,Wn.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(DD(l)):r.current!==l&&t(PD({prev:r.current,next:l})),r.current=l)},[l,t]),(0,Wn.useLayoutEffect)(()=>()=>{r.current&&(t(jD(r.current)),r.current=null)},[t]),null}function cX(e){var t=e.yAxisId,r=e.className,n=e.width,a=e.label,i=(0,Wn.useRef)(null),o=(0,Wn.useRef)(null),l=ye(Bv),s=ct(),u=Le(),c="yAxis",d=ye(C=>tM(C,t)),f=ye(C=>eM(C,t)),p=ye(C=>sg(C,c,t,s)),v=ye(C=>N2(C,t));if((0,Wn.useLayoutEffect)(()=>{if(!(n!=="auto"||!d||xl(a)||(0,Wn.isValidElement)(a)||v==null)){var C=i.current;if(C){var T=C.getCalculatedWidth();Math.round(d.width)!==Math.round(T)&&u(ID({id:t,width:T}))}}},[p,d,u,a,t,n,v]),d==null||f==null||v==null)return null;var g=e.dangerouslySetInnerHTML,b=e.ticks,m=e.scale,h=Zw(e,nX),x=v.id,w=v.scale,E=Zw(v,aX);return xi.createElement(Nf,Xw({},h,E,{ref:i,labelRef:o,x:f.x,y:f.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:d.width,height:d.height,className:Te("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:p,axisType:c,axisId:t}))}var dX={allowDataOverflow:$t.allowDataOverflow,allowDecimals:$t.allowDecimals,allowDuplicatedCategory:$t.allowDuplicatedCategory,angle:$t.angle,axisLine:Yn.axisLine,hide:!1,includeHidden:$t.includeHidden,interval:$t.interval,label:!1,minTickGap:$t.minTickGap,mirror:$t.mirror,orientation:$t.orientation,padding:$t.padding,reversed:$t.reversed,scale:$t.scale,tick:$t.tick,tickCount:$t.tickCount,tickLine:Yn.tickLine,tickSize:Yn.tickSize,type:$t.type,niceTicks:$t.niceTicks,width:$t.width,yAxisId:0},fX=e=>{var t=At(e,dX);return xi.createElement(xi.Fragment,null,xi.createElement(uX,{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}),xi.createElement(cX,t))},Ol=xi.memo(fX,Qg);Ol.displayName="YAxis";var jl=J(R()),xP=J(R());var nP=J(R()),aP=J(R());var pX=(e,t)=>t,_f=W([pX,Qe,hh,Bt,fw,en,jM,gt],$M);function mX(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function Ef(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if(mX(e)){var a=e.currentTarget.getBBox();r=a.width>0?t.width/a.width:1,n=a.height>0?t.height/a.height:1}else{var i=e.currentTarget;r=i.offsetWidth>0?t.width/i.offsetWidth:1,n=i.offsetHeight>0?t.height/i.offsetHeight:1}var o=(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=>o(l.clientX,l.clientY)):o(e.clientX,e.clientY)}var Jw=Xt("mouseClick"),Rw=oi();Rw.startListening({actionCreator:Jw,effect:(e,t)=>{var r=e.payload,n=_f(t.getState(),Ef(r));n?.activeIndex!=null&&t.dispatch(dM({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var Jg=Xt("mouseMove"),eS=oi(),Ku=null,kl=null,Qw=null;eS.startListening({actionCreator:Jg,effect:(e,t)=>{var r=e.payload,n=t.getState(),a=n.eventSettings,i=a.throttleDelay,o=a.throttledEvents,l=o==="all"||o?.includes("mousemove");Ku!==null&&(cancelAnimationFrame(Ku),Ku=null),kl!==null&&(typeof i!="number"||!l)&&(clearTimeout(kl),kl=null),Qw=Ef(r);var s=()=>{var u=t.getState(),c=fo(u,u.tooltip.settings.shared);if(!Qw){Ku=null,kl=null;return}if(c==="axis"){var d=_f(u,Qw);d?.activeIndex!=null?t.dispatch(dg({activeIndex:d.activeIndex,activeDataKey:void 0,activeCoordinate:d.activeCoordinate})):t.dispatch(cg())}Ku=null,kl=null};if(!l){s();return}i==="raf"?Ku=requestAnimationFrame(s):typeof i=="number"&&kl===null&&(kl=setTimeout(s,i))}});function Y6(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 q6={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},W6=Ke({name:"rootProps",initialState:q6,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:q6.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}}}),K6=W6.reducer,G6=W6.actions.updateOptions;var vX=null,hX={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)},X6=Ke({name:"polarOptions",initialState:vX,reducers:hX}),uxe=X6.actions.updatePolarOptions;var Z6=X6.reducer;var tS=Xt("keyDown"),rS=Xt("focus"),nS=Xt("blur"),Of=oi(),Gu=null,Tl=null,Rg=null;Of.startListening({actionCreator:tS,effect:(e,t)=>{Rg=e.payload,Gu!==null&&(cancelAnimationFrame(Gu),Gu=null);var r=t.getState(),n=r.eventSettings,a=n.throttleDelay,i=n.throttledEvents,o=i==="all"||i.includes("keydown");Tl!==null&&(typeof a!="number"||!o)&&(clearTimeout(Tl),Tl=null);var l=()=>{try{var s=t.getState(),u=s.rootProps.accessibilityLayer!==!1;if(!u)return;var c=s.tooltip.keyboardInteraction,d=Rg;if(d!=="ArrowRight"&&d!=="ArrowLeft"&&d!=="Enter")return;var f=po(c,mi(s),di(s),vo(s)),p=f==null?-1:Number(f),v=!Number.isFinite(p)||p<0,g=en(s),b=mi(s),m=fo(s,s.tooltip.settings.shared);if(d==="Enter"){if(v)return;var h=lf(s,m,"hover",String(c.index));t.dispatch(af({active:!c.active,activeIndex:c.index,activeCoordinate:h}));return}var x=rM(s),w=x==="left-to-right"?1:-1,E=d==="ArrowRight"?1:-1,C;if(v){var T=di(s),_=vo(s),I=E*w,z=q=>({active:!1,index:String(q),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(C=-1,I>0){for(var B=0;B=0;$--)if(po(z($),b,T,_)!=null){C=$;break}if(C<0)return}else{C=p+E*w;var X=g?.length||b.length;if(X===0||C>=X||C<0)return}var H=lf(s,m,"hover",String(C));t.dispatch(af({active:!0,activeIndex:C.toString(),activeCoordinate:H}))}finally{Gu=null,Tl=null}};if(!o){l();return}a==="raf"?Gu=requestAnimationFrame(l):typeof a=="number"&&Tl===null&&(l(),Rg=null,Tl=setTimeout(()=>{Rg?l():(Tl=null,Gu=null)},a))}});Of.startListening({actionCreator:rS,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var a=r.tooltip.keyboardInteraction;if(!a.active&&a.index==null){var i="0",o=fo(r,r.tooltip.settings.shared),l=lf(r,o,"hover",String(i));t.dispatch(af({active:!0,activeIndex:i,activeCoordinate:l}))}}}});Of.startListening({actionCreator:nS,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var a=r.tooltip.keyboardInteraction;a.active&&t.dispatch(af({active:!1,activeIndex:a.index,activeCoordinate:a.coordinate}))}}});function ey(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(r,n)=>{if(n==="currentTarget")return t;var a=Reflect.get(r,n);return typeof a=="function"?a.bind(r):a}})}var An=Xt("externalEvent"),iS=oi(),ty=new Map,kf=new Map,aS=new Map;iS.startListening({actionCreator:An,effect:(e,t)=>{var r=e.payload,n=r.handler,a=r.reactEvent;if(n!=null){var i=a.type,o=ey(a);aS.set(i,{handler:n,reactEvent:o});var l=ty.get(i);l!==void 0&&(cancelAnimationFrame(l),ty.delete(i));var s=t.getState(),u=s.eventSettings,c=u.throttleDelay,d=u.throttledEvents,f=d,p=f==="all"||f?.includes(i),v=kf.get(i);v!==void 0&&(typeof c!="number"||!p)&&(clearTimeout(v),kf.delete(i));var g=()=>{var h=aS.get(i);try{if(!h)return;var x=h.handler,w=h.reactEvent,E=t.getState(),C={activeCoordinate:hw(E),activeDataKey:SM(E),activeIndex:hl(E),activeLabel:yg(E),activeTooltipIndex:hl(E),isTooltipActive:gw(E)};x&&x(C,w)}finally{ty.delete(i),kf.delete(i),aS.delete(i)}};if(!p){g();return}if(c==="raf"){var b=requestAnimationFrame(g);ty.set(i,b)}else if(typeof c=="number"){if(!kf.has(i)){g();var m=setTimeout(g,c);kf.set(i,m)}}else g()}}});var gX=W([pi],e=>e.tooltipItemPayloads),Q6=W([gX,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(i=>i.settings.graphicalItemId===r);if(n!=null){var a=n.getPosition;if(a!=null)return a(t)}}});var oS=Xt("touchMove"),lS=oi(),Ml=null,go=null,J6=null,Tf=null;lS.startListening({actionCreator:oS,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){Tf=ey(r);var n=t.getState(),a=n.eventSettings,i=a.throttleDelay,o=a.throttledEvents,l=o==="all"||o.includes("touchmove");Ml!==null&&(cancelAnimationFrame(Ml),Ml=null),go!==null&&(typeof i!="number"||!l)&&(clearTimeout(go),go=null),J6=Array.from(r.touches).map(u=>Ef({clientX:u.clientX,clientY:u.clientY,currentTarget:r.currentTarget}));var s=()=>{if(Tf!=null){var u=t.getState(),c=fo(u,u.tooltip.settings.shared);if(c==="axis"){var d,f=(d=J6)===null||d===void 0?void 0:d[0];if(f==null){Ml=null,go=null;return}var p=_f(u,f);p?.activeIndex!=null&&t.dispatch(dg({activeIndex:p.activeIndex,activeDataKey:void 0,activeCoordinate:p.activeCoordinate}))}else if(c==="item"){var v,g=Tf.touches[0];if(document.elementFromPoint==null||g==null)return;var b=document.elementFromPoint(g.clientX,g.clientY);if(!b||!b.getAttribute)return;var m=b.getAttribute(uk),h=(v=b.getAttribute(ck))!==null&&v!==void 0?v:void 0,x=mo(u).find(C=>C.id===h);if(m==null||x==null||h==null)return;var w=x.dataKey,E=Q6(u,m,h);t.dispatch(cM({activeDataKey:w,activeIndex:m,activeCoordinate:E,activeGraphicalItemId:h}))}Ml=null,go=null}};if(!l){s();return}i==="raf"?Ml=requestAnimationFrame(s):typeof i=="number"&&go===null&&(s(),Tf=null,go=setTimeout(()=>{Tf?s():(go=null,Ml=null)},i))}}});var sS={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},R6=Ke({name:"eventSettings",initialState:sS,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=je(t.payload.throttledEvents))}}}),eP=R6.actions.setEventSettings;var tP=R6.reducer;var yX=dv({brush:WD,cartesianAxis:LD,chartData:d8,errorBars:S6,eventSettings:tP,graphicalItems:AD,layout:ek,legend:Ok,options:o8,polarAxis:rD,polarOptions:Z6,referenceElements:XD,renderedTicks:f6,rootProps:K6,tooltip:fM,zIndex:XM}),rP=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return zO({reducer:yX,preloadedState:t,middleware:n=>{var a;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((a="es6")!==null&&a!==void 0?a:"")}).concat([Rw.middleware,eS.middleware,Of.middleware,iS.middleware,lS.middleware])},enhancers:n=>{var a=n;return typeof n=="function"&&(a=n()),a.concat(u1({type:"raf"}))},devTools:Bn.devToolsEnabled&&{serialize:{replacer:Y6},name:"recharts-".concat(r)}})};function iP(e){var t=e.preloadedState,r=e.children,n=e.reduxStoreName,a=ct(),i=(0,aP.useRef)(null);if(a)return r;i.current==null&&(i.current=rP(t,n));var o=ud;return nP.createElement(zk,{context:o,store:i.current},r)}var ry=J(R());function xX(e){var t=e.layout,r=e.margin,n=Le(),a=ct();return(0,ry.useEffect)(()=>{a||(n(QO(t)),n(f1(r)))},[n,a,t,r]),null}var oP=(0,ry.memo)(xX,ro);var lP=J(R());function sP(e){var t=Le();return(0,lP.useEffect)(()=>{t(G6(e))},[t,e]),null}var ny=J(R());var bX=e=>{var t=Le();return(0,ny.useEffect)(()=>{t(eP(e))},[t,e]),null},uP=(0,ny.memo)(bX,ro);var bi=J(R()),hP=J(R());var Pl=J(R()),cS=J(R());var Dl=J(R()),ay=J(R());function cP(e){var t=e.zIndex,r=e.isPanorama,n=(0,ay.useRef)(null),a=Le();return(0,ay.useLayoutEffect)(()=>(n.current&&a(KM({zIndex:t,element:n.current,isPanorama:r})),()=>{a(GM({zIndex:t,isPanorama:r}))}),[a,t,r]),Dl.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function uS(e){var t=e.children,r=e.isPanorama,n=ye(VM);if(!n||n.length===0)return t;var a=n.filter(o=>o<0),i=n.filter(o=>o>0);return Dl.createElement(Dl.Fragment,null,a.map(o=>Dl.createElement(cP,{key:o,zIndex:o,isPanorama:r})),t,i.map(o=>Dl.createElement(cP,{key:o,zIndex:o,isPanorama:r})))}var wX=["children"];function SX(e,t){if(e==null)return{};var r,n,a=AX(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n{var r=Vv(),n=Fv(),a=Wv();if(!Xr(r)||!Xr(n))return null;var i=e.children,o=e.otherAttributes,l=e.title,s=e.desc,u,c;return o!=null&&(typeof o.tabIndex=="number"?u=o.tabIndex:u=a?0:void 0,typeof o.role=="string"?c=o.role:c=a?"application":void 0),Pl.createElement(pb,iy({},o,{title:l,desc:s,role:c,tabIndex:u,width:r,height:n,style:NX,ref:t}),i)}),_X=e=>{var t=e.children,r=ye(Go);if(!r)return null;var n=r.width,a=r.height,i=r.y,o=r.x;return Pl.createElement(pb,{width:n,height:a,x:o,y:i},t)},dS=(0,cS.forwardRef)((e,t)=>{var r=e.children,n=SX(e,wX),a=ct();return a?Pl.createElement(_X,null,Pl.createElement(uS,{isPanorama:!0},r)):Pl.createElement(CX,iy({ref:t},n),Pl.createElement(uS,{isPanorama:!1},r))});var Ct=J(R()),He=J(R());var oy=J(R());function EX(e,t){return MX(e)||TX(e,t)||kX(e,t)||OX()}function OX(){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 dP(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)?dP(e,t):void 0}}function dP(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n!=null){var o=n.getBoundingClientRect(),l=o.width/n.offsetWidth;ke(l)&&l!==i&&e(RO(l))}},[n,e,i]),a}function pP(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function DX(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r(p8(),null);function sy(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var HX=(0,He.forwardRef)((e,t)=>{var r,n,a=(0,He.useRef)(null),i=(0,He.useState)({containerWidth:sy((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:sy((n=e.style)===null||n===void 0?void 0:n.height)}),o=ly(i,2),l=o[0],s=o[1],u=(0,He.useCallback)((d,f)=>{s(p=>{var v=Math.round(d),g=Math.round(f);return p.containerWidth===v&&p.containerHeight===g?p:{containerWidth:v,containerHeight:g}})},[]),c=(0,He.useCallback)(d=>{if(typeof t=="function"&&t(d),a.current!=null&&(a.current.disconnect(),a.current=null),d!=null&&typeof ResizeObserver<"u"){var f=d.getBoundingClientRect(),p=f.width,v=f.height;u(p,v);var g=m=>{var h=m[0];if(h!=null){var x=h.contentRect,w=x.width,E=x.height;u(w,E)}},b=new ResizeObserver(g);b.observe(d),a.current=b}},[t,u]);return(0,He.useEffect)(()=>()=>{var d=a.current;d?.disconnect()},[u]),Ct.createElement(Ct.Fragment,null,Ct.createElement(Qo,{width:l.containerWidth,height:l.containerHeight}),Ct.createElement("div",yo({ref:c},e)))}),VX=(0,He.forwardRef)((e,t)=>{var r=e.width,n=e.height,a=(0,He.useState)({containerWidth:sy(r),containerHeight:sy(n)}),i=ly(a,2),o=i[0],l=i[1],s=(0,He.useCallback)((c,d)=>{l(f=>{var p=Math.round(c),v=Math.round(d);return f.containerWidth===p&&f.containerHeight===v?f:{containerWidth:p,containerHeight:v}})},[]),u=(0,He.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 Ct.createElement(Ct.Fragment,null,Ct.createElement(Qo,{width:o.containerWidth,height:o.containerHeight}),Ct.createElement("div",yo({ref:u},e)))}),FX=(0,He.forwardRef)((e,t)=>{var r=e.width,n=e.height;return Ct.createElement(Ct.Fragment,null,Ct.createElement(Qo,{width:r,height:n}),Ct.createElement("div",yo({ref:t},e)))}),YX=(0,He.forwardRef)((e,t)=>{var r=e.width,n=e.height;return typeof r=="string"||typeof n=="string"?Ct.createElement(VX,yo({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?Ct.createElement(FX,yo({},e,{width:r,height:n,ref:t})):Ct.createElement(Ct.Fragment,null,Ct.createElement(Qo,{width:r,height:n}),Ct.createElement("div",yo({ref:t},e)))});function qX(e){return e?HX:YX}var vP=(0,He.forwardRef)((e,t)=>{var r=e.children,n=e.className,a=e.height,i=e.onClick,o=e.onContextMenu,l=e.onDoubleClick,s=e.onMouseDown,u=e.onMouseEnter,c=e.onMouseLeave,d=e.onMouseMove,f=e.onMouseUp,p=e.onTouchEnd,v=e.onTouchMove,g=e.onTouchStart,b=e.style,m=e.width,h=e.responsive,x=e.dispatchTouchEvents,w=x===void 0?!0:x,E=(0,He.useRef)(null),C=Le(),T=(0,He.useState)(null),_=ly(T,2),I=_[0],z=_[1],B=(0,He.useState)(null),$=ly(B,2),X=$[0],H=$[1],q=fP(),y=xd(),N=y?.width>0?y.width:m,O=y?.height>0?y.height:a,M=(0,He.useCallback)(K=>{q(K),typeof t=="function"&&t(K),z(K),H(K),K!=null&&(E.current=K)},[q,t,z,H]),A=(0,He.useCallback)(K=>{C(Jw(K)),C(An({handler:i,reactEvent:K}))},[C,i]),k=(0,He.useCallback)(K=>{C(Jg(K)),C(An({handler:u,reactEvent:K}))},[C,u]),V=(0,He.useCallback)(K=>{C(cg()),C(An({handler:c,reactEvent:K}))},[C,c]),G=(0,He.useCallback)(K=>{C(Jg(K)),C(An({handler:d,reactEvent:K}))},[C,d]),Q=(0,He.useCallback)(()=>{C(rS())},[C]),se=(0,He.useCallback)(()=>{C(nS())},[C]),ue=(0,He.useCallback)(K=>{C(tS(K.key))},[C]),pe=(0,He.useCallback)(K=>{C(An({handler:o,reactEvent:K}))},[C,o]),Oe=(0,He.useCallback)(K=>{C(An({handler:l,reactEvent:K}))},[C,l]),ie=(0,He.useCallback)(K=>{C(An({handler:s,reactEvent:K}))},[C,s]),Ne=(0,He.useCallback)(K=>{C(An({handler:f,reactEvent:K}))},[C,f]),F=(0,He.useCallback)(K=>{C(An({handler:g,reactEvent:K}))},[C,g]),Y=(0,He.useCallback)(K=>{w&&C(oS(K)),C(An({handler:v,reactEvent:K}))},[C,w,v]),S=(0,He.useCallback)(K=>{C(An({handler:p,reactEvent:K}))},[C,p]),P=qX(h);return Ct.createElement(Cw.Provider,{value:I},Ct.createElement(X_.Provider,{value:X},Ct.createElement(P,{width:N??b?.width,height:O??b?.height,className:Te("recharts-wrapper",n),style:DX({position:"relative",cursor:"default",width:N,height:O},b),onClick:A,onContextMenu:pe,onDoubleClick:Oe,onFocus:Q,onBlur:se,onKeyDown:ue,onMouseDown:ie,onMouseEnter:k,onMouseLeave:V,onMouseMove:G,onMouseUp:Ne,onTouchEnd:S,onTouchMove:Y,onTouchStart:F,ref:M},Ct.createElement($X,null),r)))});var WX=["width","height","responsive","children","className","style","compact","title","desc"];function KX(e,t){if(e==null)return{};var r,n,a=GX(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n{var r=e.width,n=e.height,a=e.responsive,i=e.children,o=e.className,l=e.style,s=e.compact,u=e.title,c=e.desc,d=KX(e,WX),f=ur(d);return s?bi.createElement(bi.Fragment,null,bi.createElement(Qo,{width:r,height:n}),bi.createElement(dS,{otherAttributes:f,title:u,desc:c},i)):bi.createElement(vP,{className:o,style:l,width:r,height:n,responsive:a??!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},bi.createElement(dS,{otherAttributes:f,title:u,desc:c,ref:t},bi.createElement(QD,null,i)))});function fS(){return fS=Object.assign?Object.assign.bind():function(e){for(var t=1;twP.createElement(bP,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:tZ,tooltipPayloadSearcher:a8,categoricalChartProps:e,ref:t}));var Kn=J(R()),Zu=[{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}],AP="30m",NP="activeagents.timeWindow",CP=(0,Kn.createContext)(null),pS=e=>Zu.find(t=>t.id===e);function _P({children:e}){let[t,r]=(0,Kn.useState)(()=>{try{let i=localStorage.getItem(NP);if(i&&pS(i))return i}catch{}return AP}),n=(0,Kn.useCallback)(i=>{if(pS(i)){r(i);try{localStorage.setItem(NP,i)}catch{}}},[]),a=(0,Kn.useMemo)(()=>{let i=Zu.findIndex(l=>l.id===t),o=Zu[i]||pS(AP);return{timeWindow:o,windowIndex:i,windows:Zu,setWindow:n,zoomTo:l=>{let s=Zu[Math.min(Math.max(l,0),Zu.length-1)];s&&n(s.id)},days:Math.max(1,Math.ceil(o.minutes/1440))}},[t,n]);return Kn.default.createElement(CP.Provider,{value:a},e)}function ka(){let e=(0,Kn.useContext)(CP);if(!e)throw new Error("useTimeWindow must be used within a TimeWindowProvider");return e}var Qu=J(R());function Ta({compact:e=!1}){let{windows:t,windowIndex:r,timeWindow:n,setWindow:a,zoomTo:i}=ka(),{darkMode:o}=it(),l=Ps(o),s={color:l.textSecondary};return Qu.default.createElement("div",{className:"flex items-center rounded-lg p-1",style:{background:l.mutedBg}},Qu.default.createElement("button",{onClick:()=>i(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"),Qu.default.createElement("select",{value:n.id,onChange:u=>a(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=>Qu.default.createElement("option",{key:u.id,value:u.id},u.label))),Qu.default.createElement("button",{onClick:()=>i(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 Ft=J(R());var st=J(R()),rZ={messages:"#2563eb",tool_results:"#5b84ec",instructions:"#85a3f0",tool_schemas:"#a6bcf4",mcp_schemas:"#c3d2f8",memory:"#dce4fb",output:"#7c3aed"},Mf=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},Ma=e=>{if(e==null)return 0;let t=typeof e=="string"?e:JSON.stringify(e);return Math.round(t.length/4)},Ju=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 xo({used:e,limit:t=2e5,segments:r=[],cached:n=0,thinking:a=0,compact:i=!1,defaultOpen:o=!1,label:l="Context window",estimated:s=!1,darkMode:u=!1}){let[c,d]=(0,st.useState)(o),f=r.filter(T=>T.tokens>0),p=e??f.reduce((T,_)=>T+_.tokens,0),v=t>0?p/t:0,g=v>=.9?"#dc2626":v>=.75?"#eab308":null,b=u?"rgba(255,255,255,0.4)":"#9ca3af",m=u?"rgba(255,255,255,0.6)":"#6b7280",h=u?"rgba(255,255,255,0.75)":"#4b5563",x=u?"rgba(255,255,255,0.1)":"#f3f4f6",w=`${Ju(p)} / ${Ju(t)} (${Math.round(v*100)}%)`,E=T=>T.key==="messages"&&g?g:T.color||rZ[T.key]||"#2563eb",C=T=>st.default.createElement("div",{style:{display:"flex",height:T,borderRadius:"999px",overflow:"hidden",background:x,flex:1}},f.map(_=>st.default.createElement("div",{key:_.key,title:`${_.label} \xB7 ${Ju(_.tokens)}`,style:{width:`${Math.min(_.tokens/t*100,100)}%`,background:E(_)}})));return i?st.default.createElement("span",{title:`${l}: ${w}`,style:{display:"inline-flex",alignItems:"center",gap:"6px",width:"132px",verticalAlign:"middle"}},C("6px"),st.default.createElement("span",{style:{fontSize:"11px",fontFamily:"'SF Mono', 'Fira Code', monospace",color:g||b,whiteSpace:"nowrap"}},Math.round(v*100),"%")):st.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"}},st.default.createElement("div",{onClick:T=>{T.stopPropagation(),d(!c)},style:{display:"flex",alignItems:"center",justifyContent:"space-between",cursor:"pointer"}},st.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:m}},l,s&&st.default.createElement("span",{style:{color:b,fontWeight:400}}," \xB7 estimated")),st.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px"}},st.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",fontWeight:600,color:g||h}},w),st.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:b,display:"inline-block",transform:c?"rotate(90deg)":"none",transition:"transform 0.15s ease"}},">"))),st.default.createElement("div",{style:{display:"flex",marginTop:"8px"}},C("9px")),v>=.9&&st.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&&st.default.createElement("div",{style:{marginTop:"10px",display:"grid",gap:"5px"}},[...f,{key:"__free",label:"Free space",tokens:Math.max(t-p,0)}].map(T=>st.default.createElement("div",{key:T.key,style:{display:"flex",alignItems:"center",gap:"8px"}},st.default.createElement("span",{style:{width:"9px",height:"9px",borderRadius:"2px",flexShrink:0,background:T.key==="__free"?x:E(T),border:T.key==="__free"?`1px solid ${u?"rgba(255,255,255,0.25)":"#d1d5db"}`:"none"}}),st.default.createElement("span",{style:{fontSize:"13px",color:h,flex:1}},T.label),st.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:m,width:"56px",textAlign:"right"}},Ju(T.tokens)),st.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:b,width:"46px",textAlign:"right"}},t>0?`${(T.tokens/t*100).toFixed(1)}%`:"\u2014"))),(n>0||a>0)&&st.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:b}},n>0&&st.default.createElement("span",null,st.default.createElement("span",{style:{color:"#2563eb"}},"[=]")," cached prefix ",Ju(n)),a>0&&st.default.createElement("span",null,st.default.createElement("span",{style:{color:"#7c3aed"}},"[~]")," thinking ",Ju(a)))))}var Ce=J(R());var be=J(R());var Gn=J(R()),nZ=/(\*\*[^*]+\*\*|\*[^*\n]+\*|`[^`]+`|\[[^\]]+\]\((?:https?:\/\/|\/)[^)\s]+\))/g,mS=(e,t)=>e.split(nZ).filter(Boolean).map((r,n)=>{let a=`${t}-${n}`;if(r.startsWith("**")&&r.endsWith("**"))return Gn.default.createElement("strong",{key:a},r.slice(2,-2));if(r.startsWith("*")&&r.endsWith("*")&&r.length>2)return Gn.default.createElement("em",{key:a},r.slice(1,-1));if(r.startsWith("`")&&r.endsWith("`"))return Gn.default.createElement("code",{key:a,className:"px-1 py-0.5 rounded text-[0.9em]",style:{background:"rgba(127,127,127,0.15)"}},r.slice(1,-1));let i=r.match(/^\[([^\]]+)\]\(((?:https?:\/\/|\/)[^)\s]+)\)$/);return i?Gn.default.createElement("a",{key:a,href:i[2],target:"_blank",rel:"noopener noreferrer",className:"underline text-blue-500"},i[1]):r});function vS({text:e}){if(!e)return null;let t=[],r=String(e).split(` +`),n=0,a=0;for(;nGn.default.createElement("li",{key:u},mS(s,`li${a}-${u}`)))));continue}if(i.trim()===""){t.push(Gn.default.createElement("div",{key:a++,className:"h-2"})),n+=1;continue}t.push(Gn.default.createElement("div",{key:a++},mS(i,`p${a}`))),n+=1}return Gn.default.createElement("div",{className:"break-words"},t)}var tn=J(R()),aZ=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"},iZ=e=>Array.isArray(e.parameters)?e.parameters:e.parameters&&typeof e.parameters=="object"?Object.keys(e.parameters.properties||e.parameters):[];function hS({tool:e,darkMode:t}){let r=iZ(e);return tn.default.createElement("div",{style:{display:"grid",gap:"4px"}},e.description&&tn.default.createElement("div",{className:"text-sm",style:{color:t?"rgba(255,255,255,0.75)":"#4b5563"}},e.description),tn.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"}},tn.default.createElement("span",null,"params: ",r.length>0?r.join(", "):"none"),tn.default.createElement("span",null,"source: ",aZ(e))))}function gS({tools:e,darkMode:t}){let[r,n]=(0,tn.useState)(null),a=(e||[]).filter(l=>l&&l.name);if(a.length===0)return null;let i=a.find(l=>l.name===r),o=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 tn.default.createElement("div",{style:{marginTop:"8px"}},tn.default.createElement("div",{className:"flex items-center gap-1.5 flex-wrap font-mono"},tn.default.createElement("span",{className:"text-xs uppercase",style:{letterSpacing:"0.05em",color:t?"rgba(255,255,255,0.45)":"#9ca3af"}},"tools"),a.map(l=>tn.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:o(r===l.name)},"\u2699 ",l.name))),i&&tn.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"}`}},tn.default.createElement(hS,{tool:i,darkMode:t})))}var EP=e=>e==null?null:e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`,Df=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}},oZ=["text","output","body","content"],OP=e=>{if(e==null)return null;if(typeof e=="object")return e;try{return JSON.parse(e)}catch{return null}},lZ=e=>{let t=OP(e.tool_result)??OP(e.content);if(!t||typeof t!="object"||Array.isArray(t))return null;let r=oZ.find(i=>typeof t[i]=="string"&&t[i].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 "),a=Object.fromEntries(Object.entries(t).filter(([i])=>i!==r));return{field:r,meta:n,body:t[r],rest:a}},sZ=e=>!!(e.tool_name||e.tool_call_id||e.tool_arguments||e.tool_result||(e.tool_calls||[]).length>0||e.duration_ms!=null||Df(e.content)),TP=280,uZ=["tool","system","developer"],Pf=(e,t=TP)=>e.replace(/\s+/g," ").trim().slice(0,t),yS=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)}},MP=e=>{let t=e.tool_calls;return t?Array.isArray(t)?t.map(r=>({name:r.function?.name||r.name||e.tool_name,args:yS(r.function?.arguments??r.arguments??r.input)})):[{name:e.tool_name,args:yS(t)}]:[]},DP=e=>!!(e&&String(e).trim()&&String(e).trim()!=="\u2014"),cZ=e=>{let t=(e||[]).filter(Boolean),r=new Map,n=new Set;return t.forEach((a,i)=>{if(a.role!=="assistant"||DP(a.content))return;let o=MP(a);if(o.length===0)return;let l=new Set;Array.isArray(a.tool_calls)?a.tool_calls.forEach(u=>u.id&&l.add(u.id)):a.tool_call_id&&l.add(a.tool_call_id);let s=[];for(let u=i+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=o.find(p=>p.name&&p.name===d.tool_name)||o[Math.min(c,o.length-1)];f&&f.args&&!d.tool_arguments&&r.set(u,{tool_arguments:f.args,created_at:a.created_at||d.created_at})}),n.add(i))}),t.map((a,i)=>r.has(i)?{...a,...r.get(i)}:a).filter((a,i)=>!n.has(i))},kP=e=>uZ.includes(e.role)&&typeof e.content=="string"&&Pf(e.content).length>=TP,dZ=({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),a=Math.max(e.span_duration_ms/r*100,2),i=e.role==="tool"?"#22c55e":e.role==="assistant"?"#ef4444":"#60a5fa";return be.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"}},be.default.createElement("span",{style:{position:"absolute",top:0,bottom:0,left:`${n}%`,width:`${Math.min(a,100-n)}%`,borderRadius:"999px",background:i}}))},xS=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}),br=(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}}};function Da({messages:e,darkMode:t,tools:r}){let[n,a]=(0,be.useState)({}),i=s=>a(u=>({...u,[s]:!u[s]})),o={textPrimary:t?"#ffffff":"#111827",textSecondary:t?"rgba(255,255,255,0.6)":"#6b7280",textMuted:t?"rgba(255,255,255,0.4)":"#9ca3af"},l=cZ(e);return be.default.createElement("div",{className:"space-y-3"},l.map(s=>{let u=br(s.role,t),c=!!n[s.id],d=kP(s)&&!c,f=sZ(s)||kP(s),p=Df(s.tool_arguments),v=Df(s.tool_result)||Df(s.content),g=s.tool_calls&&(!Array.isArray(s.tool_calls)||s.tool_calls.length>0)?Df(s.tool_calls):null,b=s.role==="tool"?lZ(s):null,m=s.tool_name?(r||[]).find(I=>I&&I.name===s.tool_name):null,h=s.role==="tool"?yS(s.tool_arguments):null,x=s.role==="tool"&&!!h,w=br("assistant",t),E=br("tool",t),C=s.role==="tool"&&!s.tool_arguments&&l.some(I=>I&&I.role==="assistant"&&(s.tool_call_id&&I.tool_call_id===s.tool_call_id||Array.isArray(I.tool_calls)&&I.tool_calls.some(z=>z.id&&z.id===s.tool_call_id))),T=s.role==="assistant"&&!DP(s.content)?MP(s):[],_=xS(t);return be.default.createElement("div",{key:s.id},be.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${f?"cursor-pointer":""}`,onClick:f?()=>i(s.id):void 0,style:c?{background:t?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.03)"}:{}},be.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},(x?[w,E]:[u]).map(I=>be.default.createElement("span",{key:I.label,className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:I.background,color:I.color,textAlign:"center"}},I.label))),be.default.createElement("div",{className:"min-w-0 flex-1"},be.default.createElement("div",{className:"text-sm break-words",style:{color:o.textPrimary}},s.role==="tool"?be.default.createElement("span",{style:{display:"grid",gap:"2px"}},h&&!C&&be.default.createElement("span",{className:"font-mono text-xs break-words"},s.tool_name&&be.default.createElement("span",{style:{color:E.color}},"\u2699 ",s.tool_name," "),be.default.createElement("span",{style:{color:x?w.color:o.textMuted}},"in:")," ",Pf(h,180),h.length>180?"\u2026":""),b?be.default.createElement("span",null,s.tool_name&&!(h&&!C)&&be.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:E.color}},"\u2699 ",s.tool_name),(h||C)&&be.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:x?E.color:o.textMuted}},"out:"),b.meta&&be.default.createElement("span",{className:"font-mono text-xs mr-2",style:{color:o.textMuted}},b.meta),"\u201C",b.body.replace(/\s+/g," ").trim().slice(0,180),b.body.length>180?"\u2026":"","\u201D"):s.content?be.default.createElement("span",null,s.tool_name&&!(h&&!C)&&be.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:E.color}},"\u2699 ",s.tool_name),(h||C)&&be.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:x?E.color:o.textMuted}},"out:"),"\u201C",Pf(s.content,180),s.content.replace(/\s+/g," ").trim().length>180?"\u2026":"","\u201D"):be.default.createElement("span",{className:"whitespace-pre-wrap"},s.tool_name?`\u2192 ${s.tool_name}(...)`:"\u2014")):d?be.default.createElement("span",{style:{color:o.textSecondary}},Pf(s.content),"\u2026"):T.length>0?be.default.createElement("span",{style:{display:"grid",gap:"2px"}},T.map((I,z)=>be.default.createElement("span",{key:z,className:"font-mono text-xs break-words"},I.name&&be.default.createElement("span",{style:{color:o.textMuted}},I.name," "),be.default.createElement("span",{style:{color:o.textMuted}},"in:")," ",I.args?be.default.createElement(be.default.Fragment,null,Pf(I.args,180),I.args.length>180?"\u2026":""):"\u2014"))):be.default.createElement(vS,{text:s.content||"\u2014"})),be.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap",style:{color:o.textMuted}},s.created_at&&be.default.createElement("span",null,new Date(s.created_at).toLocaleTimeString()),s.tool_name&&s.role!=="tool"&&be.default.createElement("span",{className:"px-1.5 py-0.5 rounded",style:{background:u.background,color:u.color}},"\u2699 ",s.tool_name),s.duration_ms!=null&&be.default.createElement("span",null,EP(s.duration_ms)),(s.tool_calls||[]).length>0&&be.default.createElement("span",null,s.tool_calls.length," tool call",s.tool_calls.length>1?"s":""),s.content_checksum&&be.default.createElement("span",{title:"Content fingerprint"},"\u{1F512} ",s.content_checksum.slice(0,8)))),be.default.createElement(dZ,{message:s,darkMode:t}),f&&be.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${c?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:o.textMuted}},be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),c&&be.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:u.color+"55"}},be.default.createElement("div",{className:"flex flex-wrap gap-x-5 gap-y-1 text-xs font-mono",style:{color:o.textSecondary}},s.created_at&&be.default.createElement("span",null,new Date(s.created_at).toLocaleString()),s.tool_call_id&&be.default.createElement("span",null,"call: ",s.tool_call_id),s.duration_ms!=null&&be.default.createElement("span",null,"took ",EP(s.duration_ms)),s.content_checksum&&be.default.createElement("span",null,"\u{1F512} ",s.content_checksum)),p&&be.default.createElement("div",null,be.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:x?w.color:o.textMuted}},"Arguments",x?" \xB7 from the agent":""),be.default.createElement("pre",{style:_},p)),b?be.default.createElement("div",null,be.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:x?E.color:o.textMuted}},"Result",x?" \xB7 from the tool":""),Object.keys(b.rest).length>0&&be.default.createElement("pre",{style:_},JSON.stringify(b.rest,null,2)),be.default.createElement("div",{className:"text-xs uppercase tracking-wide mt-2 mb-1",style:{color:o.textMuted}},b.field," \xB7 ",b.body.length.toLocaleString()," chars"),be.default.createElement("pre",{style:{..._,whiteSpace:"pre-wrap",maxHeight:"320px",overflowY:"auto"}},b.body.slice(0,8e3),b.body.length>8e3?` +\u2026`:"")):v?be.default.createElement("div",null,be.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:o.textMuted}},s.role==="tool"?"Result":"Content (parsed)"),be.default.createElement("pre",{style:_},v)):s.role==="tool"&&s.content?be.default.createElement("div",null,be.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:x?E.color:o.textMuted}},"Result",x?" \xB7 from the tool":""," \xB7 ",s.content.length.toLocaleString()," chars"),be.default.createElement("pre",{style:{..._,whiteSpace:"pre-wrap",maxHeight:"320px",overflowY:"auto"}},s.content.slice(0,8e3),s.content.length>8e3?` +\u2026`:"")):null,g&&be.default.createElement("div",null,be.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:o.textMuted}},"Requested tool calls"),be.default.createElement("pre",{style:_},g)),m&&be.default.createElement("div",null,be.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:o.textMuted}},"Tool definition"),be.default.createElement(hS,{tool:m,darkMode:t}))))}))}var Ie=J(R());var Pt=J(R());var Vt=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"}),PP=(e,t=200)=>{let r=String(e??"").replace(/\s+/g," ").trim();return r.length>t?`${r.slice(0,t)}\u2026`:r};function Il({open:e,darkMode:t,size:r=14,style:n}){return Pt.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:Vt(t).textMuted,...n},"aria-hidden":"true"},Pt.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))}function uy({darkMode:e,id:t,children:r,style:n,className:a=""}){let i=Vt(e);return Pt.default.createElement("div",{id:t,className:`rounded-xl border overflow-hidden transition-colors ${a}`,style:{backgroundColor:i.cardBg,borderColor:i.cardBorder,...n}},r)}var jP=(e,{wrap:t=!0,maxHeight:r=320}={})=>({background:Vt(e).preBg,borderRadius:"6px",padding:"6px 8px",margin:"2px 0 4px 0",overflowX:"auto",overflowY:"auto",maxHeight:`${r}px`,whiteSpace:t?"pre-wrap":"pre"}),fZ=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 Ru({lines:e,darkMode:t,onClick:r,indent:n=0,size:a="12px",style:i,max:o=200}){let[l,s]=ec(),u=Vt(t),c=(e||[]).filter(d=>d&&d.text);return c.length===0?null:Pt.default.createElement("div",{onClick:r,className:"min-w-0",style:{display:"grid",gap:"2px",paddingLeft:n?`${n}px`:0,fontFamily:_e.mono,fontSize:a,color:u.textSecondary,cursor:r?"pointer":"default",...i}},c.map((d,f)=>{let p=`${d.label}-${f}`,v=l(p),g=d.max||o,b=String(d.text).replace(/\s+/g," ").trim(),m=fZ(d.text),h=m.json||b.length>60||b!==String(d.text).trim();return Pt.default.createElement("div",{key:p},Pt.default.createElement("div",{onClick:h?x=>{x.stopPropagation(),s(p)}:void 0,title:h?v?"Collapse":"Expand":void 0,style:{cursor:h?"pointer":"default",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},Pt.default.createElement("span",{style:{color:d.color||u.textMuted}},h?v?"\u25BE":"\u25B8":"\xA0"," ",d.label,":")," ",!v&&PP(b,g)),v&&Pt.default.createElement("pre",{onClick:x=>x.stopPropagation(),style:jP(t,{wrap:!m.json})},m.text))}))}function jf({options:e,value:t,onChange:r,darkMode:n,label:a,style:i}){let o=Vt(n);return Pt.default.createElement("div",{className:"flex items-center gap-1 flex-shrink-0",style:i},a&&Pt.default.createElement("span",{className:"text-xs mr-1",style:{color:o.textMuted}},a),e.map(l=>Pt.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:o.controlActiveBg,color:o.textPrimary,boxShadow:n?"none":"0 1px 2px rgba(0,0,0,0.08)"}:{color:o.textSecondary}},l.label)))}function IP({label:e,body:t,open:r,onToggle:n,darkMode:a,prose:i=!1,max:o=140}){let l=Vt(a);return Pt.default.createElement("div",null,Pt.default.createElement("div",{onClick:s=>{s.stopPropagation(),n()},title:r?"Collapse":"Expand",style:{cursor:"pointer",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},Pt.default.createElement("span",{style:{color:l.textMuted}},r?"\u25BE":"\u25B8"," ",e,":")," ",!r&&Pt.default.createElement("span",{style:{color:l.textMuted}},PP(t,o))),r&&Pt.default.createElement("pre",{onClick:s=>s.stopPropagation(),style:jP(a,{wrap:i})},t))}function ec(e={}){let[t,r]=(0,Pt.useState)(e),n=(0,Pt.useCallback)(i=>{r(o=>({...o,[i]:!o[i]}))},[]);return[(0,Pt.useCallback)(i=>!!t[i],[t]),n,r]}var bS={root:"#9ca3af",prompt:"#60a5fa",generate:"#a855f7",llm:"#ef4444",thinking:"#fbbf24",tool:"#22c55e",response:"#2dd4bf",embedding:"#818cf8"},LP=[{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"}],jt=e=>e==null?"\u2014":e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`,wS=e=>{switch(e){case"root":return Rt.spans.root;case"prompt":return Rt.spans.prompt;case"generate":return Rt.spans.generate;case"llm":return Rt.spans.llm;case"thinking":return Rt.spans.thinking;case"tool":return Rt.spans.tool;case"response":return Rt.spans.response;default:return"-"}},pZ=(e,t)=>{let r=Math.max(e||0,1),n=Math.max(t||1,1);if(n<=1)return 100;let a=Math.log(r)/Math.log(n);return Math.min(100,Math.max(4,a*100))},mZ=(e,t)=>{let r=[...e||[]];switch(t){case"duration":return r.sort((n,a)=>(a.duration||0)-(n.duration||0));case"name":return r.sort((n,a)=>(n.name||"").localeCompare(a.name||""));default:return r.sort((n,a)=>(n.start||0)-(a.start||0))}},vZ=e=>{let t=e.tokens||{};return(t.input||0)+(t.output||0)+(t.thinking||0)},hZ=(e,t)=>{if(!t.duration_ms)return jt(e.duration);let r=(e.duration||0)/t.duration_ms*100;return`${jt(e.duration)} \xB7 ${r<1?r.toFixed(2):r.toFixed(1)}%`},gZ=e=>{if(typeof e!="string")return null;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return null}},zP=e=>e.endsWith(".instructions")?0:e.endsWith(".tools")?1:e.endsWith(".messages")?3:2,SS=e=>{let t=e.spans||[],r=i=>{for(let o of t){let l=(o.attributes||{})[i];if(l)return l}return null},n=r("llm.prompt");if(!n){let i=r("prompt.input.messages");if(i)try{n=[...JSON.parse(i)].reverse().find(s=>s&&s.role==="user"&&s.content)?.content}catch{}}let a=r("llm.completion")||r("llm.output.message");return{input:n,output:a}},yZ=e=>{let t=e.attributes||{},r=null,n="input",a="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",a="assistant"}let i=null,o="output",l="assistant";return t["llm.output.message"]||t["llm.completion"]?i=t["llm.output.message"]||t["llm.completion"]:(t["tool.output.result"]||t["tool.result"])&&(i=t["tool.output.result"]||t["tool.result"],o="out",l="tool"),i!=null&&typeof i!="string"&&(i=JSON.stringify(i)),{input:r,output:i,inputLabel:n,inputTone:a,outputLabel:o,outputTone:l}},xZ=(e,t)=>{let r=yZ(e),n=SS(t);return r.input&&r.input===n.input&&(r.input=null),r.output&&r.output===n.output&&(r.output=null),r},bZ=e=>{let t={...e.attributes||{}},r=f=>{let p=t[f];return delete t[f],p},n=[],a=f=>n.push({id:`${e.span_id}-m${n.length}`,...f}),i=r("prompt.input.instructions")||r("llm.instructions");i&&a({role:"system",content:String(i)});let o=r("prompt.input.messages");if(o)try{JSON.parse(o).forEach(f=>{f&&a({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"]=o}let l=r("llm.prompt");l&&a({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");a({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)&&a({role:"assistant",content:String(c||d)}),{messages:n,rest:t}},AS=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 wZ({span:e,darkMode:t,tools:r=[]}){let[n,a]=ec(),i=Vt(t),{messages:o,rest:l}=bZ(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,v)=>zP(p[0])-zP(v[0])),d=o.length===1&&o[0].role==="tool"?o[0]:null,f=d?.tool_arguments==null?null:typeof d.tool_arguments=="string"?d.tool_arguments:JSON.stringify(d.tool_arguments);return Ie.default.createElement("div",{onClick:p=>p.stopPropagation(),style:{margin:"4px 0 8px 0",padding:"10px 12px",borderRadius:"8px",background:i.panelBg,border:`1px solid ${i.cardBorder}`,fontFamily:_e.mono,fontSize:"12px",color:i.textBody,cursor:"default"}},Ie.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 20px"}},Ie.default.createElement("span",null,"duration: ",jt(e.duration)),Ie.default.createElement("span",null,"status: ",e.status||"OK"),vZ(e)>0&&Ie.default.createElement("span",null,"tokens in:",e.tokens.input||0," out:",e.tokens.output||0,e.tokens.thinking>0?` thinking:${e.tokens.thinking}`:""),Ie.default.createElement("span",{style:{color:i.textMuted}},"span: ",e.span_id)),d&&Ie.default.createElement("div",{style:{marginTop:"8px",display:"grid",gap:"4px"}},Ie.default.createElement("div",{style:{fontSize:"12px",wordBreak:"break-all"}},Ie.default.createElement("span",{style:{color:br("tool",t).color}},"\u2699 ",d.tool_name),f&&Ie.default.createElement(Ie.default.Fragment,null," ",Ie.default.createElement("span",{style:{color:br("assistant",t).color}},"in:")," ",Ie.default.createElement("span",{style:{color:i.textBody}},f))),d.content&&Ie.default.createElement("div",{style:{fontSize:"12px"}},Ie.default.createElement("span",{style:{color:br("tool",t).color}},"out:")," ",Ie.default.createElement("span",{style:{color:i.textBody,whiteSpace:"pre-wrap",display:"inline-block",maxHeight:"240px",overflowY:"auto",verticalAlign:"top",maxWidth:"100%"}},d.content))),o.length>0&&!d&&Ie.default.createElement("div",{style:{marginTop:"10px",fontFamily:"ui-sans-serif, system-ui, sans-serif"}},Ie.default.createElement(Da,{messages:o,darkMode:t,tools:s||r})),s&&Ie.default.createElement(gS,{tools:s,darkMode:t}),c.length>0&&Ie.default.createElement("div",{style:{marginTop:"6px",display:"grid",gap:"2px"}},c.map(([p,v])=>{let g=p.match(/args|result|input|output/)?gZ(v):null,b=!g&&(p.endsWith(".instructions")||p.match(/input|output|result/))&&typeof v=="string"?v:null,m=g||b;if(!m)return Ie.default.createElement("div",{key:p,style:{wordBreak:"break-all"}},Ie.default.createElement("span",{style:{color:i.textMuted}},p,":")," ",typeof v=="string"?v:JSON.stringify(v));let h=`${e.span_id}:${p}`;return Ie.default.createElement(IP,{key:p,label:p,body:m,prose:!g,darkMode:t,open:n(h),onToggle:()=>a(h)})})))}function SZ({span:e,trace:t,darkMode:r,sort:n,longest:a,expanded:i,onToggle:o,tools:l}){let s=Vt(r),u=Object.keys(e.attributes||{}).length>0,c=i?null:xZ(e,t);return Ie.default.createElement(Ie.default.Fragment,null,Ie.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:i?s.hoverBg:void 0},onClick:u?()=>o():void 0,title:u?`${e.name} \u2014 click for span details`:e.name},Ie.default.createElement("div",{className:"flex items-baseline gap-2 min-w-0"},Ie.default.createElement("span",{className:"flex-shrink-0",style:{color:e.type==="thinking"?void 0:s.textMuted}},wS(e.type)),Ie.default.createElement("span",{className:"text-sm font-medium truncate",style:{color:e.error?s.bad:s.textPrimary}},e.name),Ie.default.createElement("span",{className:"text-xs ml-auto flex-shrink-0",style:{fontFamily:_e.mono,color:s.textMuted}},hZ(e,t)),u&&Ie.default.createElement(Il,{open:i,darkMode:r,size:13,style:{marginLeft:"2px"}})),Ie.default.createElement("div",{className:"h-3 relative rounded mt-0.5",style:{background:s.trackBg}},Ie.default.createElement("div",{className:"absolute h-3 rounded",style:{background:e.error?"#f87171":bS[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}%`:`${pZ(e.duration,a)}%`}})),c&&Ie.default.createElement(Ru,{darkMode:r,size:"11px",style:{marginTop:"2px"},lines:[{label:c.inputLabel,text:c.input,color:br(c.inputTone,r).color,max:160},{label:c.outputLabel,text:c.output,color:br(c.outputTone,r).color,max:160}]})),i&&Ie.default.createElement(wZ,{span:e,darkMode:r,tools:l}))}function NS({trace:e,darkMode:t,sort:r="time",tools:n,keyPrefix:a=""}){let[i,o]=ec(),l=Vt(t),s=mZ(e?.spans,r),u=n||AS(e);if(s.length===0)return Ie.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 Ie.default.createElement("div",{className:"space-y-2"},s.map((d,f)=>{let p=`${a}${d.span_id||f}`;return Ie.default.createElement(SZ,{key:p,span:d,trace:e,darkMode:t,sort:r,longest:c,tools:u,expanded:i(p),onToggle:()=>o(p)})}))}var AZ=[{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"}],CS=e=>{let t=e?.spans||[],r=null;for(let u of t){let c=u.tokens||{},d=(c.input||0)+(c.output||0);d>0&&(!r||d>r.total)&&(r={input:c.input||0,output:c.output||0,thinking:c.thinking||0,cached:c.cached||0,total:d})}if(!r)return null;let n=u=>{for(let c of t){let d=(c.attributes||{})[u];if(d)return d}return null},a=Ma(n("prompt.input.instructions")||n("llm.instructions")),i=Ma(n("prompt.input.tools")||n("llm.tools")),o=Ma(n("prompt.input.mcp_tools")),l=0;for(let u of t){let c=u.attributes||{},d=c["tool.output.result"]||c["tool.result"],f=c["tool.input.args"]||c["tool.arguments"];d&&(l+=Ma(d)),f&&(l+=Ma(f))}l=Math.min(l,r.input);let s=Math.max(r.input-a-i-o-l,0);return{used:r.total,limit:Mf(e.model),cached:r.cached,thinking:r.thinking,segments:[{key:"messages",label:"Messages",tokens:s},{key:"tool_results",label:"Tool results",tokens:l},{key:"instructions",label:"Instructions",tokens:a},{key:"tool_schemas",label:"Tool schemas",tokens:i},{key:"mcp_schemas",label:"MCP tool schemas",tokens:o},{key:"output",label:"Generated output",tokens:r.output}]}},NZ=e=>{let t=0,r=[];(e?.spans||[]).forEach(i=>{(i.nested||0)!==0&&(i.type==="tool"?r.push(i):(i.type==="llm"||i.type==="generate")&&(t=Math.max(t,i.duration||0)))});let n=r.reduce((i,o)=>i+(o.duration||0),0);t=Math.max(t-n,0);let a=e?.duration_ms||t+n||1;return{generation:t,tools:r,toolTotal:n,total:a,overhead:Math.max(a-t-n,0)}};function CZ({trace:e,darkMode:t}){let r=Vt(t),{generation:n,tools:a,toolTotal:i,total:o,overhead:l}=NZ(e);if(n===0&&i===0||n/o>=.99&&i/o<.01)return null;let s=c=>`${(c/o*100).toFixed(c/o<.01?2:1)}%`,u=(c,d)=>Ce.default.createElement("div",{style:{width:`${Math.max(c/o*100,.4)}%`,background:d,height:"100%"}});return Ce.default.createElement("div",{style:{marginTop:"14px",paddingTop:"12px",borderTop:`1px solid ${r.cardBorder}`}},Ce.default.createElement("div",{style:{fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em",color:r.textSecondary,marginBottom:"6px"}},"Time breakdown \u2014 generation vs tools"),Ce.default.createElement("div",{style:{display:"flex",height:"10px",borderRadius:"5px",overflow:"hidden",background:r.trackBg}},u(n,"#ef4444"),u(i,"#10b981"),l>0&&u(l,t?"rgba(255,255,255,0.2)":"#d1d5db")),Ce.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"8px",fontSize:"12px",fontFamily:_e.mono,color:r.textBody}},Ce.default.createElement("span",null,Ce.default.createElement("span",{style:{color:"#ef4444"}},"\u25A0")," generation ",jt(n)," (",s(n),")"),Ce.default.createElement("span",null,Ce.default.createElement("span",{style:{color:"#10b981"}},"\u25A0")," tools ",jt(i)," (",s(i),")"),l>0&&Ce.default.createElement("span",null,Ce.default.createElement("span",{style:{color:r.textSecondary}},"\u25A0")," overhead ",jt(l)," (",s(l),")")),a.length>0&&Ce.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"4px",fontSize:"12px",fontFamily:_e.mono,color:r.textSecondary}},a.map((c,d)=>Ce.default.createElement("span",{key:d},c.name," ",jt(c.duration)," (",s(c.duration||0),")"))))}function _Z({trace:e,darkMode:t}){let[r,n]=(0,Ce.useState)(null),[a,i]=(0,Ce.useState)(!1),o=Vt(t);if((0,Ce.useEffect)(()=>{if(e?.id==null)return;let s=!0;return n(null),i(!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&&i(!0)),()=>{s=!1}},[e?.id]),a)return Ce.default.createElement("div",{className:"text-sm py-4",style:{color:o.bad}},"Couldn't load the conversation for this trace.");if(!r)return Ce.default.createElement("div",{className:"text-sm py-4",style:{color:o.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?Ce.default.createElement("div",{className:"text-sm py-4",style:{color:o.textMuted}},"This trace predates content capture \u2014 no conversation to show."):Ce.default.createElement(Da,{messages:l,darkMode:t,tools:AS(e)})}function If({trace:e,darkMode:t,compact:r=!1,showConversation:n=!0}){let[a,i]=(0,Ce.useState)("spans"),[o,l]=(0,Ce.useState)("time"),s=Vt(t),u=(e?.spans||[]).length,c=CS(e),d=e?.tokens||{},f=(0,Ce.useCallback)(p=>i(n?p:"spans"),[n]);return e?Ce.default.createElement("div",null,Ce.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2 mb-2"},Ce.default.createElement("div",{className:"flex items-center gap-1"},n&&Ce.default.createElement(jf,{options:AZ,value:a,onChange:f,darkMode:t}),Ce.default.createElement("span",{className:"text-xs ml-2",style:{color:s.textSecondary}},u," ",u===1?"span":"spans")),a==="spans"&&u>0&&Ce.default.createElement(jf,{options:LP,value:o,onChange:l,darkMode:t,label:"Sort"})),a==="conversation"?Ce.default.createElement("div",{className:"rounded-lg border p-4",style:{background:s.cardBg,borderColor:s.cardBorder}},Ce.default.createElement(_Z,{trace:e,darkMode:t})):Ce.default.createElement(Ce.default.Fragment,null,o==="time"?Ce.default.createElement("div",{className:"flex justify-between text-xs mb-2",style:{color:s.textMuted}},Ce.default.createElement("span",null,"0ms"),Ce.default.createElement("span",null,Math.round((e.duration_ms||0)*.33),"ms"),Ce.default.createElement("span",null,Math.round((e.duration_ms||0)*.66),"ms"),Ce.default.createElement("span",null,jt(e.duration_ms))):Ce.default.createElement("div",{className:"text-xs mb-2",style:{color:s.textMuted}},"Bar length compares duration on a log scale"),Ce.default.createElement(NS,{trace:e,darkMode:t,sort:o,keyPrefix:`${e.id||e.trace_id}:`})),c&&Ce.default.createElement("div",{className:"mt-3"},Ce.default.createElement(xo,{...c,label:"Context pressure",estimated:!0,darkMode:t})),Ce.default.createElement(CZ,{trace:e,darkMode:t}),!r&&Ce.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}},Ce.default.createElement("span",null,"Tokens:"),d.thinking>0&&Ce.default.createElement("span",{className:"text-amber-500",style:{fontFamily:_e.mono}},"T:",d.thinking.toLocaleString()),Ce.default.createElement("span",{className:"text-blue-500",style:{fontFamily:_e.mono}},"in:",(d.input||0).toLocaleString()),Ce.default.createElement("span",{className:"text-green-500",style:{fontFamily:_e.mono}},"out:",(d.output||0).toLocaleString()),e.provider&&Ce.default.createElement("span",{style:{fontFamily:_e.mono}},e.provider,e.model?` \xB7 ${e.model}`:"")),e.error&&Ce.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"}},Ce.default.createElement("span",{className:"text-sm",style:{color:t?"#fca5a5":"#b91c1c"}},e.error))):null}var EZ=e=>{if(!e)return"0";let t=(e.input||0)+(e.output||0)+(e.thinking||0);return t>=1e3?`${(t/1e3).toFixed(1)}K`:`${t}`},OZ=e=>e==null?null:`$${e.toFixed(4)}`;function cy({trace:e,darkMode:t,expanded:r,onToggle:n}){let a=Vt(t),i=SS(e),o=CS(e),l=e.status!=="ERROR";return Ft.default.createElement(uy,{darkMode:t,id:`trace-row-${e.id}`},Ft.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:a.hoverBg}:void 0},Ft.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},Ft.default.createElement("span",{className:"px-2 py-1 text-xs rounded flex-shrink-0",style:{fontFamily:_e.mono,background:a.controlBg,color:a.textSecondary}},"TRACE"),Ft.default.createElement("span",{className:"text-sm flex-shrink-0",style:{fontFamily:_e.mono,color:a.textMuted}},e.short_id),Ft.default.createElement("span",{className:"text-sm font-medium truncate",style:{color:a.textPrimary}},e.display_name)),Ft.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0 text-sm",style:{color:a.textSecondary}},e.model&&Ft.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded",style:{fontFamily:_e.mono,background:t?"rgba(99,102,241,0.2)":"#eef2ff",color:t?"#a5b4fc":"#4338ca"},title:"Model that generated this trace"},e.model),o&&Ft.default.createElement(xo,{compact:!0,...o,label:"Context",darkMode:t}),Ft.default.createElement("span",null,Ft.default.createElement("i",{className:"fa-solid fa-clock mr-1"}),jt(e.duration_ms)),Ft.default.createElement("span",null,EZ(e.tokens)," tokens"),e.estimated_cost!=null&&Ft.default.createElement("span",null,Ft.default.createElement("i",{className:"fa-solid fa-coins mr-1"}),OZ(e.estimated_cost)),Ft.default.createElement("span",{style:{color:l?a.good:a.bad}},Ft.default.createElement("i",{className:`fa-solid ${l?"fa-check":"fa-xmark"} mr-1`}),l?"OK":"ERROR"),Ft.default.createElement(Il,{open:r,darkMode:t}))),!r&&Ft.default.createElement(Ru,{darkMode:t,onClick:n,style:{padding:"0 16px 12px"},lines:[{label:"input",text:i.input,color:br("user",t).color},{label:"output",text:i.output,color:br("assistant",t).color}]}),r&&Ft.default.createElement("div",{className:"border-t p-4",style:{borderColor:a.cardBorder,background:a.innerBg}},Ft.default.createElement(If,{trace:e,darkMode:t})))}function Je(e=""){return`${(window.ACTIVE_AGENT_DASHBOARD?.mountPath||"").replace(/\/$/,"")}${e}`||"/"}var BP=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],kZ=3e4,TZ=e=>{let t={};return e.forEach((r,n)=>{t[r]=BP[n%BP.length]}),t},MZ=e=>{let t={};return e.forEach(r=>{(r.spans||[]).forEach(n=>{if((n.nested||0)===0)return;let a=n.name||n.type||"unknown";t[a]||(t[a]={name:a,type:n.type,count:0,total:0,max:0,errors:0});let i=t[a];i.count+=1,i.total+=n.duration||0,i.max=Math.max(i.max,n.duration||0),n.error&&(i.errors+=1)})}),Object.values(t).map(r=>({...r,avg:r.total/r.count})).sort((r,n)=>n.total-r.total)},DZ=(e,t,r,n=60)=>{let a=Date.now(),i=[],o=n*1e3,l=Math.max(1,Math.round(r*60/n));for(let s=l-1;s>=0;s--){let u=a-(s+1)*o,c=a-s*o,d=e.filter(p=>p.timestamp_ms>=u&&p.timestamp_ms{f[p]=d.filter(v=>v.agent===p).length}),i.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,v)=>p+(v.duration_ms||0),0)/d.length):0,traces:d,...f})}return i};function zl({agentClass:e=null,embedded:t=!1}){let{darkMode:r}=it(),[n,a]=(0,D.useState)([]),[i,o]=(0,D.useState)([]),[l,s]=(0,D.useState)({}),[u,c]=(0,D.useState)(!0),[d,f]=(0,D.useState)(null),[p,v]=(0,D.useState)(null),g=(0,D.useRef)(new URLSearchParams(window.location.search).get("trace")),[b,m]=(0,D.useState)(null),[h,x]=(0,D.useState)({status:"all",agent:"all",action:"all"}),[w,E]=(0,D.useState)("time"),[C,T]=(0,D.useState)(null),[_,I]=(0,D.useState)("timeline"),[z,B]=(0,D.useState)("popular"),{timeWindow:$}=ka(),X=(0,D.useCallback)(async()=>{try{let S=e?`&agent=${encodeURIComponent(e)}`:"",P=await fetch(`/api/traces?minutes=${$.minutes}${S}`);if(!P.ok)throw new Error(`Request failed (${P.status})`);let K=await P.json();a(K.traces||[]),o(e?[e]:K.agents||[]),s(K.agent_ids||{}),f(null)}catch(S){f(S.message)}finally{c(!1)}},[$.minutes,e]);(0,D.useEffect)(()=>{X();let S=setInterval(X,kZ);return()=>clearInterval(S)},[X]);let H=(0,D.useMemo)(()=>TZ(i),[i]);(0,D.useEffect)(()=>{T(null)},[$.id]);let q=(0,D.useMemo)(()=>DZ(n,i,$.minutes,$.bucketSeconds),[n,i,$]),y=Math.max(0,Math.ceil(q.length/6)-1),N=(0,D.useMemo)(()=>{let S=n;if(C!==null){let P=q[C];P&&(S=P.traces||[])}if(h.status!=="all"&&(S=S.filter(P=>h.status==="success"?P.status!=="ERROR":P.status==="ERROR")),h.agent!=="all"&&(S=S.filter(P=>P.agent===h.agent)),h.action!=="all")if(h.action.includes("#")){let[P,K]=h.action.split("#");S=S.filter(j=>j.agent===P&&j.action===K)}else S=S.filter(P=>P.action===h.action);return w==="latency"&&(S=[...S].sort((P,K)=>(K.duration_ms||0)-(P.duration_ms||0))),b&&!S.some(P=>P.id===b.id)&&(S=[b,...S]),S},[n,C,q,h,w,b]);(0,D.useEffect)(()=>{let S=g.current;if(!S)return;let P=j=>{g.current=null,v(j.id),setTimeout(()=>{document.getElementById(`trace-row-${j.id}`)?.scrollIntoView({behavior:"smooth",block:"start"})},150)},K=n.find(j=>j.id===S||j.trace_id===S||j.short_id&&String(S).startsWith(j.short_id));if(K){P(K);return}n.length!==0&&fetch(`/api/traces/${encodeURIComponent(S)}`).then(j=>j.ok?j.json():Promise.reject(new Error("not found"))).then(({trace:j})=>{m(j),P(j)}).catch(()=>{g.current=null})},[n]);let O=(0,D.useMemo)(()=>{let S=C!==null?q[C]?.traces||[]:n,P={};S.forEach(j=>{j.agent&&(P[j.agent]||(P[j.agent]={agent:j.agent,count:0,totalDuration:0,cost:0,errors:0,actions:{},tokens:{thinking:0,input:0,output:0}}),P[j.agent].count++,P[j.agent].totalDuration+=j.duration_ms||0,P[j.agent].cost+=j.estimated_cost||0,j.status==="ERROR"&&P[j.agent].errors++,j.tokens&&(P[j.agent].tokens.thinking+=j.tokens.thinking||0,P[j.agent].tokens.input+=j.tokens.input||0,P[j.agent].tokens.output+=j.tokens.output||0),j.action&&(P[j.agent].actions[j.action]=(P[j.agent].actions[j.action]||0)+1))});let K={popular:j=>j.count,longest:j=>j.totalDuration/(j.count||1),cost:j=>j.cost,tokens:j=>(j.tokens.input||0)+(j.tokens.output||0)+(j.tokens.thinking||0),errors:j=>j.errors}[z]||(j=>j.count);return Object.values(P).sort((j,he)=>K(he)-K(j)||he.count-j.count)},[n,q,C,z]),M=(0,D.useMemo)(()=>{let S=C!==null?q[C]?.traces||[]:n,P={};return S.forEach(K=>{if(!K.agent)return;let j=`${K.agent}#${K.action||"unknown"}`;P[j]||(P[j]={key:j,agent:K.agent,action:K.action||"unknown",count:0,totalDuration:0,errors:0,minDuration:1/0,maxDuration:0,tokens:{thinking:0,input:0,output:0}}),P[j].count++,P[j].totalDuration+=K.duration_ms||0,P[j].minDuration=Math.min(P[j].minDuration,K.duration_ms||0),P[j].maxDuration=Math.max(P[j].maxDuration,K.duration_ms||0),K.status==="ERROR"&&P[j].errors++,K.tokens&&(P[j].tokens.thinking+=K.tokens.thinking||0,P[j].tokens.input+=K.tokens.input||0,P[j].tokens.output+=K.tokens.output||0)}),Object.values(P).forEach(K=>{K.minDuration===1/0&&(K.minDuration=0)}),Object.values(P).sort((K,j)=>j.count-K.count)},[n,q,C]),A=(0,D.useMemo)(()=>{let S=C!==null?q[C]?.traces||[]:n,P={};return S.forEach(K=>{(K.spans||[]).forEach(j=>{if(j.type!=="tool")return;let he=j.attributes?.["tool.name"]||j.name?.replace(/^tool\./,"")||"unknown";P[he]||(P[he]={name:he,count:0,totalDuration:0,maxDuration:0,errors:0,agents:new Set}),P[he].count++,P[he].totalDuration+=j.duration||0,P[he].maxDuration=Math.max(P[he].maxDuration,j.duration||0),j.error&&P[he].errors++,K.agent&&P[he].agents.add(`${K.agent}#${K.action||"unknown"}`)})}),Object.values(P).map(K=>({...K,agents:[...K.agents],avgDuration:K.count?K.totalDuration/K.count:0})).sort((K,j)=>j.totalDuration-K.totalDuration)},[n,q,C]),k=(0,D.useMemo)(()=>h.agent==="all"?M.map(S=>S.key):M.filter(S=>S.agent===h.agent).map(S=>S.key),[h.agent,M]),V=(0,D.useMemo)(()=>MZ(N),[N]),G=S=>{if(S&&S.activeTooltipIndex!==void 0){let P=S.activeTooltipIndex;T(C===P?null:P),v(null)}},Q=S=>(S?.input||0)+(S?.output||0)+(S?.thinking||0),se=S=>{let P=S.count?S.errors/S.count:0;return[{label:`Calls ${$.label||""}`.trim(),value:S.count.toLocaleString()},{label:"Errors",value:`${(P*100).toFixed(1)}%`,tone:S.errors>0?"bad":"good"},{label:"Avg time",value:`${Math.round(S.totalDuration/(S.count||1))}ms`},{label:"Tokens",value:Q(S.tokens).toLocaleString()},{label:"Cost",value:ue(S.cost),title:"Estimated from token counts at this model's published rates",tone:S.cost?void 0:"muted"},{label:"Actions",value:(S.agents?.length||0).toLocaleString()}]},ue=S=>S?S<.01?"<$0.01":`$${S.toFixed(2)}`:"\u2014",pe=D.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:"8px",marginBottom:"12px"}},D.default.createElement("span",{style:{fontSize:"12px",color:r?"rgba(255,255,255,0.5)":"#6b7280"}},"Rank by"),D.default.createElement("select",{value:z,onChange:S=>B(S.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"}},D.default.createElement("option",{value:"popular"},"Most calls"),D.default.createElement("option",{value:"longest"},"Longest average"),D.default.createElement("option",{value:"cost"},"Highest cost"),D.default.createElement("option",{value:"tokens"},"Most tokens"),D.default.createElement("option",{value:"errors"},"Most errors"))),Oe=S=>x(P=>({...P,agent:P.agent===S?"all":S})),ie=S=>{let P=l[S];if(!P)return Oe(S);let K=Je(`/agents/${P}`);window.history.pushState(window.history.state,"",K),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:K}}))},Ne=S=>{let P=V[0]?.total||1,K=S?"rgba(0,0,0,0.3)":"white",j=S?"1px solid rgba(255,255,255,0.1)":"1px solid #e5e7eb",he=S?"white":"#111827",ge=S?"rgba(255,255,255,0.5)":"#6b7280",xe={llm:"#ef4444",tool:"#10b981",generate:"#8b5cf6",prompt:"#3b82f6"};return D.default.createElement("div",{style:{padding:S?"0 24px 24px 24px":0}},D.default.createElement("div",{style:{background:K,border:j,borderRadius:"12px",padding:"16px"}},D.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:he,marginBottom:"4px"}},"Slowest operations"),D.default.createElement("div",{style:{fontSize:"12px",color:ge,marginBottom:"14px"}},"Span durations aggregated across ",N.length," trace",N.length===1?"":"s"," \u2014 ranked by total time"),V.length===0?D.default.createElement("div",{style:{fontSize:"13px",color:ge,padding:"12px 0"}},"No spans in the current selection"):D.default.createElement("div",{style:{display:"grid",gap:"10px"}},V.map(Me=>D.default.createElement("div",{key:Me.name,style:{display:"flex",alignItems:"center",gap:"12px"}},D.default.createElement("div",{style:{width:"220px",flexShrink:0,display:"flex",alignItems:"center",gap:"8px"}},D.default.createElement("span",{style:{color:ge}},wS(Me.type)),D.default.createElement("span",{style:{fontSize:"13px",color:Me.errors>0?"#ef4444":he,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},Me.name)),D.default.createElement("div",{style:{flex:1,height:"18px",background:S?"rgba(255,255,255,0.06)":"#f3f4f6",borderRadius:"4px",position:"relative"}},D.default.createElement("div",{style:{position:"absolute",top:"3px",left:0,height:"12px",borderRadius:"3px",width:`${Math.max(Me.total/P*100,.5)}%`,background:xe[Me.type]||"#6366f1"}})),D.default.createElement("div",{style:{width:"260px",flexShrink:0,fontSize:"12px",color:ge,fontFamily:_e.mono,textAlign:"right"}},Me.count,"\xD7 \xB7 avg ",jt(Me.avg)," \xB7 max ",jt(Me.max)," \xB7 \u03A3 ",jt(Me.total)))))))};if(u)return D.default.createElement("div",{className:"flex items-center justify-center h-64"},D.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let F={requests:q.reduce((S,P)=>S+P.requests,0),errors:q.reduce((S,P)=>S+P.errors,0),avgLatency:(()=>{let S=q.filter(P=>P.requests>0);return S.length===0?0:Math.round(S.reduce((P,K)=>P+K.avgLatency,0)/S.length)})(),throughput:(q.reduce((S,P)=>S+P.requests,0)/$.minutes).toFixed(1)},Y=n.length===0;return r?D.default.createElement("div",{className:"preview-content",style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)"}},D.default.createElement("div",{style:{padding:"24px 24px 0 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",marginBottom:"16px",paddingBottom:"16px"}},D.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},D.default.createElement("div",null,!t&&D.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:"white",margin:0}},"Traces"),D.default.createElement("p",{style:{fontSize:"14px",color:"rgba(255,255,255,0.6)",marginTop:"4px"}},C!==null?`Viewing ${q[C]?.time} \u2022 ${N.length} requests`:`Last ${$.label} \u2022 Click timeline to drill down`)),D.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},D.default.createElement("div",{style:{display:"flex",background:"rgba(255,255,255,0.1)",borderRadius:"8px",padding:"2px"}},["timeline","agents","actions","tools","spans"].map(S=>D.default.createElement("button",{key:S,onClick:()=>I(S),style:{padding:"6px 12px",background:_===S?"#ef4444":"transparent",color:"white",borderRadius:"6px",border:"none",fontSize:"13px",cursor:"pointer",textTransform:"capitalize"}},S))),!e&&D.default.createElement("select",{value:h.agent,onChange:S=>x({...h,agent:S.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"}},D.default.createElement("option",{value:"all"},"All Agents"),i.map(S=>D.default.createElement("option",{key:S,value:S},S))),D.default.createElement("select",{value:h.action,onChange:S=>x({...h,action:S.target.value}),style:{padding:"8px 12px",background:h.action!=="all"?"rgba(239, 68, 68, 0.3)":"rgba(255,255,255,0.1)",border:h.action!=="all"?"1px solid #ef4444":"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px",maxWidth:"220px",textOverflow:"ellipsis"}},D.default.createElement("option",{value:"all"},"All Actions"),k.map(S=>D.default.createElement("option",{key:S,value:S},S))),D.default.createElement("select",{value:h.status,onChange:S=>x({...h,status:S.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"}},D.default.createElement("option",{value:"all"},"All Status"),D.default.createElement("option",{value:"success"},"Success"),D.default.createElement("option",{value:"error"},"Error")),D.default.createElement("select",{value:w,onChange:S=>E(S.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"}},D.default.createElement("option",{value:"time"},"Newest first"),D.default.createElement("option",{value:"latency"},"Slowest first")),C!==null&&D.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&&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),D.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},D.default.createElement("div",{style:{background:"rgba(0,0,0,0.3)",borderRadius:"12px",padding:"16px",border:"1px solid rgba(255,255,255,0.1)"}},D.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"12px"}},D.default.createElement("div",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},"Agent Requests / Minute"),D.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},Object.entries(H).map(([S,P])=>D.default.createElement("div",{key:S,style:{display:"flex",alignItems:"center",gap:"6px"}},D.default.createElement("div",{style:{width:"10px",height:"10px",borderRadius:"2px",background:P}}),D.default.createElement("span",{style:{fontSize:"11px",color:"rgba(255,255,255,0.7)"}},S.replace("Agent","")))))),D.default.createElement("div",{style:{height:"150px"}},D.default.createElement(ru,{width:"100%",height:"100%"},D.default.createElement(Xu,{data:q,onClick:G,style:{cursor:"pointer"}},D.default.createElement("defs",null,Object.entries(H).map(([S,P])=>D.default.createElement("linearGradient",{key:S,id:`gradient-${S}`,x1:"0",y1:"0",x2:"0",y2:"1"},D.default.createElement("stop",{offset:"5%",stopColor:P,stopOpacity:.8}),D.default.createElement("stop",{offset:"95%",stopColor:P,stopOpacity:.1})))),D.default.createElement(Nl,{strokeDasharray:"3 3",stroke:"rgba(255,255,255,0.1)"}),D.default.createElement(El,{dataKey:"time",stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,interval:y}),D.default.createElement(Ol,{stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,axisLine:!1,allowDecimals:!1}),D.default.createElement(Lu,{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:(S,P)=>[S,P.replace("Agent","")]}),Object.keys(H).map(S=>D.default.createElement(_l,{key:S,type:"monotone",dataKey:S,stackId:"1",stroke:H[S],fill:`url(#gradient-${S})`}))))),D.default.createElement("div",{style:{display:"flex",gap:"24px",marginTop:"12px",paddingTop:"12px",borderTop:"1px solid rgba(255,255,255,0.1)"}},D.default.createElement("div",null,D.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"white"}},F.requests),D.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Total Requests")),D.default.createElement("div",null,D.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#ef4444"}},F.errors),D.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Errors")),D.default.createElement("div",null,D.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#10b981"}},F.avgLatency,"ms"),D.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Avg Latency")),D.default.createElement("div",null,D.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#f59e0b"}},F.throughput,"/min"),D.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Throughput"))))),_==="agents"&&D.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},pe,D.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(280px, 1fr))",gap:"16px"}},O.map(S=>D.default.createElement(Ms,{key:S.agent,name:S.agent,accentColor:H[S.agent],subtitle:S.agents?.length?S.agents.join(", "):void 0,badge:D.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:H[S.agent]+"30",color:H[S.agent],borderRadius:"4px",whiteSpace:"nowrap"}},S.count," calls"),onClick:()=>ie(S.agent),stats:se(S),footer:D.default.createElement(D.default.Fragment,null,D.default.createElement("span",null,l[S.agent]?"Open agent \u2192":"Not linked to an agent record"),D.default.createElement("button",{onClick:P=>{P.stopPropagation(),Oe(S.agent)},style:{background:"none",border:"none",padding:0,cursor:"pointer",color:h.agent===S.agent?"#ef4444":"inherit",font:"inherit"}},h.agent===S.agent?"Clear filter":"Filter traces"))})))),_==="actions"&&D.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},D.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:"12px"}},M.map(S=>{let P=h.action===S.key;return D.default.createElement("div",{key:S.key,onClick:()=>{x({...h,action:P?"all":S.key}),I("timeline")},style:{background:P?"rgba(239, 68, 68, 0.15)":"rgba(0,0,0,0.3)",borderRadius:"10px",padding:"14px",border:P?"1px solid #ef4444":`1px solid ${H[S.agent]}30`,cursor:"pointer",transition:"all 0.15s"}},D.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"10px"}},D.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},D.default.createElement("div",{style:{width:"6px",height:"6px",borderRadius:"50%",background:H[S.agent]}}),D.default.createElement("span",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},S.agent),D.default.createElement("span",{style:{fontSize:"13px",color:"rgba(255,255,255,0.7)"}},"#",S.action)),D.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:H[S.agent]+"30",color:H[S.agent],borderRadius:"4px"}},S.count," calls")),D.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},D.default.createElement("div",null,D.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Avg"),D.default.createElement("div",{style:{fontSize:"13px",color:"white",fontWeight:"500"}},Math.round(S.totalDuration/S.count),"ms")),D.default.createElement("div",null,D.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Min/Max"),D.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},Math.round(S.minDuration),"ms / ",Math.round(S.maxDuration),"ms")),D.default.createElement("div",null,D.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Errors"),D.default.createElement("div",{style:{fontSize:"13px",color:S.errors>0?"#ef4444":"#10b981"}},S.errors," (",(S.errors/S.count*100).toFixed(0),"%)")),D.default.createElement("div",null,D.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Tokens"),D.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},Q(S.tokens).toLocaleString()))))}))),_==="spans"&&Ne(!0),_==="timeline"&&!Y&&D.default.createElement("div",{className:"space-y-4"},N.length===0?D.default.createElement("div",{style:{textAlign:"center",padding:"32px",color:"rgba(255,255,255,0.5)",fontSize:"14px"}},"No traces match filters"):N.map(S=>D.default.createElement(cy,{key:S.id,trace:S,darkMode:!0,expanded:p===S.id,onToggle:()=>v(p===S.id?null:S.id)}))),Y&&_==="timeline"&&D.default.createElement("div",{style:{textAlign:"center",padding:"48px 0"}},D.default.createElement("div",{style:{color:"rgba(255,255,255,0.5)",fontSize:"18px"}},"No traces yet"),D.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"))):D.default.createElement("div",{className:"space-y-6"},D.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2"},D.default.createElement("div",null,D.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Traces"),D.default.createElement("p",{className:"text-sm text-gray-500"},C!==null?`Viewing ${q[C]?.time} \u2022 ${N.length} requests`:`Last ${$.label} \u2022 Click timeline to drill down`)),D.default.createElement("div",{className:"flex items-center space-x-3 flex-wrap gap-y-2 min-w-0"},D.default.createElement(Ta,null),D.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},["timeline","agents","actions","tools","spans"].map(S=>D.default.createElement("button",{key:S,onClick:()=>I(S),className:`px-3 py-1 text-sm rounded-md transition-colors capitalize ${_===S?"bg-white shadow text-gray-900":"text-gray-600"}`},S))),D.default.createElement("select",{value:h.agent,onChange:S=>x({...h,agent:S.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"}},D.default.createElement("option",{value:"all"},"All Agents"),i.map(S=>D.default.createElement("option",{key:S,value:S},S))),D.default.createElement("select",{value:h.action,onChange:S=>x({...h,action:S.target.value}),className:`px-3 py-2 border rounded-lg text-sm focus:ring-2 focus:ring-red-500 ${h.action!=="all"?"border-red-500 bg-red-50":"border-gray-300"}`,style:{maxWidth:"220px",textOverflow:"ellipsis"}},D.default.createElement("option",{value:"all"},"All Actions"),k.map(S=>D.default.createElement("option",{key:S,value:S},S))),D.default.createElement("select",{value:h.status,onChange:S=>x({...h,status:S.target.value}),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},D.default.createElement("option",{value:"all"},"All Status"),D.default.createElement("option",{value:"success"},"Success"),D.default.createElement("option",{value:"error"},"Error")),D.default.createElement("select",{value:w,onChange:S=>E(S.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},D.default.createElement("option",{value:"time"},"Newest first"),D.default.createElement("option",{value:"latency"},"Slowest first")),C!==null&&D.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&&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),D.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},D.default.createElement("div",{className:"flex justify-between items-center mb-3"},D.default.createElement("h3",{className:"text-sm font-semibold text-gray-700"},"Agent Requests / Minute"),D.default.createElement("div",{className:"flex gap-4 flex-wrap"},Object.entries(H).map(([S,P])=>D.default.createElement("div",{key:S,className:"flex items-center gap-1.5"},D.default.createElement("div",{className:"w-2.5 h-2.5 rounded-sm",style:{background:P}}),D.default.createElement("span",{className:"text-xs text-gray-500"},S.replace("Agent","")))))),D.default.createElement("div",{className:"h-36"},D.default.createElement(ru,{width:"100%",height:"100%"},D.default.createElement(Xu,{data:q,onClick:G,style:{cursor:"pointer"}},D.default.createElement("defs",null,Object.entries(H).map(([S,P])=>D.default.createElement("linearGradient",{key:S,id:`gradient-light-${S}`,x1:"0",y1:"0",x2:"0",y2:"1"},D.default.createElement("stop",{offset:"5%",stopColor:P,stopOpacity:.6}),D.default.createElement("stop",{offset:"95%",stopColor:P,stopOpacity:.05})))),D.default.createElement(Nl,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),D.default.createElement(El,{dataKey:"time",stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,interval:y}),D.default.createElement(Ol,{stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,axisLine:!1,allowDecimals:!1}),D.default.createElement(Lu,{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:(S,P)=>[S,P.replace("Agent","")]}),Object.keys(H).map(S=>D.default.createElement(_l,{key:S,type:"monotone",dataKey:S,stackId:"1",stroke:H[S],fill:`url(#gradient-light-${S})`}))))),D.default.createElement("div",{className:"flex gap-6 mt-3 pt-3 border-t border-gray-100"},D.default.createElement("div",null,D.default.createElement("div",{className:"text-lg font-bold text-gray-900"},F.requests),D.default.createElement("div",{className:"text-xs text-gray-500"},"Total Requests")),D.default.createElement("div",null,D.default.createElement("div",{className:"text-lg font-bold text-red-500"},F.errors),D.default.createElement("div",{className:"text-xs text-gray-500"},"Errors")),D.default.createElement("div",null,D.default.createElement("div",{className:"text-lg font-bold text-green-600"},F.avgLatency,"ms"),D.default.createElement("div",{className:"text-xs text-gray-500"},"Avg Latency")),D.default.createElement("div",null,D.default.createElement("div",{className:"text-lg font-bold text-amber-500"},F.throughput,"/min"),D.default.createElement("div",{className:"text-xs text-gray-500"},"Throughput")))),_==="agents"&&D.default.createElement("div",null,pe,D.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"},O.map(S=>D.default.createElement(Ms,{key:S.agent,name:S.agent,accentColor:H[S.agent],subtitle:S.agents?.length?S.agents.join(", "):void 0,badge:D.default.createElement("span",{className:"text-sm px-2 py-0.5 rounded",style:{background:H[S.agent]+"20",color:H[S.agent]}},S.count," calls"),onClick:()=>ie(S.agent),stats:se(S),footer:D.default.createElement(D.default.Fragment,null,D.default.createElement("span",null,l[S.agent]?"Open agent \u2192":"Not linked to an agent record"),D.default.createElement("button",{onClick:P=>{P.stopPropagation(),Oe(S.agent)},className:h.agent===S.agent?"text-red-600":"hover:text-gray-700"},h.agent===S.agent?"Clear filter":"Filter traces"))})))),_==="actions"&&D.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3"},M.map(S=>{let P=h.action===S.key;return D.default.createElement("div",{key:S.key,onClick:()=>{x({...h,action:P?"all":S.key}),I("timeline")},className:`rounded-xl p-4 cursor-pointer transition-all ${P?"bg-red-50 border-2 border-red-500":"bg-white border border-gray-200 hover:border-gray-300"}`,style:{borderLeftColor:H[S.agent],borderLeftWidth:P?"2px":"4px"}},D.default.createElement("div",{className:"flex items-center justify-between mb-3"},D.default.createElement("div",{className:"flex items-center gap-2"},D.default.createElement("div",{className:"w-2 h-2 rounded-full",style:{background:H[S.agent]}}),D.default.createElement("span",{className:"font-semibold text-gray-900"},S.agent),D.default.createElement("span",{className:"text-gray-500"},"#",S.action)),D.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded",style:{background:H[S.agent]+"20",color:H[S.agent]}},S.count," calls")),D.default.createElement("div",{className:"flex flex-wrap gap-4 text-sm"},D.default.createElement("div",null,D.default.createElement("div",{className:"text-xs text-gray-500"},"Avg"),D.default.createElement("div",{className:"font-medium"},Math.round(S.totalDuration/S.count),"ms")),D.default.createElement("div",null,D.default.createElement("div",{className:"text-xs text-gray-500"},"Min/Max"),D.default.createElement("div",{className:"text-gray-600"},Math.round(S.minDuration),"ms / ",Math.round(S.maxDuration),"ms")),D.default.createElement("div",null,D.default.createElement("div",{className:"text-xs text-gray-500"},"Errors"),D.default.createElement("div",{className:S.errors>0?"text-red-600":"text-green-600"},S.errors," (",(S.errors/S.count*100).toFixed(0),"%)")),D.default.createElement("div",null,D.default.createElement("div",{className:"text-xs text-gray-500"},"Tokens"),D.default.createElement("div",{className:"text-gray-600"},Q(S.tokens).toLocaleString()))))})),_==="tools"&&(A.length===0?D.default.createElement("div",{className:"text-center py-8 text-gray-500 text-sm"},"No tool calls in this window"):D.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},D.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"},D.default.createElement("div",{className:"flex-1"},"Tool"),D.default.createElement("div",{className:"w-20 text-right"},"Calls"),D.default.createElement("div",{className:"w-24 text-right"},"Total time"),D.default.createElement("div",{className:"w-20 text-right"},"Avg"),D.default.createElement("div",{className:"w-20 text-right"},"Slowest")),A.map(S=>{let P=A[0].totalDuration?S.totalDuration/A[0].totalDuration*100:0;return D.default.createElement("div",{key:S.name,className:"px-4 py-2 border-b border-gray-50 last:border-0"},D.default.createElement("div",{className:"flex items-center gap-4 text-sm"},D.default.createElement("div",{className:"flex-1 min-w-0"},D.default.createElement("div",{className:"font-medium text-gray-900 truncate",title:S.name},S.name),S.agents.length>0&&D.default.createElement("div",{className:"text-xs text-gray-400 truncate",title:S.agents.join(", ")},S.agents.join(", "))),D.default.createElement("div",{className:"w-20 text-right text-gray-700",style:{fontFamily:_e.mono}},S.count.toLocaleString(),S.errors>0&&D.default.createElement("span",{className:"text-red-600 ml-1",title:`${S.errors} failed`},"(",S.errors,")")),D.default.createElement("div",{className:"w-24 text-right text-gray-900 font-medium",style:{fontFamily:_e.mono}},jt(S.totalDuration)),D.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:_e.mono}},jt(S.avgDuration)),D.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:_e.mono}},jt(S.maxDuration))),D.default.createElement("div",{className:"h-1 bg-gray-100 rounded mt-1.5"},D.default.createElement("div",{className:"h-1 bg-green-500 rounded",style:{width:`${Math.max(P,1)}%`}})))}))),_==="spans"&&Ne(!1),_==="timeline"&&!Y&&D.default.createElement("div",{className:"space-y-4"},N.length===0?D.default.createElement("div",{className:"text-center py-8 text-gray-500"},"No traces match filters"):N.map(S=>D.default.createElement(cy,{key:S.id,trace:S,darkMode:!1,expanded:p===S.id,onToggle:()=>v(p===S.id?null:S.id)}))),Y&&_==="timeline"&&D.default.createElement("div",{className:"text-center py-12"},D.default.createElement("div",{className:"text-gray-400 text-lg"},"No traces yet"),D.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 re=J(R());var dy=J(R());function _S({trace:e,darkMode:t,height:r=8}){let n=Vt(t);if(!e)return dy.default.createElement("div",{className:"rounded",style:{height:`${r}px`,background:n.trackBg}});let a=e.spans||[],i=e.duration_ms||1,o=[...a].sort((l,s)=>(l.nested||0)-(s.nested||0));return dy.default.createElement("div",{style:{position:"relative",height:`${r}px`,borderRadius:"999px",background:n.trackBg,overflow:"hidden",flex:1}},o.map((l,s)=>dy.default.createElement("div",{key:l.span_id||s,title:`${l.name} \xB7 ${jt(l.duration)}`,style:{position:"absolute",top:0,bottom:0,left:`${Math.min(l.start/i*100,99)}%`,width:`${Math.max(l.duration/i*100,.8)}%`,background:l.error?"#ef4444":bS[l.type]||"#9ca3af"}})))}var PZ=e=>{let t=null;if((e?.generations||[]).forEach(i=>{let o=i.tokens||{},l=(o.input||0)+(o.output||0);l>0&&(!t||l>t.total)&&(t={input:o.input||0,output:o.output||0,cached:o.cached||0,thinking:o.thinking||0,model:i.model,total:l})}),!t)return null;let r=Ma(e?.instructions),n=0;(e?.messages||[]).forEach(i=>{i.role==="tool"&&(n+=Ma(i.content)+Ma(i.tool_arguments))}),n=Math.min(n,t.input);let a=Math.max(t.input-r-n,0);return{used:t.total,limit:Mf(t.model),cached:t.cached,thinking:t.thinking,segments:[{key:"messages",label:"Messages",tokens:a},{key:"tool_results",label:"Tool results",tokens:n},{key:"instructions",label:"Instructions",tokens:r},{key:"output",label:"Generated output",tokens:t.output}]}},UP=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],jZ=[{id:"recent",label:"Recent"},{id:"tokens",label:"Tokens"},{id:"messages",label:"Messages"}],IZ=[{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"}],zZ=3e4,wi=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString(),LZ=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 BZ({generation:e,darkMode:t,maxMs:r,expanded:n,onToggle:a}){let i=Vt(t),[o,l]=(0,re.useState)(null),[s,u]=(0,re.useState)(!1),c=e.trace_id,d=(e.duration_seconds||0)*1e3;(0,re.useEffect)(()=>{if(!c)return;let v=!0;return fetch(`/api/traces/${encodeURIComponent(c)}`).then(g=>g.ok?g.json():Promise.reject(new Error("not found"))).then(({trace:g})=>v&&l(g)).catch(()=>v&&u(!0)),()=>{v=!1}},[c]);let f=!!o,p=(o?.spans||[]).length;return re.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:i.hoverBg}:void 0},re.default.createElement("div",{className:f?"cursor-pointer":void 0,onClick:f?a:void 0,title:f?`${p} spans \u2014 click for the trace`:void 0},re.default.createElement("div",{className:"flex flex-wrap items-center gap-3 text-xs font-mono",style:{color:i.textSecondary}},re.default.createElement("span",{title:e.cache_hit?`${wi(e.tokens.cached)} cached prompt tokens`:"No prompt cache hit",style:{color:e.cache_hit?i.good:i.textMuted}},e.cache_hit?"\u26A1 cache hit":"\u25CF generated"),e.thinking&&re.default.createElement("span",{className:"text-amber-500",title:`${wi(e.tokens.thinking)} thinking tokens`},"\u{1F9E0} ",wi(e.tokens.thinking)),re.default.createElement("span",null,e.model||"unknown-model"),e.provider&&re.default.createElement("span",null,e.provider),re.default.createElement("span",{className:"text-blue-500"},"in:",wi(e.tokens.input)),re.default.createElement("span",{className:"text-green-500"},"out:",wi(e.tokens.output)),e.finish_reason&&re.default.createElement("span",null,e.finish_reason),e.duration_seconds!=null&&re.default.createElement("span",null,jt(d)),c&&re.default.createElement("a",{href:Je(`/traces?trace=${c}`),title:`${c} \u2014 open in Traces`,style:{color:i.link},className:"hover:underline",onClick:v=>v.stopPropagation()},"trace:",c.slice(0,8)," \u2192"),s&&re.default.createElement("span",{style:{color:i.textMuted}},"trace unavailable")),re.default.createElement("div",{className:"flex items-center gap-2 mt-1"},c&&!s?re.default.createElement(_S,{trace:o,darkMode:t}):d>0?re.default.createElement("div",{className:"rounded flex-1",style:{height:"8px",background:i.trackBg}},re.default.createElement("div",{className:"rounded",style:{height:"8px",width:`${Math.max(d/r*100,2)}%`,background:"#ef4444"}})):null,f&&re.default.createElement(re.default.Fragment,null,re.default.createElement("span",{className:"font-mono flex-shrink-0",style:{fontSize:"10px",color:i.textMuted}},p," ",p===1?"span":"spans"),re.default.createElement(Il,{open:n,darkMode:t,size:12})))),n&&o&&re.default.createElement("div",{className:"mt-2 rounded-lg border p-3",style:{background:i.cardBg,borderColor:i.cardBorder}},re.default.createElement(If,{trace:o,darkMode:t,compact:!0})))}function Si({agentId:e=null,embedded:t=!1}){let{darkMode:r}=it(),[n,a]=(0,re.useState)([]),[i,o]=(0,re.useState)(!0),[l,s]=(0,re.useState)(null),[u,c]=(0,re.useState)(null),[d,f]=(0,re.useState)({}),{timeWindow:p}=ka(),v=(0,re.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 H=await X.json();a(H.interactions||[]),s(null)}catch(X){s(X.message)}finally{o(!1)}},[p.minutes,e]);(0,re.useEffect)(()=>{v();let X=setInterval(v,zZ);return()=>clearInterval(X)},[v]);let[g,b]=(0,re.useState)("recent"),m=(0,re.useMemo)(()=>{let X=[...new Set(n.map(H=>H.display_name).filter(Boolean))].sort();return Object.fromEntries(X.map((H,q)=>[H,UP[q%UP.length]]))},[n]),h=(0,re.useMemo)(()=>{let X=n.reduce((q,y)=>q+(y.tokens?.total||0),0),H=new Set(n.map(q=>q.display_name).filter(Boolean));return{interactions:n.length,tokens:X,agents:H.size,avgTokens:n.length?Math.round(X/n.length):0}},[n]),x=(0,re.useMemo)(()=>{if(n.length===0)return[];let X=Date.now(),H=p.bucketSeconds*1e3,q=Math.max(1,Math.round(p.minutes*60/p.bucketSeconds)),y=Object.keys(m);return Array.from({length:q},(N,O)=>{let M=X-(q-1-O)*H,A=M-H,k=n.filter(V=>{let G=new Date(V.last_activity_at).getTime();return G>=A&&G1440?new Date(M).toLocaleString([],{month:"short",day:"numeric",hour:"2-digit"}):new Date(M).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),...Object.fromEntries(y.map(V=>[V,k.filter(G=>G.display_name===V).length]))}})},[n,m,p]),w=Math.max(0,Math.ceil(x.length/6)-1),E=(0,re.useCallback)(X=>{let H=[...X];switch(g){case"tokens":return H.sort((q,y)=>(y.tokens?.total||0)-(q.tokens?.total||0));case"messages":return H.sort((q,y)=>(y.message_count||0)-(q.message_count||0));default:return H.sort((q,y)=>String(y.last_activity_at).localeCompare(String(q.last_activity_at)))}},[g]),C=(0,re.useMemo)(()=>{let X=new Map;n.forEach(q=>{let y=q.agent_name||q.agent?.name||"Unattributed",N=q.action_name,O=`${y}#${N||""}`;X.has(O)||X.set(O,{key:O,title:N?`${y} ${N.charAt(0).toUpperCase()}${N.slice(1)} Agent Interactions`:`${y} Interactions`,sessions:[],tokens:0,lastActivity:q.last_activity_at});let M=X.get(O);M.sessions.push(q),M.tokens+=q.tokens?.total||0,q.last_activity_at>M.lastActivity&&(M.lastActivity=q.last_activity_at)});let H=[...X.values()].map(q=>({...q,sessions:E(q.sessions)}));return g==="tokens"?H.sort((q,y)=>y.tokens-q.tokens):g==="messages"?H.sort((q,y)=>y.sessions.length-q.sessions.length):H.sort((q,y)=>String(y.lastActivity).localeCompare(String(q.lastActivity)))},[n,g,E]),T=async X=>{if(u===X){c(null);return}if(c(X),!d[X])try{let H=await fetch(`/api/interactions/${X}`);if(H.ok){let q=await H.json();f(y=>({...y,[X]:q.interaction}))}}catch{}},[_,I]=(0,re.useState)({}),[z,B]=ec(),$=Vt(r);return i?re.default.createElement("div",{className:"flex items-center justify-center h-64"},re.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):re.default.createElement("div",{className:"space-y-6"},re.default.createElement("div",{className:"flex items-start justify-between"},!t&&re.default.createElement("div",null,re.default.createElement("h1",{className:"text-2xl font-bold",style:{color:$.textPrimary}},"Interactions"),re.default.createElement("p",{className:"text-sm mt-1",style:{color:$.textSecondary}},"Persisted conversation streams per agent \u2014 messages, generations and provenance")),re.default.createElement("div",{className:"flex items-center gap-3"},re.default.createElement("div",{className:"flex items-center rounded-lg p-1",style:{background:r?"rgba(255,255,255,0.06)":"#f3f4f6"}},re.default.createElement("span",{className:"text-xs px-1",style:{color:$.textMuted}},"Sort"),jZ.map(X=>re.default.createElement("button",{key:X.id,onClick:()=>b(X.id),className:"px-2 py-1 text-xs rounded transition-colors",style:g===X.id?{background:r?"#2a2a2a":"#ffffff",color:$.textPrimary,boxShadow:r?"none":"0 1px 2px rgba(0,0,0,0.08)"}:{color:$.textSecondary}},X.label))),re.default.createElement(Ta,null))),l&&re.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&&re.default.createElement("div",{className:"rounded-xl border p-4",style:{backgroundColor:$.cardBg,borderColor:$.cardBorder}},re.default.createElement("div",{className:"flex items-center justify-between mb-3"},re.default.createElement("h3",{className:"text-sm font-semibold",style:{color:$.textPrimary}},"Interactions over time"),re.default.createElement("div",{className:"flex items-center gap-3 flex-wrap justify-end"},Object.entries(m).map(([X,H])=>re.default.createElement("span",{key:X,className:"flex items-center gap-1.5 text-xs",style:{color:$.textSecondary}},re.default.createElement("span",{className:"inline-block w-2 h-2 rounded-full",style:{background:H}}),X)))),re.default.createElement("div",{className:"h-32"},re.default.createElement(ru,{width:"100%",height:"100%"},re.default.createElement(Xu,{data:x},re.default.createElement("defs",null,Object.entries(m).map(([X,H])=>re.default.createElement("linearGradient",{key:X,id:`ix-gradient-${X.replace(/\W/g,"-")}`,x1:"0",y1:"0",x2:"0",y2:"1"},re.default.createElement("stop",{offset:"5%",stopColor:H,stopOpacity:.6}),re.default.createElement("stop",{offset:"95%",stopColor:H,stopOpacity:.05})))),re.default.createElement(Nl,{strokeDasharray:"3 3",stroke:r?"#2a2a2a":"#e5e7eb"}),re.default.createElement(El,{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:w}),re.default.createElement(Ol,{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}),re.default.createElement(Lu,{contentStyle:{background:r?"#1f1f1f":"white",border:`1px solid ${$.cardBorder}`,borderRadius:"8px"},labelStyle:{color:$.textPrimary,fontWeight:"600",marginBottom:"4px"}}),Object.entries(m).map(([X,H])=>re.default.createElement(_l,{key:X,type:"monotone",dataKey:X,stackId:"1",stroke:H,strokeWidth:2,fill:`url(#ix-gradient-${X.replace(/\W/g,"-")})`}))))),re.default.createElement("div",{className:"flex items-center gap-8 pt-3 mt-3 border-t",style:{borderColor:$.cardBorder}},[{label:"Interactions",value:h.interactions.toLocaleString()},{label:"Agents",value:h.agents.toLocaleString()},{label:"Total tokens",value:wi(h.tokens)},{label:"Avg / interaction",value:wi(h.avgTokens)}].map(X=>re.default.createElement("div",{key:X.label},re.default.createElement("div",{className:"text-lg font-bold",style:{color:$.textPrimary}},X.value),re.default.createElement("div",{className:"text-xs",style:{color:$.textSecondary}},X.label))))),n.length===0?re.default.createElement("div",{className:"text-center py-12"},re.default.createElement("div",{className:"text-lg",style:{color:$.textMuted}},"No interactions in the last ",p.label),re.default.createElement("p",{className:"text-sm mt-2",style:{color:$.textSecondary}},"Widen the time window, or run an agent to start recording its conversation stream")):re.default.createElement("div",{className:"space-y-8"},C.map(X=>re.default.createElement("div",{key:X.key,className:"space-y-4"},re.default.createElement("div",{className:"flex items-baseline justify-between"},re.default.createElement("h2",{className:"text-sm font-semibold",style:{color:$.textPrimary}},X.title),re.default.createElement("span",{className:"text-xs",style:{color:$.textMuted}},X.sessions.length," ",X.sessions.length===1?"interaction":"interactions",X.tokens>0&&` \xB7 ${wi(X.tokens)} tokens`)),X.sessions.map(H=>{let q=d[H.id],y=u===H.id,N=_[H.id]||"conversation";return re.default.createElement(uy,{key:H.id,darkMode:r,className:"shadow-sm"},re.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(H.id),style:y?{background:$.hoverBg}:void 0},re.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},H.source==="telemetry"?re.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"):re.default.createElement("span",{className:"px-2 py-1 text-xs font-medium bg-blue-100 text-blue-700 rounded flex-shrink-0"},"SESSION"),re.default.createElement("span",{className:"font-mono text-sm truncate",style:{color:$.textPrimary}},H.display_name),H.agent&&re.default.createElement("span",{className:"text-sm truncate",style:{color:$.textSecondary}},H.agent.name),H.service_name&&re.default.createElement("span",{className:"text-sm truncate font-mono",style:{color:$.textMuted}},H.service_name)),re.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0 text-sm",style:{color:$.textSecondary}},re.default.createElement("span",null,H.message_count>0?`${H.message_count} messages`:`${H.tool_count||0} tool ${H.tool_count===1?"call":"calls"}`),re.default.createElement("span",null,wi(H.tokens?.total)," tokens"),(H.tokens?.total||0)>0&&re.default.createElement(xo,{compact:!0,darkMode:r,label:"Context",used:(H.tokens?.input||0)+(H.tokens?.output||0)||H.tokens?.total,limit:Mf(H.model),segments:[{key:"messages",label:"Context",tokens:(H.tokens?.input||0)+(H.tokens?.output||0)||H.tokens?.total}]}),re.default.createElement("span",{style:{color:$.textMuted}},LZ(H.last_activity_at)),re.default.createElement(Il,{open:y,darkMode:r}))),!y&&re.default.createElement(Ru,{darkMode:r,onClick:()=>T(H.id),style:{padding:"0 16px 12px"},lines:[{label:"input",text:H.preview?.input,color:br("user",r).color},{label:"output",text:H.preview?.output,color:br("assistant",r).color}]}),y&&re.default.createElement("div",{className:"border-t p-4 space-y-3",style:{borderColor:$.cardBorder,background:$.innerBg}},q?re.default.createElement(re.default.Fragment,null,re.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2"},re.default.createElement(jf,{options:IZ,value:N,onChange:O=>I(M=>({...M,[H.id]:O})),darkMode:r}),re.default.createElement("span",{className:"text-xs",style:{color:$.textSecondary}},q.messages.length," ",q.messages.length===1?"message":"messages",q.generations.length>0&&` \xB7 ${q.generations.length} ${q.generations.length===1?"generation":"generations"}`)),N==="conversation"&&re.default.createElement(re.default.Fragment,null,q.messages.length===0&&re.default.createElement("div",{className:"text-sm",style:{color:$.textMuted}},"No conversation content captured for this run. Enable content capture in the reporting app to record prompts, tool arguments, and responses."),re.default.createElement(Da,{darkMode:r,messages:q.instructions?[{id:`ctx-${H.id}-system`,role:"system",content:q.instructions,created_at:H.created_at},...q.messages]:q.messages}),(()=>{let O=PZ(q);return O?re.default.createElement("div",{className:"pt-3 mt-2 border-t",style:{borderColor:$.cardBorder}},re.default.createElement(xo,{...O,label:"Context pressure",estimated:!0,darkMode:r})):null})()),N==="spans"&&(q.generations.length===0?re.default.createElement("div",{className:"text-sm",style:{color:$.textMuted}},"No generations recorded for this interaction \u2014 nothing to trace."):re.default.createElement("div",{className:"space-y-2"},q.generations.map(O=>re.default.createElement(BZ,{key:O.id,generation:O,darkMode:r,maxMs:Math.max(...q.generations.map(M=>(M.duration_seconds||0)*1e3),1),expanded:z(`${H.id}:${O.id}`),onToggle:()=>B(`${H.id}:${O.id}`)}))))):re.default.createElement("div",{className:"flex justify-center py-6"},re.default.createElement("div",{className:"animate-spin rounded-full h-6 w-6 border-b-2 border-red-500"}))))})))))}var te=J(R());var ES=[{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}}],OS=[{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}}],$P=()=>document.querySelector('meta[name="csrf-token"]')?.content,UZ=e=>{if(!e)return"";let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);return t<1?"just now":t<60?`${t} min ago`:t<1440?`${Math.floor(t/60)} hours ago`:`${Math.floor(t/1440)} days ago`},fy=e=>e>=.85?"high":e>=.7?"medium":"low";function zf({embedded:e=!1,agentId:t=null}){let{darkMode:r}=it(),[n,a]=(0,te.useState)([]),[i,o]=(0,te.useState)([]),[l,s]=(0,te.useState)(!0),[u,c]=(0,te.useState)(null),[d,f]=(0,te.useState)(null),[p,v]=(0,te.useState)(!1),[g,b]=(0,te.useState)(null),[m,h]=(0,te.useState)({agent_id:t?String(t):"",name:"",sample_size:20,criteria:ES.map(A=>A.key),containsPattern:"",llmJudgePrompt:"",judgeKind:"manual",judgeModel:"",compareModels:""}),[x,w]=(0,te.useState)(null),[E,C]=(0,te.useState)(!1),T=(0,te.useCallback)(async()=>{try{let A=await fetch(`/api/evaluations${t?`?agent_id=${encodeURIComponent(t)}`:""}`);if(!A.ok)throw new Error(`Request failed (${A.status})`);let k=await A.json();a(k.evaluations||[]),c(null)}catch(A){c(A.message)}finally{s(!1)}},[t]);(0,te.useEffect)(()=>{T(),fetch("/api/agents").then(A=>A.ok?A.json():{agents:[]}).then(A=>o(A.agents||[])).catch(()=>o([]))},[T]);let _=()=>{let A=[...ES,...OS].filter(k=>m.criteria.includes(k.key)).map(({key:k,type:V,config:G})=>({key:k,type:V,config:G}));return m.containsPattern.trim()&&A.push({key:"contains",type:"contains",config:{pattern:m.containsPattern.trim()}}),m.llmJudgePrompt.trim()&&A.push({key:"quality",type:"llm_judge",config:{prompt:m.llmJudgePrompt.trim()}}),A},I=async A=>{A.preventDefault(),C(!0),w(null);try{let k=await fetch("/api/evaluations",{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":$P()},body:JSON.stringify({evaluation:{agent_id:m.agent_id,name:m.name,sample_size:m.sample_size,judge_kind:m.judgeKind==="judge_defined"?"judge_defined":m.llmJudgePrompt.trim()?"llm":"rules",judge_model:m.judgeModel.trim()||void 0,compare_models:m.compareModels.split(",").map(G=>G.trim()).filter(Boolean),criteria:m.judgeKind==="judge_defined"?[]:_()}})}),V=await k.json();if(!k.ok)throw new Error((V.errors||[V.error]).filter(Boolean).join(", ")||"Failed to create evaluation");v(!1),h({...m,name:""}),await T(),f(V.evaluation?.id??null)}catch(k){w(k.message)}finally{C(!1)}},z=async A=>{b(A);try{await fetch(`/api/evaluations/${A}/run`,{method:"POST",headers:{"X-CSRF-Token":$P()}}),await T()}finally{b(null)}},B={cardBg:r?"#1f1f1f":"#ffffff",cardBorder:r?"#2a2a2a":"#e5e7eb",innerBg:r?"rgba(255,255,255,0.04)":"#f9fafb",trackBg:r?"rgba(255,255,255,0.1)":"#f3f4f6",textPrimary:r?"#ffffff":"#111827",textSecondary:r?"rgba(255,255,255,0.6)":"#6b7280",textMuted:r?"rgba(255,255,255,0.4)":"#9ca3af",inputBg:r?"rgba(255,255,255,0.06)":"#ffffff",inputBorder:r?"rgba(255,255,255,0.2)":"#d1d5db"},$={high:"#22c55e",medium:"#eab308",low:"#ef4444"};if(l)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 X=t?n.filter(A=>String(A.agent?.id)===String(t)):n,H=X.map(A=>A.latest_run).filter(A=>A&&A.status==="complete"),q=H.length?H.reduce((A,k)=>A+(k.average_score||0),0)/H.length:null,y=H.reduce((A,k)=>A+(k.samples_evaluated||0),0),N={padding:"8px 12px",borderRadius:"8px",fontSize:"14px",background:B.inputBg,border:`1px solid ${B.inputBorder}`,color:B.textPrimary},O=A=>A&&typeof A=="object"&&!("score"in A)&&!("skipped"in A),M=(A,k,{indent:V=!1,mono:G=!1}={})=>te.default.createElement("div",{key:A,className:"flex items-center gap-4",style:V?{paddingLeft:"16px"}:void 0},te.default.createElement("div",{className:`w-32 text-sm truncate ${G?"font-mono text-xs":""}`,style:{color:B.textSecondary},title:A},G?A:A.replace(/_/g," "),k.source==="telemetry"&&te.default.createElement("span",{"data-testid":"score-source-telemetry",className:"ml-1 text-[10px] uppercase tracking-wide",style:{color:B.textMuted},title:`Aggregate over ${k.traces} traces in the last ${k.window_hours}h`},"telemetry")),k.skipped?te.default.createElement("div",{className:"flex-1 text-xs italic",style:{color:B.textMuted},title:k.reason},"skipped \u2014 ",k.reason):te.default.createElement(te.default.Fragment,null,te.default.createElement("div",{className:"flex-1 h-2 rounded-full overflow-hidden",style:{background:B.trackBg}},te.default.createElement("div",{className:"h-full rounded-full transition-all",style:{width:`${k.score*100}%`,background:$[fy(k.score)]}})),te.default.createElement("div",{className:"w-12 text-sm font-medium text-right",style:{color:$[fy(k.score)]},title:`min ${k.min} \xB7 max ${k.max} \xB7 ${k.passed}/${k.total} passed`},k.score.toFixed(2))));return te.default.createElement("div",{className:"space-y-6"},te.default.createElement("div",{className:`flex items-center ${e?"justify-end":"justify-between"}`},!e&&te.default.createElement("div",null,te.default.createElement("h1",{className:"text-2xl font-bold",style:{color:B.textPrimary}},"Evaluations"),te.default.createElement("p",{className:"text-sm mt-1",style:{color:B.textSecondary}},"Score outputs with LLM-as-judge, rule-based checks, or custom criteria")),te.default.createElement("button",{onClick:()=>v(!p),className:"px-4 py-2 bg-red-500 text-white rounded-lg text-sm font-medium hover:bg-red-600 transition-colors"},p?"Cancel":"New Evaluation")),u&&te.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 evaluations: ",u),p&&te.default.createElement("form",{onSubmit:I,className:"rounded-xl border p-5 space-y-4",style:{backgroundColor:B.cardBg,borderColor:B.cardBorder}},te.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},te.default.createElement("div",null,te.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-1",style:{color:B.textMuted}},"Agent"),te.default.createElement("select",{required:!0,disabled:!!t,value:m.agent_id,onChange:A=>h({...m,agent_id:A.target.value}),style:{...N,width:"100%",opacity:t?.7:1}},!t&&te.default.createElement("option",{value:""},"Select agent\u2026"),i.map(A=>te.default.createElement("option",{key:A.id,value:A.id},A.name)))),te.default.createElement("div",null,te.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-1",style:{color:B.textMuted}},"Name"),te.default.createElement("input",{required:!0,type:"text",value:m.name,onChange:A=>h({...m,name:A.target.value}),placeholder:"Response Quality",style:{...N,width:"100%"}})),te.default.createElement("div",null,te.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-1",style:{color:B.textMuted}},"Sample size"),te.default.createElement("input",{type:"number",min:"1",max:"100",value:m.sample_size,onChange:A=>h({...m,sample_size:A.target.value}),style:{...N,width:"100%"}}))),te.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},te.default.createElement("div",null,te.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-1",style:{color:B.textMuted}},"KPI definition"),te.default.createElement("select",{value:m.judgeKind,onChange:A=>h({...m,judgeKind:A.target.value}),style:{...N,width:"100%"}},te.default.createElement("option",{value:"manual"},"Manual criteria"),te.default.createElement("option",{value:"judge_defined"},"Judge defines KPIs from agent goals"))),te.default.createElement("div",null,te.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-1",style:{color:B.textMuted}},"Judge model (optional)"),te.default.createElement("input",{type:"text",value:m.judgeModel,onChange:A=>h({...m,judgeModel:A.target.value}),placeholder:"e.g. claude-opus-5",style:{...N,width:"100%"}})),te.default.createElement("div",null,te.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-1",style:{color:B.textMuted}},"Compare models (optional, comma-separated)"),te.default.createElement("input",{type:"text",value:m.compareModels,onChange:A=>h({...m,compareModels:A.target.value}),placeholder:"e.g. claude-haiku-4-5, qwen3:8b",style:{...N,width:"100%"}}))),m.judgeKind==="judge_defined"&&te.default.createElement("p",{className:"text-xs",style:{color:B.textSecondary}},"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."),m.judgeKind!=="judge_defined"&&te.default.createElement(te.default.Fragment,null,te.default.createElement("div",null,te.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-2",style:{color:B.textMuted}},"Rule-based criteria (sampled generations)"),te.default.createElement("div",{className:"flex flex-wrap gap-3"},ES.map(A=>te.default.createElement("label",{key:A.key,className:"flex items-center gap-2 text-sm",style:{color:B.textPrimary}},te.default.createElement("input",{type:"checkbox",checked:m.criteria.includes(A.key),onChange:k=>h({...m,criteria:k.target.checked?[...m.criteria,A.key]:m.criteria.filter(V=>V!==A.key)})}),A.label)))),te.default.createElement("div",null,te.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-2",style:{color:B.textMuted}},"Telemetry criteria (trace aggregates)"),te.default.createElement("div",{className:"flex flex-wrap gap-3"},OS.map(A=>te.default.createElement("label",{key:A.key,className:"flex items-center gap-2 text-sm",style:{color:B.textPrimary}},te.default.createElement("input",{type:"checkbox",checked:m.criteria.includes(A.key),onChange:k=>h({...m,criteria:k.target.checked?[...m.criteria,A.key]:m.criteria.filter(V=>V!==A.key)})}),A.label)))),te.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},te.default.createElement("div",null,te.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-1",style:{color:B.textMuted}},"Must contain (optional pattern)"),te.default.createElement("input",{type:"text",value:m.containsPattern,onChange:A=>h({...m,containsPattern:A.target.value}),placeholder:"e.g. password reset",style:{...N,width:"100%"}})),te.default.createElement("div",null,te.default.createElement("label",{className:"block text-xs uppercase tracking-wide mb-1",style:{color:B.textMuted}},"LLM judge criterion (optional, needs provider credentials)"),te.default.createElement("input",{type:"text",value:m.llmJudgePrompt,onChange:A=>h({...m,llmJudgePrompt:A.target.value}),placeholder:"e.g. Is the answer helpful and accurate?",style:{...N,width:"100%"}})))),x&&te.default.createElement("div",{className:"text-sm text-red-500"},x),te.default.createElement("button",{type:"submit",disabled:E,className:"px-4 py-2 bg-red-500 text-white rounded-lg text-sm font-medium hover:bg-red-600 transition-colors disabled:opacity-50"},E?"Creating & running\u2026":"Create & Run")),te.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},te.default.createElement("div",{className:"rounded-xl p-5 border shadow-sm",style:{backgroundColor:B.cardBg,borderColor:B.cardBorder}},te.default.createElement("div",{className:"text-sm mb-1",style:{color:B.textSecondary}},"Total Evaluations"),te.default.createElement("div",{className:"text-3xl font-bold",style:{color:B.textPrimary}},X.length)),te.default.createElement("div",{className:"rounded-xl p-5 border shadow-sm",style:{backgroundColor:B.cardBg,borderColor:B.cardBorder}},te.default.createElement("div",{className:"text-sm mb-1",style:{color:B.textSecondary}},"Average Score"),te.default.createElement("div",{className:"text-3xl font-bold",style:{color:q==null?B.textMuted:$[fy(q)]}},q==null?"\u2014":`${(q*100).toFixed(0)}%`)),te.default.createElement("div",{className:"rounded-xl p-5 border shadow-sm",style:{backgroundColor:B.cardBg,borderColor:B.cardBorder}},te.default.createElement("div",{className:"text-sm mb-1",style:{color:B.textSecondary}},"Samples Evaluated"),te.default.createElement("div",{className:"text-3xl font-bold",style:{color:B.textPrimary}},y))),te.default.createElement("div",{className:"space-y-4"},X.map(A=>{let k=A.latest_run,V=d===A.id,G=(A.criteria||[]).some(Q=>OS.some(se=>se.key===Q.key));return te.default.createElement("div",{key:A.id,"data-testid":"evaluation-card","data-telemetry":G?"true":"false",className:"rounded-xl border shadow-sm overflow-hidden",style:{backgroundColor:B.cardBg,borderColor:B.cardBorder}},te.default.createElement("div",{className:"flex items-center justify-between p-4 cursor-pointer",onClick:()=>f(V?null:A.id)},te.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},te.default.createElement("span",{className:"px-2 py-1 text-xs font-medium bg-purple-100 text-purple-700 rounded flex-shrink-0"},"EVALUATION"),te.default.createElement("span",{className:"font-medium truncate",style:{color:B.textPrimary}},A.name),te.default.createElement("span",{className:"text-sm truncate",style:{color:B.textSecondary}},A.agent?.name)),te.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0 text-sm",style:{color:B.textSecondary}},k?.status==="failed"&&te.default.createElement("span",{className:"text-red-500"},"failed"),k?.status==="complete"&&k.average_score!=null&&te.default.createElement("span",{style:{color:$[fy(k.average_score)],fontWeight:600}},(k.average_score*100).toFixed(0),"%"),te.default.createElement("span",{style:{color:B.textMuted}},UZ(k?.completed_at||A.created_at)))),V&&te.default.createElement("div",{className:"border-t",style:{borderColor:B.cardBorder}},k?.status==="failed"?te.default.createElement("div",{className:"p-4 text-sm text-red-500"},k.error_message):k?.scores?te.default.createElement("div",{className:"p-4 space-y-3"},k.scores._verdict&&te.default.createElement("div",{className:"p-3 rounded-lg text-sm",style:{background:r?"rgba(34,197,94,0.1)":"#f0fdf4"}},te.default.createElement("span",{className:"font-semibold",style:{color:"#16a34a"}},"Winner: ",k.scores._verdict.winner),te.default.createElement("span",{className:"ml-2",style:{color:B.textSecondary}},k.scores._verdict.rationale),te.default.createElement("span",{className:"ml-2 text-xs",style:{color:B.textMuted}},"judged by ",k.scores._verdict.judge)),k.scores._missing_models&&te.default.createElement("div",{className:"text-xs italic",style:{color:B.textMuted}},"No recorded generations for: ",k.scores._missing_models.join(", ")," \u2014 run the agent under those models first"),Object.entries(k.scores).filter(([Q])=>!Q.startsWith("_")).map(([Q,se])=>O(se)?te.default.createElement("div",{key:Q,className:"space-y-1"},te.default.createElement("div",{className:"text-sm",style:{color:B.textSecondary}},Q.replace(/_/g," ")),Object.entries(se).map(([ue,pe])=>M(ue,pe,{indent:!0,mono:!0}))):M(Q,se))):te.default.createElement("div",{className:"p-4 text-sm",style:{color:B.textMuted}},"No runs yet"),te.default.createElement("div",{className:"p-4 grid grid-cols-2 md:grid-cols-5 gap-4 text-sm",style:{background:B.innerBg}},te.default.createElement("div",null,te.default.createElement("div",{style:{color:B.textMuted}},"Judge"),te.default.createElement("div",{className:"font-medium",style:{color:B.textPrimary}},A.judge_kind==="judge_defined"?`Judge-defined KPIs${A.judge_model?` (${A.judge_model})`:""}`:A.judge_kind==="llm"?A.judge_model||"LLM judge":"Rule-based")),te.default.createElement("div",{className:"col-span-2"},te.default.createElement("div",{style:{color:B.textMuted}},"Criteria"),te.default.createElement("div",{className:"font-medium truncate",style:{color:B.textPrimary}},(A.criteria||[]).map(Q=>Q.key).join(", "))),te.default.createElement("div",null,te.default.createElement("div",{style:{color:B.textMuted}},"Samples"),te.default.createElement("div",{className:"font-medium",style:{color:B.textPrimary}},k?`${k.samples_passed} / ${k.samples_evaluated} passed`:"\u2014")),te.default.createElement("div",{className:"flex items-end justify-end"},te.default.createElement("button",{onClick:Q=>{Q.stopPropagation(),z(A.id)},disabled:g===A.id,className:"px-3 py-1.5 text-sm bg-gray-100 text-gray-700 rounded-lg hover:bg-gray-200 transition-colors disabled:opacity-50"},g===A.id?"Running\u2026":"Run again")))))})),X.length===0&&!p&&te.default.createElement("div",{className:"text-center py-12 rounded-xl border",style:{backgroundColor:B.cardBg,borderColor:B.cardBorder}},te.default.createElement("div",{className:"text-lg",style:{color:B.textMuted}},"No evaluations yet"),te.default.createElement("p",{className:"text-sm mt-2",style:{color:B.textSecondary}},"Create an evaluation to start scoring agent outputs")))}var ce=J(R());var $Z=[{id:"overview",label:"Overview"},{id:"traces",label:"Traces"},{id:"interactions",label:"Interactions"}];function kS({agent:e,onBack:t,embedded:r=!1}){let{darkMode:n}=it(),a=Ps(n),[i,o]=(0,ce.useState)(null),[l,s]=(0,ce.useState)(!0),{timeWindow:u,days:c}=ka(),[d,f]=(0,ce.useState)("overview"),p=e.telemetry_agent_class||(()=>{let w=e.agent_class_name||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(E,C)=>C.toUpperCase()).replace(/^./,E=>E.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return w.endsWith("Agent")?w:`${w}Agent`})();(0,ce.useEffect)(()=>{v()},[e?.id,c]);let v=async()=>{if(e?.id){s(!0);try{let E=await(await fetch(`/api/agents/${e.id}/analytics?days=${c}`)).json();o(E)}catch(w){console.error("Failed to load analytics:",w)}finally{s(!1)}}},g=w=>w?w<1e3?`${w}ms`:`${(w/1e3).toFixed(2)}s`:"-",b=w=>w?w>=1e6?`${(w/1e6).toFixed(1)}M`:w>=1e3?`${(w/1e3).toFixed(1)}K`:w.toString():"0",m=w=>{switch(w){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&&!i)return 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 border-red-500"}));let h=i?.runs_by_day?.length>0?Math.max(...i.runs_by_day.map(w=>w.count)):1,x=r?"overview":d;return ce.default.createElement("div",{className:"space-y-6"},r?ce.default.createElement("div",{className:"flex items-center justify-end gap-2"},u.minutes<1440&&ce.default.createElement("span",{className:"text-xs",style:{color:a.textMuted},title:"This view aggregates by day"},"showing 1 day"),ce.default.createElement(Ta,null)):ce.default.createElement("div",{className:"flex items-center justify-between"},ce.default.createElement("div",{className:"flex items-center space-x-4"},ce.default.createElement("button",{onClick:t,className:"p-2 transition-colors",style:{color:a.textMuted}},ce.default.createElement("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ce.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"}))),ce.default.createElement("div",null,ce.default.createElement("h1",{className:"text-2xl font-bold",style:{color:a.textPrimary}},e.name," Analytics"),ce.default.createElement("p",{className:"text-sm",style:{color:a.textSecondary}},"Performance metrics and usage data"))),ce.default.createElement("div",{className:"flex items-center gap-2"},u.minutes<1440&&ce.default.createElement("span",{className:"text-xs",style:{color:a.textMuted},title:"This view aggregates by day"},"showing 1 day"),ce.default.createElement(Ta,null))),!r&&ce.default.createElement("div",{className:"flex rounded-lg p-1 w-fit",style:{background:a.mutedBg}},$Z.map(w=>ce.default.createElement("button",{key:w.id,onClick:()=>f(w.id),className:`px-4 py-1.5 text-sm rounded-md transition-colors ${d===w.id?"shadow":""}`,style:d===w.id?{background:a.cardBg,color:a.textPrimary}:{color:a.textSecondary}},w.label))),x==="traces"&&ce.default.createElement(zl,{agentClass:p,embedded:!0}),x==="interactions"&&ce.default.createElement(Si,{agentId:e.id,embedded:!0}),x==="overview"&&ce.default.createElement(ce.default.Fragment,null,ce.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4"},ce.default.createElement(py,{title:"Total Runs",value:i?.summary?.total_runs||0,icon:ce.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ce.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})),color:"rose",colors:a,darkMode:n}),ce.default.createElement(py,{title:"Success Rate",value:`${i?.summary?.success_rate||0}%`,icon:ce.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ce.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:a,darkMode:n}),ce.default.createElement(py,{title:"Avg Duration",value:g(i?.summary?.avg_duration_ms),icon:ce.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ce.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:a,darkMode:n}),ce.default.createElement(py,{title:"Total Tokens",value:b(i?.summary?.total_tokens),icon:ce.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ce.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:a,darkMode:n})),ce.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6"},ce.default.createElement("div",{className:"lg:col-span-2 rounded-xl border p-6",style:{background:a.cardBg,borderColor:a.cardBorder}},ce.default.createElement("h3",{className:"font-semibold mb-4",style:{color:a.textPrimary}},"Runs Over Time"),i?.runs_by_day?.length>0?ce.default.createElement("div",{className:"h-48"},ce.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},i.runs_by_day.map((w,E)=>ce.default.createElement("div",{key:w.date,className:"flex-1 flex flex-col items-center group"},ce.default.createElement("div",{className:"relative w-full"},ce.default.createElement("div",{className:"w-full bg-red-500 rounded-t transition-all hover:bg-red-600",style:{height:`${w.count/h*150}px`,minHeight:w.count>0?"4px":"0"}}),ce.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"},w.count," runs")),(E===0||E===i.runs_by_day.length-1||i.runs_by_day.length<=7)&&ce.default.createElement("span",{className:"text-xs mt-2 transform -rotate-45 origin-left",style:{color:a.textMuted}},new Date(w.date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))))):ce.default.createElement("div",{className:"h-48 flex items-center justify-center",style:{color:a.textMuted}},"No data for this period")),ce.default.createElement("div",{className:"rounded-xl border p-6",style:{background:a.cardBg,borderColor:a.cardBorder}},ce.default.createElement("h3",{className:"font-semibold mb-4",style:{color:a.textPrimary}},"Status Breakdown"),Object.keys(i?.status_breakdown||{}).length>0?ce.default.createElement("div",{className:"space-y-3"},Object.entries(i.status_breakdown).map(([w,E])=>{let C=i?.summary?.total_runs||1,T=(E/C*100).toFixed(1);return ce.default.createElement("div",{key:w},ce.default.createElement("div",{className:"flex justify-between text-sm mb-1"},ce.default.createElement("span",{className:"capitalize",style:{color:a.textSecondary}},w),ce.default.createElement("span",{className:"font-medium",style:{color:a.textPrimary}},E," (",T,"%)")),ce.default.createElement("div",{className:"h-2 rounded-full overflow-hidden",style:{background:a.trackBg}},ce.default.createElement("div",{className:`h-full ${m(w)} rounded-full transition-all`,style:{width:`${T}%`}})))})):ce.default.createElement("div",{className:"h-32 flex items-center justify-center",style:{color:a.textMuted}},"No runs yet"))),i?.recent_errors?.length>0&&ce.default.createElement("div",{className:"rounded-xl border p-6",style:{background:a.cardBg,borderColor:a.cardBorder}},ce.default.createElement("h3",{className:"font-semibold mb-4",style:{color:a.textPrimary}},"Recent Errors"),ce.default.createElement("div",{className:"space-y-3"},i.recent_errors.map(w=>ce.default.createElement("div",{key:w.id,className:"flex items-start space-x-3 p-3 rounded-lg",style:{background:n?"rgba(220,38,38,0.12)":"#fef2f2"}},ce.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"},ce.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"})),ce.default.createElement("div",{className:"flex-1 min-w-0"},ce.default.createElement("p",{className:"text-sm",style:{color:n?"#fca5a5":"#991b1b"}},w.error||"Unknown error"),ce.default.createElement("p",{className:"text-xs mt-1",style:{color:n?"#f87171":"#dc2626"}},new Date(w.created_at).toLocaleString())))))),ce.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4"},ce.default.createElement("div",{className:"rounded-lg p-4",style:{background:a.innerBg}},ce.default.createElement("p",{className:"text-sm",style:{color:a.textSecondary}},"Completed Runs"),ce.default.createElement("p",{className:"text-2xl font-bold",style:{color:a.textPrimary}},i?.summary?.completed_runs||0)),ce.default.createElement("div",{className:"rounded-lg p-4",style:{background:a.innerBg}},ce.default.createElement("p",{className:"text-sm",style:{color:a.textSecondary}},"Failed Runs"),ce.default.createElement("p",{className:"text-2xl font-bold",style:{color:a.textPrimary}},i?.summary?.failed_runs||0)),ce.default.createElement("div",{className:"rounded-lg p-4",style:{background:a.innerBg}},ce.default.createElement("p",{className:"text-sm",style:{color:a.textSecondary}},"Avg Tokens/Run"),ce.default.createElement("p",{className:"text-2xl font-bold",style:{color:a.textPrimary}},b(i?.summary?.avg_tokens_per_run))),ce.default.createElement("div",{className:"rounded-lg p-4",style:{background:a.innerBg}},ce.default.createElement("p",{className:"text-sm",style:{color:a.textSecondary}},"Period"),ce.default.createElement("p",{className:"text-2xl font-bold",style:{color:a.textPrimary}},i?.period_days||30," days")))))}var HP={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 py({title:e,value:t,icon:r,color:n,colors:a,darkMode:i}){let[o,l,s]=HP[n]||HP.rose;return ce.default.createElement("div",{className:"rounded-xl border p-4",style:{background:a.cardBg,borderColor:a.cardBorder}},ce.default.createElement("div",{className:"flex items-center justify-between"},ce.default.createElement("div",null,ce.default.createElement("p",{className:"text-sm",style:{color:a.textSecondary}},e),ce.default.createElement("p",{className:"text-2xl font-bold mt-1",style:{color:a.textPrimary}},t)),ce.default.createElement("div",{className:"p-3 rounded-lg",style:{background:i?l:s,color:o}},r)))}var HZ=[{id:"config",label:"Configuration"},{id:"instructions",label:"Instructions"},{id:"tools",label:"Tools"},{id:"versions",label:"Versions"},{id:"code",label:"Code"}],YP=[{id:"traces",label:"Traces"},{id:"metrics",label:"Metrics"},{id:"interactions",label:"Interactions"},{id:"evals",label:"Evals"},{id:"feedback",label:"Feedback"}],VZ=YP.map(e=>e.id),VP={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"]}},FZ={active:"success",draft:"warning",archived:"neutral",failed:"error",trial:"info"};function TS({tone:e="neutral",mono:t=!1,darkMode:r,children:n}){let[a,i]=(VP[e]||VP.neutral)[r?"dark":"light"];return Z.default.createElement("span",{style:{background:a,color:i,borderRadius:"999px",padding:"2px 8px",fontSize:"11px",fontWeight:600,fontFamily:t?_e.mono:void 0,whiteSpace:"nowrap"}},n)}function Ll({variant:e="secondary",size:t="md",onClick:r,disabled:n,colors:a,children:i}){let l={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"},s={primary:{background:n?a.mutedBg:Rn,color:n?a.textMuted:"#ffffff",border:"1px solid transparent"},secondary:{background:"transparent",color:a.textCell,border:`1px solid ${a.inputBorder}`},danger:{background:"transparent",color:"#dc2626",border:"1px solid rgba(220,38,38,0.4)"}};return Z.default.createElement("button",{type:"button",onClick:r,disabled:n,style:{...l,...s[e]||s.secondary}},i)}function FP({tabs:e,active:t,onChange:r,colors:n}){return Z.default.createElement("div",{style:{display:"flex",alignItems:"center"}},e.map(a=>{let i=t===a.id;return Z.default.createElement("button",{key:a.id,type:"button",onClick:()=>r(a.id),style:{padding:"10px 12px",marginBottom:"-1px",background:"none",border:"none",borderBottom:`2px solid ${i?Rn:"transparent"}`,color:i?Rn:n.textSecondary,fontSize:"13px",fontWeight:i?600:500,cursor:"pointer",whiteSpace:"nowrap"}},a.label)}))}function my({agent:e,meta:t,onSave:r,onDelete:n,onRun:a,onDuplicate:i,onRunReport:o,onBack:l,isLoading:s,initialTab:u}){let{darkMode:c}=it(),d=Ps(c),[f,p]=(0,Z.useState)(u||"config"),[v,g]=(0,Z.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"}),[b,m]=(0,Z.useState)([]),[h,x]=(0,Z.useState)(!1),[w,E]=(0,Z.useState)(""),[C,T]=(0,Z.useState)(Ds),_=e.telemetry_agent_class||e.telemetryAgentClass||(()=>{let q=e.agent_class_name||e.agentClassName||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(y,N)=>N.toUpperCase()).replace(/^./,y=>y.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return q.endsWith("Agent")?q:`${q}Agent`})();(0,Z.useEffect)(()=>{let q=!1;return bm(v.provider).then(y=>{q||y.length===0||T(N=>({...N,[v.provider]:y}))}),()=>{q=!0}},[v.provider]),(0,Z.useEffect)(()=>{let q=JSON.stringify(v)!==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"});x(q)},[v,e]),(0,Z.useEffect)(()=>{f==="versions"?I():f==="code"&&z()},[f]);let I=async()=>{try{let y=await(await fetch(`/api/agents/${e.id}/versions`)).json();m(y.versions)}catch(q){console.error("Failed to load versions:",q)}},z=async()=>{try{let y=await(await fetch(`/api/agents/${e.id}/export`)).json();E(y.code)}catch(q){console.error("Failed to load code preview:",q)}},B=(q,y)=>{g(N=>({...N,[q]:y}))},$=(q,y)=>{g(N=>{let O=N[q]||[],M=O.includes(y)?O.filter(A=>A!==y):[...O,y];return{...N,[q]:M}})},X=()=>{r(v)},H=VZ.includes(f);return Z.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},Z.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:"12px"}},Z.default.createElement("button",{type:"button",onClick:l,title:"Back to agents",style:{fontFamily:_e.mono,fontSize:"13px",color:d.textSecondary,background:"none",border:"none",cursor:"pointer",padding:"4px 2px",marginTop:"10px"}},"<-"),Z.default.createElement(wt,{size:44}),Z.default.createElement("div",{style:{flex:1,minWidth:0}},Z.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexWrap:"wrap"}},Z.default.createElement("h1",{style:{fontSize:"20px",fontWeight:700,color:d.textPrimary,margin:0}},v.name||"Untitled agent"),Z.default.createElement(TS,{tone:FZ[v.status]||"neutral",darkMode:c},v.status),h&&Z.default.createElement(TS,{tone:"info",darkMode:c},"unsaved")),Z.default.createElement("p",{style:{fontSize:"13px",color:d.textSecondary,margin:"4px 0 0"}},v.description||"No description")),Z.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexShrink:0}},i&&Z.default.createElement(Ll,{variant:"secondary",colors:d,onClick:i},"Duplicate"),Z.default.createElement(Ll,{variant:"primary",colors:d,onClick:a},"Run Agent"))),Z.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"20px",borderBottom:`1px solid ${d.cardBorder}`,overflowX:"auto"}},Z.default.createElement(FP,{tabs:HZ,active:f,onChange:p,colors:d}),Z.default.createElement("div",{style:{width:"1px",height:"18px",background:d.borderStrong,flexShrink:0}}),Z.default.createElement(FP,{tabs:YP,active:f,onChange:p,colors:d})),H?Z.default.createElement("div",null,f==="traces"&&Z.default.createElement(zl,{agentClass:_,embedded:!0}),f==="metrics"&&Z.default.createElement(kS,{agent:e,embedded:!0}),f==="interactions"&&Z.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},o&&Z.default.createElement("div",{style:{display:"flex",justifyContent:"flex-end"}},Z.default.createElement("button",{type:"button",onClick:o,style:{background:"none",border:"none",cursor:"pointer",fontFamily:_e.mono,fontSize:"11px",color:"#3b82f6"}},"run report ->")),Z.default.createElement(Si,{agentId:e.id,embedded:!0})),f==="evals"&&Z.default.createElement(zf,{embedded:!0,agentId:e.id}),f==="feedback"&&Z.default.createElement(XZ,{colors:d})):Z.default.createElement("div",{style:{background:d.cardBg,border:`1px solid ${d.cardBorder}`,borderRadius:"12px",padding:"20px"}},f==="config"&&Z.default.createElement(YZ,{formData:v,updateField:B,providerModels:C,colors:d,darkMode:c,onDelete:n}),f==="instructions"&&Z.default.createElement(qZ,{formData:v,updateField:B,meta:t,toggleArrayItem:$,colors:d}),f==="tools"&&Z.default.createElement(WZ,{formData:v,meta:t,toggleArrayItem:$,colors:d}),f==="versions"&&Z.default.createElement(KZ,{versions:b,agentId:e.id,onRestore:I,colors:d,darkMode:c}),f==="code"&&Z.default.createElement(GZ,{code:w,colors:d})),h&&Z.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)"}},Z.default.createElement("span",{style:{fontSize:"13px",color:d.textSecondary}},"Unsaved changes"),Z.default.createElement("div",{style:{display:"flex",gap:"8px"}},Z.default.createElement(Ll,{variant:"primary",size:"sm",colors:d,onClick:X,disabled:s},s?"Saving\u2026":"Save Changes"))))}var Pa=e=>({display:"block",fontSize:"13px",fontWeight:500,color:e.textCell,marginBottom:"6px"}),Ai=e=>({width:"100%",padding:"8px 12px",borderRadius:"8px",border:`1px solid ${e.inputBorder}`,background:e.inputBg,color:e.textPrimary,fontFamily:"inherit",fontSize:"13px"}),qP=e=>({fontFamily:_e.mono,fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:e.textSecondary});function YZ({formData:e,updateField:t,providerModels:r,colors:n,darkMode:a,onDelete:i}){return Z.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},Z.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},Z.default.createElement("div",null,Z.default.createElement("label",{style:Pa(n)},"Agent Name"),Z.default.createElement("input",{type:"text",value:e.name,onChange:o=>t("name",o.target.value),className:"aa-field",style:Ai(n)})),Z.default.createElement("div",null,Z.default.createElement("label",{style:Pa(n)},"Preset Type"),Z.default.createElement("select",{value:e.preset_type,onChange:o=>t("preset_type",o.target.value),className:"aa-field",style:Ai(n)},Object.keys(Ts).map(o=>Z.default.createElement("option",{key:o,value:o},o))))),Z.default.createElement("div",null,Z.default.createElement("label",{style:Pa(n)},"Description"),Z.default.createElement("textarea",{value:e.description,onChange:o=>t("description",o.target.value),rows:3,className:"aa-field",style:{...Ai(n),resize:"vertical"}})),Z.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},Z.default.createElement("div",null,Z.default.createElement("label",{style:Pa(n)},"Provider"),Z.default.createElement("select",{value:e.provider,onChange:o=>{t("provider",o.target.value),t("model",r[o.target.value][0])},className:"aa-field",style:Ai(n)},Object.keys(r).map(o=>Z.default.createElement("option",{key:o,value:o},o.charAt(0).toUpperCase()+o.slice(1))))),Z.default.createElement("div",null,Z.default.createElement("label",{style:Pa(n)},"Model"),Z.default.createElement("select",{value:e.model,onChange:o=>t("model",o.target.value),className:"aa-field",style:{...Ai(n),fontFamily:_e.mono}},(r[e.provider]?.includes(e.model)?r[e.provider]:[e.model,...r[e.provider]||[]]).filter(Boolean).map(o=>Z.default.createElement("option",{key:o,value:o},o))))),Z.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},Z.default.createElement("div",null,Z.default.createElement("label",{style:Pa(n)},"Temperature"," ",Z.default.createElement("span",{style:{fontFamily:_e.mono,color:n.textSecondary}},e.model_config.temperature)),Z.default.createElement("input",{type:"range",min:"0",max:"1",step:"0.1",value:e.model_config.temperature,onChange:o=>t("model_config",{...e.model_config,temperature:parseFloat(o.target.value)}),style:{width:"100%",accentColor:Rn}})),Z.default.createElement("div",null,Z.default.createElement("label",{style:Pa(n)},"Status"),Z.default.createElement("select",{value:e.status,onChange:o=>t("status",o.target.value),className:"aa-field",style:Ai(n)},Z.default.createElement("option",{value:"draft"},"Draft"),Z.default.createElement("option",{value:"active"},"Active"),Z.default.createElement("option",{value:"archived"},"Archived")))),i&&Z.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px",borderTop:`1px solid ${n.cardBorder}`,paddingTop:"16px"}},Z.default.createElement("div",null,Z.default.createElement("div",{style:qP(n)},"Danger zone"),Z.default.createElement("p",{style:{fontSize:"13px",color:n.textMuted,margin:"4px 0 0"}},"Deleting an agent removes its configuration and version history.")),Z.default.createElement(Ll,{variant:"danger",size:"sm",colors:n,onClick:i},"Delete Agent")))}function qZ({formData:e,updateField:t,meta:r,toggleArrayItem:n,colors:a}){let i=e.action_prompts||[],o=(u,c)=>{t("action_prompts",i.map((d,f)=>f===u?{...d,...c}:d))},l=()=>{t("action_prompts",[...i,{name:"",prompt:"",expose_as_tool:!1}])},s=u=>{t("action_prompts",i.filter((c,d)=>d!==u))};return Z.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},Z.default.createElement("div",null,Z.default.createElement("label",{style:Pa(a)},"System Instructions"),Z.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:{...Ai(a),fontFamily:_e.mono,resize:"vertical"}})),Z.default.createElement("div",null,Z.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"6px"}},Z.default.createElement("label",{style:{...Pa(a),marginBottom:0}},"Action Prompts"),Z.default.createElement(Ll,{variant:"secondary",size:"sm",colors:a,onClick:l},"+ Add action")),Z.default.createElement("p",{style:{fontSize:"12px",color:a.textMuted,margin:"0 0 12px"}},"Named actions run with their prompt stacked below the system instructions. The default ",Z.default.createElement("span",{style:{fontFamily:_e.mono}},"#ask")," action uses the system instructions alone."),i.length>0&&Z.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},i.map((u,c)=>Z.default.createElement("div",{key:c,style:{border:`1px solid ${a.cardBorder}`,borderRadius:"10px",padding:"12px",display:"flex",flexDirection:"column",gap:"8px"}},Z.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},Z.default.createElement("span",{style:{fontFamily:_e.mono,fontSize:"13px",color:a.textMuted}},"#"),Z.default.createElement("input",{type:"text",value:u.name,onChange:d=>o(c,{name:d.target.value.toLowerCase().replace(/[^a-z0-9_]/g,"_")}),placeholder:"action_name",className:"aa-field",style:{...Ai(a),flex:1,padding:"6px 10px",fontFamily:_e.mono}}),Z.default.createElement("label",{style:{display:"flex",alignItems:"center",gap:"6px",fontSize:"12px",color:a.textSecondary,whiteSpace:"nowrap"}},Z.default.createElement("input",{type:"checkbox",checked:!!u.expose_as_tool,onChange:d=>o(c,{expose_as_tool:d.target.checked}),style:{accentColor:Rn}}),"Expose as tool"),Z.default.createElement("button",{type:"button",onClick:()=>s(c),title:"Remove action",style:{fontFamily:_e.mono,fontSize:"12px",color:a.textMuted,background:"none",border:"none",cursor:"pointer",padding:"4px"}},"[x]")),Z.default.createElement("textarea",{value:u.prompt,onChange:d=>o(c,{prompt:d.target.value}),placeholder:"This action's system prompt, applied on top of the base instructions...",rows:4,className:"aa-field",style:{...Ai(a),fontFamily:_e.mono,resize:"vertical"}}))))),Z.default.createElement("div",null,Z.default.createElement("label",{style:Pa(a)},"Instruction Sets"),Z.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px"}},r.instructionSets?.map(u=>{let c=e.instruction_sets.includes(u);return Z.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?Rn:a.inputBorder}`,background:c?Rn:"transparent",color:c?"#ffffff":a.textCell}},u)}))))}function WZ({formData:e,meta:t,toggleArrayItem:r,colors:n}){let a=i=>({terminal:"$",playwright:">",filesystem:"/",code:"<>",database:"#",slack:"@",fetch:"~",search:"?",edit:"*",translate:"[]",memory:"M"})[i]||"[]";return Z.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},Z.default.createElement("p",{style:{fontSize:"13px",color:n.textSecondary,margin:0}},"Select the tools your agent can use."),Z.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(140px, 1fr))",gap:"12px"}},t.availableTools?.map(i=>{let o=e.tools.includes(i);return Z.default.createElement("button",{key:i,type:"button",onClick:()=>r("tools",i),style:{padding:"14px",borderRadius:"12px",textAlign:"center",cursor:"pointer",border:`1px solid ${o?Rn:n.cardBorder}`,background:o?"rgba(239,68,68,0.08)":"transparent",color:o?Rn:n.textCell}},Z.default.createElement("span",{style:{display:"block",fontFamily:_e.mono,fontSize:"20px",marginBottom:"6px"}},a(i)),Z.default.createElement("span",{style:{fontSize:"13px",fontWeight:500,textTransform:"capitalize"}},i))})),e.tools.length>0&&Z.default.createElement("div",{style:{background:n.innerBg,borderRadius:"10px",padding:"14px"}},Z.default.createElement("div",{style:{...qP(n),marginBottom:"10px"}},"Selected tools \xB7 ",e.tools.length),Z.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px"}},e.tools.map(i=>Z.default.createElement("span",{key:i,style:{fontFamily:_e.mono,fontSize:"11px",padding:"3px 8px",borderRadius:"6px",border:`1px solid ${n.inputBorder}`,color:n.textCell}},a(i)," ",i)))))}function KZ({versions:e,agentId:t,onRestore:r,colors:n,darkMode:a}){let i=async o=>{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:o})}),r()}catch(l){console.error("Failed to restore version:",l)}};return Z.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},Z.default.createElement("p",{style:{fontSize:"13px",color:n.textSecondary,margin:0}},"View and restore previous versions of this agent."),e.length>0?Z.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"10px"}},e.map(o=>{let l=o.is_latest||o.isLatest;return Z.default.createElement("div",{key:o.id,style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"12px",padding:"14px",borderRadius:"10px",border:`1px solid ${l?Rn:n.cardBorder}`,background:l?"rgba(239,68,68,0.06)":"transparent"}},Z.default.createElement("div",{style:{minWidth:0}},Z.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},Z.default.createElement("span",{style:{fontFamily:_e.mono,fontSize:"13px",fontWeight:600,color:n.textPrimary}},"v",o.version_number||o.versionNumber),l&&Z.default.createElement(TS,{tone:"error",darkMode:a},"current")),Z.default.createElement("p",{style:{fontSize:"13px",color:n.textCell,margin:"4px 0 0"}},o.change_summary||o.changeSummary),Z.default.createElement("p",{style:{fontFamily:_e.mono,fontSize:"11px",color:n.textMuted,margin:"4px 0 0"}},new Date(o.created_at||o.createdAt).toLocaleString())),!l&&Z.default.createElement(Ll,{variant:"secondary",size:"sm",colors:n,onClick:()=>i(o.id)},"Restore"))})):Z.default.createElement(WP,{colors:n,glyph:"[#]",title:"No version history",hint:"Saving a change records a new version."}))}function GZ({code:e,colors:t}){let r=()=>{navigator.clipboard.writeText(e)};return Z.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},Z.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},Z.default.createElement("p",{style:{fontSize:"13px",color:t.textSecondary,margin:0}},"Generated Ruby code for this agent."),Z.default.createElement(Ll,{variant:"secondary",size:"sm",colors:t,onClick:r},"Copy")),Z.default.createElement("pre",{style:{padding:"16px",background:"#111827",color:"#e5e7eb",borderRadius:"10px",overflowX:"auto",fontFamily:_e.mono,fontSize:"12px",lineHeight:1.6,margin:0}},Z.default.createElement("code",null,e||"Loading...")))}function XZ({colors:e}){return Z.default.createElement("div",{style:{background:e.cardBg,border:`1px solid ${e.cardBorder}`,borderRadius:"12px",padding:"20px"}},Z.default.createElement(WP,{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 WP({colors:e,glyph:t,title:r,hint:n}){return Z.default.createElement("div",{style:{textAlign:"center",padding:"40px 20px"}},Z.default.createElement("div",{style:{fontFamily:_e.mono,fontSize:"20px",color:e.textMuted}},t),Z.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:e.textPrimary,marginTop:"10px"}},r),Z.default.createElement("p",{style:{fontSize:"13px",color:e.textMuted,margin:"6px auto 0",maxWidth:"420px"}},n))}var ee=J(R());async function tc(){let e=window.ACTIVE_AGENT_DASHBOARD?.meta?.upgradeUrl;if(!e)throw new Error("This dashboard has no billing configured.");window.location.href=e}var ZZ={llm:{role:"assistant",label:"LLM"},tool:{role:"tool",label:"Tool"},agent:{role:"developer",label:"Agent"},mcp:{role:"system",label:"MCP"}},QZ=e=>{let t=ZZ[e]||{role:e,label:e};return{...br(t.role,!1),label:t.label}};function MS({agent:e,onBack:t}){let[r,n]=(0,ee.useState)(""),a=["ask",...(e.action_prompts||[]).map(y=>y.name).filter(Boolean)],[i,o]=(0,ee.useState)("ask"),[l,s]=(0,ee.useState)([]),[u,c]=(0,ee.useState)(!1),[d,f]=(0,ee.useState)(null),[p,v]=(0,ee.useState)(null),[g,b]=(0,ee.useState)({}),[m,h]=(0,ee.useState)(!1),[x,w]=(0,ee.useState)(null),E=(0,ee.useRef)(null);(0,ee.useEffect)(()=>{C()},[e.id]),(0,ee.useEffect)(()=>{E.current&&(E.current.scrollTop=E.current.scrollHeight)},[d?.output]);let C=async()=>{try{let N=await(await fetch(`/api/agents/${e.id}/runs?per_page=10`)).json();s(N.runs)}catch(y){console.error("Failed to load runs:",y)}},T=1200,_=600*1e3,I=async()=>{if(!(!r.trim()||u)){c(!0),f({status:"pending",input_prompt:r,output:"",logs:[],started_at:new Date().toISOString()});try{let y=await fetch(`/api/agents/${e.id}/execute`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:r,action_name:i})}),N=await y.json();if(y.status===402&&N.upgrade_required){v(N.usage),f(k=>({...k,status:"failed",error_message:N.message||"Plan limit reached"}));return}if(!y.ok)throw new Error(N.error||"Run failed");let O=N.run.id,M=Date.now(),A=async()=>{try{let k=await fetch(`/api/runs/${O}`);if(k.ok){let V=await k.json();if(f(V.run),!["pending","running"].includes(V.run.status)){c(!1),C();return}}}catch{}Date.now()-M<_?setTimeout(A,T):c(!1)};A()}catch(y){f(N=>({...N,status:"failed",error_message:y.message})),c(!1)}}},z=y=>{let N=new Map;return(y?.logs||[]).filter(O=>O.eid).forEach(O=>{let M=N.get(O.eid)||{eid:O.eid};O.status==="started"?Object.assign(M,O,{input:O.detail,output:M.output}):Object.assign(M,O,{input:M.input,output:O.detail}),N.set(O.eid,M)}),[...N.values()]},B=y=>{if(!y)return null;try{return JSON.stringify(JSON.parse(y),null,2)}catch{return y}},$=y=>{y.key==="Enter"&&(y.metaKey||y.ctrlKey)&&I()},X=y=>{switch(y){case"complete":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"pending":return"text-yellow-600 bg-yellow-100";default:return"text-gray-600 bg-gray-100"}},H=y=>y?y<1e3?`${y}ms`:`${(y/1e3).toFixed(2)}s`:"-",q=async()=>{h(!0),w(null);try{await tc({planSlug:"pro"})}catch(y){w(y.message),h(!1)}};return ee.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},ee.default.createElement("div",{className:"col-span-2 flex flex-col space-y-4"},p&&ee.default.createElement("div",{className:"bg-amber-50 border border-amber-200 rounded-xl p-4 flex items-center justify-between gap-4"},ee.default.createElement("div",null,ee.default.createElement("p",{className:"font-medium text-amber-900"},"Monthly run limit reached"),ee.default.createElement("p",{className:"text-sm text-amber-700 mt-0.5"},"You've used ",p.runs_used," of ",p.runs_limit," runs on the"," ",p.plan||"free"," plan. Upgrade to keep running agents."),x&&ee.default.createElement("p",{className:"text-sm text-red-600 mt-1"},x)),ee.default.createElement("div",{className:"flex items-center gap-2 flex-shrink-0"},ee.default.createElement("a",{href:"/pricing",className:"px-4 py-2 text-sm text-amber-800 hover:text-amber-900"},"See plans"),ee.default.createElement("button",{onClick:q,disabled:m,className:"px-4 py-2 text-sm bg-amber-500 text-white rounded-lg hover:bg-amber-600 transition-colors disabled:opacity-50"},m?"Redirecting\u2026":"Upgrade to Pro"))),ee.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},ee.default.createElement("div",{className:"flex items-start space-x-4"},ee.default.createElement("div",{className:"flex-shrink-0"},ee.default.createElement(wt,{size:50})),ee.default.createElement("div",{className:"flex-1"},ee.default.createElement("textarea",{value:r,onChange:y=>n(y.target.value),onKeyDown:$,placeholder:"Enter your prompt here... (Cmd+Enter to run)",rows:4,disabled:u,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent resize-none"}),ee.default.createElement("div",{className:"flex items-center justify-between mt-3"},ee.default.createElement("div",{className:"flex items-center gap-3"},a.length>1&&ee.default.createElement("select",{value:i,onChange:y=>o(y.target.value),disabled:u,className:"px-2 py-1 border border-gray-300 rounded-lg text-sm font-mono text-gray-700 focus:ring-2 focus:ring-red-500",title:"Agent action to invoke"},a.map(y=>ee.default.createElement("option",{key:y,value:y},"#",y))),ee.default.createElement("span",{className:"text-xs text-gray-400"},"Press ",ee.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"\u2318")," + ",ee.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Enter")," to run")),ee.default.createElement("button",{onClick:I,disabled:!r.trim()||u,className:`flex items-center space-x-2 px-6 py-2 rounded-lg transition-colors ${r.trim()&&!u?"bg-emerald-500 text-white hover:bg-emerald-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},u?ee.default.createElement(ee.default.Fragment,null,ee.default.createElement("span",{className:"animate-spin",style:{fontFamily:_e.mono}},"[~]"),ee.default.createElement("span",null,"Running...")):ee.default.createElement(ee.default.Fragment,null,ee.default.createElement("span",{style:{fontFamily:_e.mono}},"[>]"),ee.default.createElement("span",null,"Run"))))))),ee.default.createElement("div",{className:"flex-1 bg-white rounded-xl border border-gray-200 flex flex-col overflow-hidden"},ee.default.createElement("div",{className:"px-4 py-3 border-b border-gray-200 flex items-center justify-between"},ee.default.createElement("h3",{className:"font-medium text-gray-900"},"Output"),d&&ee.default.createElement("div",{className:"flex items-center space-x-3 text-sm"},ee.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${X(d.status)}`},d.status),d.output_metadata?.model&&ee.default.createElement("span",{className:"px-2 py-0.5 rounded bg-indigo-50 text-indigo-700 text-xs font-mono",title:"Model that generated this run"},d.output_metadata.provider,"/",d.output_metadata.model),d.duration_ms&&ee.default.createElement("span",{className:"text-gray-400"},H(d.duration_ms)),d.total_tokens&&ee.default.createElement("span",{className:"text-gray-400"},d.total_tokens," tokens"),d.trace_id&&ee.default.createElement("a",{href:Je(`/traces?trace=${d.trace_id}`),className:"text-gray-400 hover:text-red-500 font-mono text-xs",title:`${d.trace_id} \u2014 open in Traces`},"trace:",d.trace_id.slice(0,8)," \u2192"))),ee.default.createElement("div",{ref:E,className:"flex-1 p-4 overflow-auto bg-gray-50 font-mono text-sm"},d?ee.default.createElement(ee.default.Fragment,null,z(d).length>0&&ee.default.createElement("div",{className:"mb-4 space-y-2"},z(d).map(y=>{let N=!!g[y.eid],O=!!(y.input||y.output),M=QZ(y.kind),A=xS(!1);return ee.default.createElement("div",{key:y.eid},ee.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${O?"cursor-pointer hover:bg-black/5":""}`,onClick:O?()=>b(k=>({...k,[y.eid]:!k[y.eid]})):void 0,title:O?"Click to inspect input/output":void 0,style:N?{background:"rgba(0,0,0,0.03)"}:{}},ee.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium flex-shrink-0 mt-0.5",style:{background:M.background,color:M.color,minWidth:"72px",textAlign:"center"}},M.label),ee.default.createElement("div",{className:"min-w-0 flex-1"},ee.default.createElement("div",{className:"text-sm break-words text-gray-800"},y.label,y.output&&!N&&ee.default.createElement("span",{className:"text-gray-400"}," \u201C",y.output.slice(0,160),y.output.length>160?"\u2026":"","\u201D")),ee.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap text-gray-400"},y.status==="started"?ee.default.createElement("span",{className:"text-blue-500 animate-pulse"},"running\u2026"):ee.default.createElement("span",{className:y.status==="error"?"text-red-500":""},y.status==="error"?"failed":"\u2713",y.duration_ms!=null&&` ${H(y.duration_ms)}`),y.at&&ee.default.createElement("span",null,new Date(y.at).toLocaleTimeString()))),O&&ee.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${N?"rotate-180":""} text-gray-400`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ee.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),N&&ee.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:M.color+"55"}},y.input&&ee.default.createElement("div",null,ee.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1 text-gray-400"},"Input"),ee.default.createElement("pre",{style:{...A,whiteSpace:"pre-wrap",maxHeight:"160px",overflowY:"auto"}},B(y.input))),y.output&&ee.default.createElement("div",null,ee.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1 text-gray-400"},y.status==="error"?"Error":"Result"),ee.default.createElement("pre",{style:{...A,whiteSpace:"pre-wrap",maxHeight:"224px",overflowY:"auto",...y.status==="error"?{background:"#fef2f2",color:"#b91c1c"}:{}}},B(y.output)))))})),["pending","running"].includes(d.status)?ee.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},ee.default.createElement("span",{className:"animate-pulse"},"\u25CF"),ee.default.createElement("span",null,z(d).length>0?"Working\u2026":"Starting run\u2026")):d.error_message?ee.default.createElement("div",{className:"text-red-600"},ee.default.createElement("div",{className:"font-semibold mb-2"},"Error:"),ee.default.createElement("pre",{className:"whitespace-pre-wrap"},d.error_message)):ee.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},d.output||"No output")):ee.default.createElement("div",{className:"text-gray-400 text-center py-12"},"Enter a prompt and click Run to test your agent")))),ee.default.createElement("div",{className:"space-y-4"},ee.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},ee.default.createElement("div",{className:"flex items-center space-x-3 mb-4"},ee.default.createElement(wt,{size:60}),ee.default.createElement("div",null,ee.default.createElement("h3",{className:"font-semibold text-gray-900"},e.name),ee.default.createElement("p",{className:"text-sm text-gray-500"},e.provider," / ",e.model))),ee.default.createElement("button",{onClick:t,className:"w-full px-4 py-2 border border-gray-300 rounded-lg text-gray-700 hover:bg-gray-50 transition-colors"},"\u2190 Back to Editor")),ee.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},ee.default.createElement("h4",{className:"font-medium text-gray-900 mb-3"},"Configuration"),ee.default.createElement("dl",{className:"space-y-2 text-sm"},ee.default.createElement("div",{className:"flex justify-between"},ee.default.createElement("dt",{className:"text-gray-500"},"Temperature"),ee.default.createElement("dd",{className:"text-gray-900"},e.modelConfig?.temperature||e.model_config?.temperature||.7)),ee.default.createElement("div",{className:"flex justify-between"},ee.default.createElement("dt",{className:"text-gray-500"},"Tools"),ee.default.createElement("dd",{className:"text-gray-900"},e.tools?.length||0)),ee.default.createElement("div",{className:"flex justify-between"},ee.default.createElement("dt",{className:"text-gray-500"},"Status"),ee.default.createElement("dd",{className:`px-2 py-0.5 rounded text-xs ${e.status==="active"?"bg-green-100 text-green-700":"bg-gray-100 text-gray-600"}`},e.status))),e.instructions&&ee.default.createElement("div",{className:"mt-3 pt-3 border-t border-gray-100"},ee.default.createElement("div",{className:"text-xs text-gray-500 mb-1.5"},"System Instructions"),ee.default.createElement("p",{className:"text-xs text-gray-700 whitespace-pre-wrap max-h-44 overflow-y-auto font-mono leading-relaxed"},e.instructions))),ee.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},ee.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},ee.default.createElement("h4",{className:"font-medium text-gray-900"},"Recent Runs")),ee.default.createElement("div",{className:"max-h-64 overflow-auto"},l.length>0?ee.default.createElement("div",{className:"divide-y divide-gray-100"},l.map(y=>ee.default.createElement("div",{key:y.id,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>f(y)},ee.default.createElement("div",{className:"flex items-center justify-between mb-1"},ee.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${X(y.status)}`},y.status),ee.default.createElement("span",{className:"text-xs text-gray-400"},H(y.duration_ms))),ee.default.createElement("p",{className:"text-sm text-gray-600 truncate"},y.input_preview||y.input_prompt?.substring(0,50)),ee.default.createElement("p",{className:"text-xs text-gray-400 mt-1 flex items-center gap-2 flex-wrap"},y.model&&ee.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},y.model),ee.default.createElement("span",null,new Date(y.created_at).toLocaleString()))))):ee.default.createElement("div",{className:"px-4 py-8 text-center text-gray-400 text-sm"},"No runs yet"))),ee.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},ee.default.createElement("h4",{className:"font-medium text-gray-900 mb-3"},"Example Prompts"),ee.default.createElement("div",{className:"space-y-2"},["Hello, what can you help me with?","List the files in the current directory","Explain how this code works"].map((y,N)=>ee.default.createElement("button",{key:N,onClick:()=>n(y),className:"w-full text-left px-3 py-2 text-sm text-gray-600 hover:bg-gray-50 rounded-lg transition-colors border border-gray-200"},y))))))}var fe=J(R()),JZ=[{value:7,label:"7 days"},{value:14,label:"14 days"},{value:30,label:"30 days"},{value:90,label:"90 days"}];function DS({onSelectAgent:e}){let[t,r]=(0,fe.useState)(null),[n,a]=(0,fe.useState)(!0),[i,o]=(0,fe.useState)(30);(0,fe.useEffect)(()=>{l()},[i]);let l=async()=>{a(!0);try{let p=await(await fetch(`/api/analytics?days=${i}`)).json();r(p)}catch(f){console.error("Failed to load analytics:",f)}finally{a(!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 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"}));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 fe.default.createElement("div",{className:"space-y-6"},fe.default.createElement("div",{className:"flex items-center justify-between"},fe.default.createElement("div",null,fe.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Analytics Dashboard"),fe.default.createElement("p",{className:"text-sm text-gray-500"},"Overview of all your agents' performance")),fe.default.createElement("select",{value:i,onChange:f=>o(Number(f.target.value)),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},JZ.map(f=>fe.default.createElement("option",{key:f.value,value:f.value},"Last ",f.label)))),fe.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-5 gap-4"},fe.default.createElement(Lf,{title:"Total Agents",value:t?.summary?.total_agents||0,subtitle:`${t?.summary?.active_agents||0} active`,color:"rose"}),fe.default.createElement(Lf,{title:"Total Runs",value:t?.summary?.total_runs||0,subtitle:`${t?.period_days} day period`,color:"blue"}),fe.default.createElement(Lf,{title:"Success Rate",value:`${t?.summary?.success_rate||0}%`,subtitle:`${t?.summary?.completed_runs||0} completed`,color:"green"}),fe.default.createElement(Lf,{title:"Avg Duration",value:u(t?.summary?.avg_duration_ms),subtitle:"per run",color:"purple"}),fe.default.createElement(Lf,{title:"Total Tokens",value:s(t?.summary?.total_tokens),subtitle:`${s(t?.summary?.avg_tokens_per_run)}/run avg`,color:"amber"})),fe.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6"},fe.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},fe.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Runs Over Time"),t?.charts?.runs_by_day?.length>0?fe.default.createElement("div",{className:"h-48"},fe.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.runs_by_day.map((f,p)=>fe.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},fe.default.createElement("div",{className:"relative w-full"},fe.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"}}),fe.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"))))),fe.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},fe.default.createElement("span",null,t.charts.runs_by_day[0]?.date&&new Date(t.charts.runs_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),fe.default.createElement("span",null,t.charts.runs_by_day[t.charts.runs_by_day.length-1]?.date&&new Date(t.charts.runs_by_day[t.charts.runs_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):fe.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No runs in this period")),fe.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},fe.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage Over Time"),t?.charts?.tokens_by_day?.length>0?fe.default.createElement("div",{className:"h-48"},fe.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.tokens_by_day.map((f,p)=>fe.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},fe.default.createElement("div",{className:"relative w-full"},fe.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"}}),fe.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"))))),fe.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},fe.default.createElement("span",null,t.charts.tokens_by_day[0]?.date&&new Date(t.charts.tokens_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),fe.default.createElement("span",null,t.charts.tokens_by_day[t.charts.tokens_by_day.length-1]?.date&&new Date(t.charts.tokens_by_day[t.charts.tokens_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):fe.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No token usage in this period"))),fe.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6"},fe.default.createElement("div",{className:"lg:col-span-2 bg-white rounded-xl border border-gray-200 p-6"},fe.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Top Agents"),t?.top_agents?.length>0?fe.default.createElement("div",{className:"space-y-3"},t.top_agents.map((f,p)=>fe.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"},fe.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),fe.default.createElement("div",{className:"flex-1 min-w-0"},fe.default.createElement("p",{className:"font-medium text-gray-900 truncate"},f.name),fe.default.createElement("p",{className:"text-sm text-gray-500"},f.run_count," runs")),fe.default.createElement("div",{className:"text-right"},fe.default.createElement("p",{className:"font-medium text-gray-900"},s(f.total_tokens)),fe.default.createElement("p",{className:"text-xs text-gray-500"},"tokens"))))):fe.default.createElement("div",{className:"py-8 text-center text-gray-400"},"No agent activity yet")),fe.default.createElement("div",{className:"space-y-6"},fe.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},fe.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"By Provider"),Object.keys(t?.provider_breakdown||{}).length>0?fe.default.createElement("div",{className:"space-y-3"},Object.entries(t.provider_breakdown).map(([f,p])=>{let v=t?.summary?.total_runs||1,g=(p/v*100).toFixed(1);return fe.default.createElement("div",{key:f},fe.default.createElement("div",{className:"flex justify-between text-sm mb-1"},fe.default.createElement("span",{className:"capitalize text-gray-600"},f),fe.default.createElement("span",{className:"text-gray-900 font-medium"},p)),fe.default.createElement("div",{className:"h-2 bg-gray-100 rounded-full overflow-hidden"},fe.default.createElement("div",{className:"h-full bg-blue-500 rounded-full",style:{width:`${g}%`}})))})):fe.default.createElement("div",{className:"py-4 text-center text-gray-400 text-sm"},"No data")),fe.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},fe.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage"),fe.default.createElement("div",{className:"space-y-4"},fe.default.createElement("div",{className:"flex justify-between items-center"},fe.default.createElement("span",{className:"text-sm text-gray-500"},"Input Tokens"),fe.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_input_tokens))),fe.default.createElement("div",{className:"flex justify-between items-center"},fe.default.createElement("span",{className:"text-sm text-gray-500"},"Output Tokens"),fe.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_output_tokens))),fe.default.createElement("div",{className:"pt-2 border-t border-gray-100"},fe.default.createElement("div",{className:"flex justify-between items-center"},fe.default.createElement("span",{className:"text-sm font-medium text-gray-700"},"Total"),fe.default.createElement("span",{className:"font-bold text-gray-900"},s(t?.summary?.total_tokens)))))))))}function Lf({title:e,value:t,subtitle:r,color:n}){return fe.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`},fe.default.createElement("p",{className:"text-sm text-gray-500"},e),fe.default.createElement("p",{className:"text-2xl font-bold text-gray-900 mt-1"},t),r&&fe.default.createElement("p",{className:"text-xs text-gray-400 mt-1"},r))}var U=J(R());function PS({agent:e,onBack:t}){let{timeWindow:r}=ka(),[n,a]=(0,U.useState)([]),[i,o]=(0,U.useState)([]),[l,s]=(0,U.useState)(null),[u,c]=(0,U.useState)(null),[d,f]=(0,U.useState)([]),[p,v]=(0,U.useState)("run"),[g,b]=(0,U.useState)(!1),[m,h]=(0,U.useState)(!1),x=(0,U.useRef)(!1),w=(0,U.useRef)(!1),[E,C]=(0,U.useState)("recent"),[T,_]=(0,U.useState)({}),[I,z]=(0,U.useState)(!0),[B,$]=(0,U.useState)(1),[X,H]=(0,U.useState)(!0),[q,y]=(0,U.useState)(""),[N,O]=(0,U.useState)(""),[M,A]=(0,U.useState)("recent"),k=(0,U.useRef)(null),V=Je(`/agents/${e.id}/interactions`);(0,U.useEffect)(()=>{G()},[e.id,B,q,N,M,r.minutes]),(0,U.useEffect)(()=>{$(1)},[r.minutes]),(0,U.useEffect)(()=>{fetch(`/api/interactions?agent_id=${e.id}`).then(j=>j.json()).then(j=>o(j.interactions||[])).catch(()=>{}).finally(()=>h(!0))},[e.id]),(0,U.useEffect)(()=>{let j=()=>{let he=window.location.pathname,ge=he.match(/\/interactions\/runs\/(\d+)/),xe=he.match(/\/interactions\/sessions\/(\d+)/);if(ge)v("run"),c(null),se(parseInt(ge[1],10),{updateUrl:!1});else if(xe)v("all"),c({id:parseInt(xe[1],10)});else if(he.endsWith("/interactions/sessions")||he.endsWith("/interactions/all"))he.endsWith("/all")&&window.history.replaceState({},"",he.replace(/\/all$/,"/sessions")),v("all"),c(null);else{x.current=!1,s(null),c(null),f([]);return}x.current=!0};return j(),window.addEventListener("popstate",j),()=>window.removeEventListener("popstate",j)},[e.id]),(0,U.useEffect)(()=>{x.current||w.current||!g||!m||v(n.length===0&&i.length>0?"all":"run")},[g,m,n.length,i.length]);let G=async()=>{z(!0);try{let j=new URLSearchParams({page:B.toString(),per_page:"20",minutes:String(r.minutes)});q&&j.append("status",q),N&&j.append("source",N),M!=="recent"&&j.append("sort",M);let ge=await(await fetch(`/api/agents/${e.id}/runs?${j}`)).json();a(B===1?ge.runs:xe=>[...xe,...ge.runs]),H(ge.runs.length===20)}catch(j){console.error("Failed to load runs:",j)}finally{z(!1),b(!0)}},Q=j=>{window.location.pathname!==j&&window.history.pushState({},"",j)},se=async(j,{updateUrl:he=!0}={})=>{try{let xe=await(await fetch(`/api/runs/${j}`)).json();s(xe.run),f(xe.messages||[]),v("run"),c(null),he&&Q(`${V}/runs/${j}`)}catch(ge){console.error("Failed to load run details:",ge)}},ue=j=>{if(j.source==="reported"){let he=j.trace_id||String(j.id).replace(/^trace-/,"");window.history.pushState(window.history.state,"",Je(`/traces/${he}`)),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Je(`/traces/${he}`)}}));return}se(j.record_id||j.id)},pe=()=>{s(null),c(null),f([]),v("run"),Q(V)},Oe=j=>{v("all"),j?(c({id:j.id,name:j.display_name}),Q(`${V}/sessions/${j.id}`)):(c(null),Q(`${V}/sessions`))},ie=j=>{w.current=!0,v(j),Q(j==="all"?u?`${V}/sessions/${u.id}`:`${V}/sessions`:l?`${V}/runs/${l.id}`:V)},Ne=u?u.name||i.find(j=>j.id===u.id)?.display_name||`Session #${u.id}`:null,F=()=>{let j=new Map;n.forEach(xe=>{let Me=`${xe.model||"unknown"}|${xe.instructions_digest||"none"}`;j.has(Me)||j.set(Me,{key:Me,model:xe.model,instructionsDigest:xe.instructions_digest,instructionsVersion:xe.instructions_version,instructionsCodename:xe.instructions_codename,instructionsPreview:xe.instructions_preview,runs:[]}),j.get(Me).runs.push(xe)});let he=[...j.values()].map(xe=>({...xe,count:xe.runs.length,completed:xe.runs.filter(Me=>Me.status==="complete").length,failed:xe.runs.filter(Me=>Me.status==="failed").length,totalTokens:xe.runs.reduce((Me,Pr)=>Me+(Pr.tokens||0),0),avgTokens:xe.runs.reduce((Me,Pr)=>Me+(Pr.tokens||0),0)/xe.runs.length,avgDuration:xe.runs.reduce((Me,Pr)=>Me+(Pr.duration_ms||0),0)/xe.runs.length,latest:xe.runs[0],sortedRuns:[...xe.runs].sort((Me,Pr)=>(Pr.duration_ms||0)-(Me.duration_ms||0))}));he.sort((xe,Me)=>E==="longest"?Me.avgDuration-xe.avgDuration:new Date(Me.latest.created_at)-new Date(xe.latest.created_at));let ge={runs:n.length,completed:n.filter(xe=>xe.status==="complete").length,tokens:n.reduce((xe,Me)=>xe+(Me.tokens||0),0),avgDuration:n.length?n.reduce((xe,Me)=>xe+(Me.duration_ms||0),0)/n.length:0,models:[...new Set(n.map(xe=>xe.model).filter(Boolean))]};return{cohorts:he,totals:ge}},Y=j=>{switch(j){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"}},S=j=>j?j<1e3?`${j}ms`:j<6e4?`${(j/1e3).toFixed(1)}s`:`${Math.floor(j/6e4)}m ${Math.floor(j%6e4/1e3)}s`:"-",P=j=>j==null?"\u2014":j===0?"$0":j<.01?`$${j.toFixed(4)}`:`$${j.toFixed(2)}`,K=j=>{let he=new Date(j),xe=new Date-he,Me=Math.floor(xe/6e4),Pr=Math.floor(xe/36e5),Vf=Math.floor(xe/864e5);return Me<1?"Just now":Me<60?`${Me}m ago`:Pr<24?`${Pr}h ago`:Vf<7?`${Vf}d ago`:he.toLocaleDateString()};return U.default.createElement("div",{className:"flex h-full"},U.default.createElement("div",{className:"w-80 border-r border-gray-200 flex flex-col bg-white"},U.default.createElement("div",{className:"p-4 border-b border-gray-200"},U.default.createElement("div",{className:"flex items-center space-x-3 mb-4"},U.default.createElement("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 transition-colors"},U.default.createElement("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},U.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"}))),U.default.createElement("div",null,U.default.createElement("h2",{className:"font-semibold text-gray-900"},"Agent Interactions"),U.default.createElement("p",{className:"text-sm text-gray-500"},e.name))),U.default.createElement("div",{className:"mb-2"},U.default.createElement(Ta,{compact:!0})),U.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(j=>U.default.createElement("button",{key:j.value||"all",onClick:()=>{O(j.value),$(1)},className:`flex-1 px-2 py-1 rounded-md transition-colors ${N===j.value?"bg-white shadow text-gray-900":"text-gray-600"}`,title:j.value==="dashboard"?"Executions started from this dashboard":j.value==="reported"?"Executions reported by your app via telemetry":"Every execution, however it started"},j.label))),U.default.createElement("select",{value:q,onChange:j=>{y(j.target.value),$(1)},className:"w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},U.default.createElement("option",{value:""},"All statuses"),U.default.createElement("option",{value:"complete"},"Completed"),U.default.createElement("option",{value:"failed"},"Failed"),U.default.createElement("option",{value:"running"},"Running"),U.default.createElement("option",{value:"cancelled"},"Cancelled")),U.default.createElement("select",{value:M,onChange:j=>{A(j.target.value),$(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"},U.default.createElement("option",{value:"recent"},"Most recent"),U.default.createElement("option",{value:"longest"},"Longest running"),U.default.createElement("option",{value:"cost"},"Highest cost"),U.default.createElement("option",{value:"tokens"},"Most tokens"))),U.default.createElement("div",{className:"flex-1 overflow-auto"},I&&n.length===0?U.default.createElement("div",{className:"flex items-center justify-center h-32"},U.default.createElement("div",{className:"animate-spin rounded-full h-6 w-6 border-b-2 border-red-500"})):n.length>0?U.default.createElement(U.default.Fragment,null,n.map(j=>{let he=j.source==="reported";return U.default.createElement("div",{key:j.id,onClick:()=>ue(j),title:he?"Reported by your app \u2014 opens its trace":"Started from this dashboard",className:`p-4 border-b border-gray-100 cursor-pointer transition-colors ${!he&&l?.id===j.id?"bg-red-50 border-l-4 border-l-red-500":"hover:bg-gray-50"}`},U.default.createElement("div",{className:"flex items-center justify-between mb-2 gap-2"},U.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${Y(j.status)}`},j.status),U.default.createElement("div",{className:"flex items-center gap-2"},U.default.createElement("span",{className:`px-1.5 py-0.5 rounded text-[10px] uppercase tracking-wide ${he?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`},he?"reported":"dashboard"),U.default.createElement("span",{className:"text-xs text-gray-400"},K(j.created_at||j.occurred_at)))),U.default.createElement("p",{className:"text-sm text-gray-700 truncate"},j.input_preview||j.input_prompt?.substring(0,60)||(he?`${j.action_name||"execution"} \xB7 trace ${String(j.trace_id||"").slice(0,8)}`:"No input")),U.default.createElement("div",{className:"flex items-center space-x-3 mt-2 text-xs text-gray-400 flex-wrap gap-y-1"},j.model&&U.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},j.model),U.default.createElement("span",{className:M==="longest"?"text-gray-700 font-medium":void 0},S(j.duration_ms)),!!j.tokens&&U.default.createElement("span",{className:M==="tokens"?"text-gray-700 font-medium":void 0},j.tokens," tokens"),j.cost!=null&&U.default.createElement("span",{className:M==="cost"?"text-gray-700 font-medium":void 0,title:"Estimated from token counts at this model's published rates"},P(j.cost))))}),X&&U.default.createElement("button",{onClick:()=>$(j=>j+1),disabled:I,className:"w-full py-3 text-sm text-red-600 hover:bg-gray-50 transition-colors"},I?"Loading...":"Load More")):U.default.createElement("div",{className:"p-8 text-center text-gray-400"},U.default.createElement("svg",{className:"w-12 h-12 mx-auto mb-3 text-gray-300",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},U.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"})),U.default.createElement("p",null,"No conversations yet")))),U.default.createElement("div",{className:"flex-1 flex flex-col bg-gray-50"},U.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"},U.default.createElement("button",{onClick:t,className:"hover:text-gray-900 hover:underline transition-colors"},e.name),U.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"||l?U.default.createElement(U.default.Fragment,null,U.default.createElement("button",{onClick:pe,className:"hover:text-gray-900 hover:underline transition-colors"},"Interactions"),U.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"?u?U.default.createElement(U.default.Fragment,null,U.default.createElement("button",{onClick:()=>Oe(null),className:"hover:text-gray-900 hover:underline transition-colors"},"Sessions"),U.default.createElement("span",{className:"text-gray-300"},"/"),U.default.createElement("span",{className:"text-gray-900 font-medium"},Ne)):U.default.createElement("span",{className:"text-gray-900 font-medium"},"Sessions"):U.default.createElement("span",{className:"text-gray-900 font-medium"},"Run #",l.id)):U.default.createElement("span",{className:"text-gray-900 font-medium"},"Interactions")),U.default.createElement("div",{className:"p-3 bg-white border-b border-gray-200 flex items-center justify-between"},U.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},U.default.createElement("button",{onClick:()=>ie("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"),U.default.createElement("button",{onClick:()=>ie("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&&U.default.createElement("span",{className:`px-3 py-1 rounded-full text-sm font-medium ${Y(l.status)}`},l.status)),p==="all"?U.default.createElement("div",{className:"flex-1 overflow-auto p-4 space-y-4"},(()=>{let{totals:j}=F();return U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4 space-y-3"},U.default.createElement("div",{className:"flex items-center gap-3"},U.default.createElement(wt,{size:40}),U.default.createElement("div",null,U.default.createElement("h3",{className:"font-semibold text-gray-900"},e.name),U.default.createElement("p",{className:"text-xs text-gray-500"},u?`${Ne} \u2014 one persisted interaction stream`:"Sessions group this agent\u2019s runs into persisted interaction streams"))),U.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},U.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},U.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),U.default.createElement("p",{className:"text-lg font-bold text-gray-900"},j.runs)),U.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},U.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),U.default.createElement("p",{className:"text-lg font-bold text-gray-900"},j.runs?Math.round(j.completed/j.runs*100):0,"%")),U.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},U.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),U.default.createElement("p",{className:"text-lg font-bold text-gray-900"},S(Math.round(j.avgDuration)))),U.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},U.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),U.default.createElement("p",{className:"text-lg font-bold text-gray-900"},j.tokens.toLocaleString()))))})(),U.default.createElement(Si,{agentId:e.id,embedded:!0,selectedSessionId:u?.id??null,onSelectSession:Oe})):l?U.default.createElement(U.default.Fragment,null,U.default.createElement("div",{className:"p-4 bg-white border-b border-gray-200"},U.default.createElement("div",{className:"flex items-center space-x-3"},U.default.createElement(wt,{size:40}),U.default.createElement("div",null,U.default.createElement("h3",{className:"font-medium text-gray-900"},e.name," \u2014 Run #",l.id),U.default.createElement("p",{className:"text-xs text-gray-500"},new Date(l.created_at).toLocaleString())))),U.default.createElement("div",{ref:k,className:"flex-1 overflow-auto p-6"},U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 shadow-sm p-4"},d.length>0?U.default.createElement(Da,{messages:d,darkMode:!1}):U.default.createElement(Da,{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}]}))),U.default.createElement("div",{className:"p-4 bg-white border-t border-gray-200"},U.default.createElement("div",{className:"flex items-center justify-center space-x-8 text-sm text-gray-500"},U.default.createElement("span",null,"Duration: ",S(l.duration_ms)),l.total_tokens&&U.default.createElement("span",null,"Tokens: ",l.total_tokens),l.input_tokens&&l.output_tokens&&U.default.createElement("span",null,"Input: ",l.input_tokens," / Output: ",l.output_tokens),l.trace_id&&U.default.createElement("a",{href:Je(`/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:j,totals:he}=F();return j.length===0?U.default.createElement("div",{className:"flex-1 flex items-center justify-center"},U.default.createElement("div",{className:"text-center text-gray-400"},U.default.createElement(wt,{size:100}),U.default.createElement("p",{className:"mt-4"},"No runs yet \u2014 run the agent to build its report"))):U.default.createElement("div",{className:"flex-1 overflow-auto p-6 space-y-5"},U.default.createElement("div",{className:"flex items-center gap-3"},U.default.createElement(wt,{size:40}),U.default.createElement("div",null,U.default.createElement("h3",{className:"font-semibold text-gray-900"},"Agent Report"),U.default.createElement("p",{className:"text-xs text-gray-500"},"Recent activity for ",e.name," \u2014 select a run for its full interaction"))),U.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},U.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),U.default.createElement("p",{className:"text-xl font-bold text-gray-900"},he.runs)),U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},U.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),U.default.createElement("p",{className:"text-xl font-bold text-gray-900"},he.runs?Math.round(he.completed/he.runs*100):0,"%")),U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},U.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),U.default.createElement("p",{className:"text-xl font-bold text-gray-900"},S(Math.round(he.avgDuration)))),U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},U.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),U.default.createElement("p",{className:"text-xl font-bold text-gray-900"},he.tokens.toLocaleString()))),he.models.length>0&&U.default.createElement("div",{className:"flex items-center gap-2 flex-wrap text-xs"},U.default.createElement("span",{className:"text-gray-500"},"Models used:"),he.models.map(ge=>U.default.createElement("span",{key:ge,className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},ge))),i.length>0&&U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},U.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},U.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Sessions \u2014 grouped interaction streams")),U.default.createElement("div",{className:"divide-y divide-gray-100"},i.map(ge=>U.default.createElement("div",{key:ge.id,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer flex items-center justify-between gap-3",onClick:()=>Oe(ge),title:"Open this session's interaction stream"},U.default.createElement("div",{className:"flex items-center gap-2 min-w-0",title:ge.display_name},U.default.createElement("span",{className:"px-2 py-0.5 text-xs font-medium bg-blue-100 text-blue-700 rounded flex-shrink-0"},"SESSION"),U.default.createElement("span",{className:"text-sm text-gray-900 truncate"},ge.agent?.name||ge.agent_name),ge.action_name&&U.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-purple-50 text-purple-700 font-mono text-xs flex-shrink-0"},"#",ge.action_name)),U.default.createElement("div",{className:"flex items-center gap-3 text-xs text-gray-400 flex-shrink-0"},U.default.createElement("span",null,ge.message_count," messages"),U.default.createElement("span",null,(ge.tokens?.total||0).toLocaleString()," tokens"),U.default.createElement("span",null,K(ge.last_activity_at))))))),U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},U.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100 flex items-center justify-between"},U.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Interactions by instructions \xD7 model"),U.default.createElement("select",{value:E,onChange:ge=>C(ge.target.value),className:"text-xs border border-gray-200 rounded px-2 py-1 text-gray-600"},U.default.createElement("option",{value:"recent"},"Most recent"),U.default.createElement("option",{value:"longest"},"Longest interactions"))),U.default.createElement("div",{className:"divide-y divide-gray-100"},j.map(ge=>U.default.createElement("div",{key:ge.key},U.default.createElement("div",{className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>_(xe=>({...xe,[ge.key]:!xe[ge.key]})),title:"Show this configuration's runs"},U.default.createElement("div",{className:"flex items-center gap-2 flex-wrap"},U.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono text-xs"},ge.model||"unknown model"),U.default.createElement("span",{className:"text-xs text-gray-400 font-mono",title:ge.instructionsDigest?`sha:${ge.instructionsDigest}`:void 0},"instructions"," ",ge.instructionsDigest?[ge.instructionsVersion,ge.instructionsCodename||ge.instructionsDigest].filter(Boolean).join(" \xB7 "):"n/a")),ge.instructionsPreview&&U.default.createElement("p",{className:"text-xs text-gray-500 mt-1 truncate"},ge.instructionsPreview),U.default.createElement("div",{className:"flex items-center gap-3 mt-1.5 text-xs text-gray-400 flex-wrap gap-y-1"},U.default.createElement("span",null,ge.count," run",ge.count>1?"s":""),U.default.createElement("span",{className:ge.failed>0?"text-red-500":"text-green-600"},ge.count?Math.round(ge.completed/ge.count*100):0,"% success"),U.default.createElement("span",null,"avg ",S(Math.round(ge.avgDuration))),U.default.createElement("span",null,"avg ",Math.round(ge.avgTokens).toLocaleString()," tokens"),U.default.createElement("span",null,"last ",K(ge.latest.created_at)))),T[ge.key]&&U.default.createElement("div",{className:"bg-gray-50 divide-y divide-gray-100 border-t border-gray-100"},ge.sortedRuns.map(xe=>U.default.createElement("div",{key:xe.id,className:"px-6 py-2 hover:bg-gray-100 cursor-pointer",onClick:()=>se(xe.id),title:"Open this run's interaction"},U.default.createElement("p",{className:"text-xs text-gray-700 truncate"},xe.input_preview||"No input"),U.default.createElement("div",{className:"flex items-center gap-3 mt-0.5 text-[11px] text-gray-400"},U.default.createElement("span",{className:xe.status==="failed"?"text-red-500":""},xe.status),U.default.createElement("span",null,S(xe.duration_ms)),xe.tokens&&U.default.createElement("span",null,xe.tokens.toLocaleString()," tokens"),U.default.createElement("span",null,K(xe.created_at)))))))))))})()))}var Ae=J(R());var RZ={productivity:"[+]",development:"<>",research:"[?]",creative:"[*]",data:"[#]",automation:"[>]"};function jS({onUseTemplate:e,onClose:t}){let[r,n]=(0,Ae.useState)([]),[a,i]=(0,Ae.useState)([]),[o,l]=(0,Ae.useState)(""),[s,u]=(0,Ae.useState)(null),[c,d]=(0,Ae.useState)(!0),[f,p]=(0,Ae.useState)(!1);(0,Ae.useEffect)(()=>{v()},[o]);let v=async()=>{d(!0);try{let b=new URLSearchParams;o&&b.append("category",o);let h=await(await fetch(`/api/templates?${b}`)).json();n(h.templates),i(h.categories)}catch(b){console.error("Failed to load templates:",b)}finally{d(!1)}},g=async b=>{p(!0);try{let m=await fetch(`/api/templates/${b.id}/use`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b.name})});if(m.ok){let h=await m.json();e(h.agent)}}catch(m){console.error("Failed to create agent from template:",m)}finally{p(!1)}};return Ae.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},Ae.default.createElement("div",{className:"bg-white rounded-2xl w-full max-w-5xl max-h-[90vh] flex flex-col overflow-hidden"},Ae.default.createElement("div",{className:"px-6 py-4 border-b border-gray-200 flex items-center justify-between"},Ae.default.createElement("div",null,Ae.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Template Library"),Ae.default.createElement("p",{className:"text-sm text-gray-500"},"Start with a pre-configured agent template")),Ae.default.createElement("button",{onClick:t,className:"p-2 text-gray-400 hover:text-gray-600 transition-colors"},Ae.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ae.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))),Ae.default.createElement("div",{className:"flex-1 flex overflow-hidden"},Ae.default.createElement("div",{className:"w-48 border-r border-gray-200 p-4 flex-shrink-0"},Ae.default.createElement("h3",{className:"text-xs font-semibold text-gray-400 uppercase mb-3"},"Categories"),Ae.default.createElement("div",{className:"space-y-1"},Ae.default.createElement("button",{onClick:()=>l(""),className:`w-full text-left px-3 py-2 rounded-lg text-sm transition-colors ${o?"text-gray-600 hover:bg-gray-50":"bg-red-50 text-red-600"}`},"All Templates"),a.map(b=>Ae.default.createElement("button",{key:b,onClick:()=>l(b),className:`w-full text-left px-3 py-2 rounded-lg text-sm flex items-center space-x-2 transition-colors ${o===b?"bg-red-50 text-red-600":"text-gray-600 hover:bg-gray-50"}`},Ae.default.createElement("span",null,RZ[b]||"\u{1F4E6}"),Ae.default.createElement("span",{className:"capitalize"},b))))),Ae.default.createElement("div",{className:"flex-1 p-6 overflow-auto"},c?Ae.default.createElement("div",{className:"flex items-center justify-center h-full"},Ae.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):r.length>0?Ae.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-3 gap-4"},r.map(b=>Ae.default.createElement("div",{key:b.id,onClick:()=>u(b),className:`bg-white rounded-xl border-2 p-4 cursor-pointer transition-all hover:shadow-lg ${s?.id===b.id?"border-red-500 ring-2 ring-red-100":"border-gray-200 hover:border-gray-300"}`},Ae.default.createElement("div",{className:"flex items-start space-x-3"},Ae.default.createElement("div",{className:"flex-shrink-0"},Ae.default.createElement(wt,{size:60})),Ae.default.createElement("div",{className:"flex-1 min-w-0"},Ae.default.createElement("div",{className:"flex items-center space-x-2"},Ae.default.createElement("span",{className:"text-lg"},b.icon),Ae.default.createElement("h3",{className:"font-medium text-gray-900 truncate"},b.name)),Ae.default.createElement("p",{className:"text-xs text-gray-500 mt-1 line-clamp-2"},b.description),Ae.default.createElement("div",{className:"flex items-center space-x-2 mt-2"},Ae.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-gray-100 rounded capitalize"},b.category),b.featured&&Ae.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-yellow-100 text-yellow-700 rounded"},"Featured"))))))):Ae.default.createElement("div",{className:"text-center py-12 text-gray-500"},"No templates found in this category")),s&&Ae.default.createElement("div",{className:"w-80 border-l border-gray-200 p-6 flex-shrink-0 bg-gray-50 overflow-auto"},Ae.default.createElement("div",{className:"flex justify-center mb-4"},Ae.default.createElement(wt,{size:120})),Ae.default.createElement("h3",{className:"text-lg font-semibold text-gray-900 text-center"},s.name),Ae.default.createElement("p",{className:"text-sm text-gray-500 text-center mt-1"},s.description),Ae.default.createElement("div",{className:"mt-6 space-y-4"},Ae.default.createElement("div",null,Ae.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Provider / Model"),Ae.default.createElement("p",{className:"text-sm text-gray-900"},s.provider," / ",s.model)),s.tools?.length>0&&Ae.default.createElement("div",null,Ae.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Tools"),Ae.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},s.tools.map(b=>Ae.default.createElement("span",{key:b,className:"text-xs px-2 py-0.5 bg-red-100 text-red-700 rounded"},b)))),Ae.default.createElement("div",null,Ae.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Usage"),Ae.default.createElement("p",{className:"text-sm text-gray-900"},s.usage_count," agents created"))),Ae.default.createElement("button",{onClick:()=>g(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")))))}var we=J(R());function IS({currentView:e,onNavigate:t,agentCount:r,account:n,user:a,gemVersion:i}){let{darkMode:o}=it(),[l,s]=(0,we.useState)(!1),u=(0,we.useRef)(null);(0,we.useEffect)(()=>{function b(m){u.current&&!u.current.contains(m.target)&&s(!1)}return document.addEventListener("mousedown",b),()=>document.removeEventListener("mousedown",b)},[]);let c=n?.name||"My Workspace",d=a?.name||a?.email?.split("@")[0]||"User",f=[{id:"list",label:"Agents",icon:Rt.nav.agents,badge:r},{id:"builder",label:"New Agent",icon:Rt.nav.newAgent},{id:"sandbox",label:"Run Agents",icon:Rt.nav.demo,highlight:!0}],p=[{id:"traces",label:"Traces",icon:Rt.nav.traces},{id:"interactions",label:"Interactions",icon:Rt.nav.interactions},{id:"metrics",label:"Metrics",icon:Rt.nav.metrics},{id:"evaluations",label:"Evaluations",icon:Rt.nav.evaluations},{id:"replay",label:"Session Replay",icon:Rt.nav.replay}],v=[{id:"organization",label:"Organization",icon:"\u{1F3E2}"},{id:"settings",label:"Settings",icon:"\u2699\uFE0F"}],g=({item:b})=>we.default.createElement("button",{onClick:()=>t(b.id),className:`w-full flex items-center justify-between py-3 rounded-lg text-left transition-colors ${b.indent?"pl-10 pr-4":"px-4"}`,style:{backgroundColor:e===b.id?o?"rgba(239, 68, 68, 0.15)":"#fef2f2":"transparent",color:e===b.id?"#ef4444":o?"#d1d5db":"#374151"},onMouseEnter:m=>{e!==b.id&&(m.currentTarget.style.backgroundColor=o?"#252525":"#f3f4f6")},onMouseLeave:m=>{e!==b.id&&(m.currentTarget.style.backgroundColor="transparent")}},we.default.createElement("div",{className:"flex items-center space-x-3"},we.default.createElement("span",{style:{fontFamily:_e.mono,fontSize:"12px",width:"20px",textAlign:"center"}},b.icon),we.default.createElement("span",{className:"font-medium"},b.label)),b.badge!==void 0&&we.default.createElement("span",{className:"px-2 py-0.5 text-xs rounded-full",style:{backgroundColor:e===b.id?"#fee2e2":o?"#2a2a2a":"#f3f4f6",color:e===b.id?"#ef4444":o?"#d1d5db":"#4b5563"}},b.badge));return we.default.createElement("aside",{className:"w-64 border-r flex flex-col",style:{backgroundColor:o?"#1a1a1a":"#ffffff",borderColor:o?"#2a2a2a":"#e5e7eb"}},we.default.createElement("div",{className:"h-16 flex items-center px-4 border-b relative",style:{borderColor:o?"#2a2a2a":"#e5e7eb"},ref:u},we.default.createElement("button",{onClick:()=>s(!l),className:"w-full flex items-center justify-between px-2 py-2 rounded-lg transition-colors",style:{backgroundColor:l?o?"#252525":"#f3f4f6":"transparent"}},we.default.createElement("div",{className:"flex items-center space-x-3 min-w-0"},we.default.createElement(wt,{size:28}),we.default.createElement("span",{className:`font-semibold truncate ${o?"text-white":"text-gray-900"}`},c)),we.default.createElement("svg",{className:`w-4 h-4 flex-shrink-0 transition-transform ${l?"rotate-180":""}`,style:{color:o?"#9ca3af":"#6b7280"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},we.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),l&&we.default.createElement("div",{className:"absolute left-4 right-4 top-14 rounded-lg shadow-lg border overflow-hidden z-50",style:{backgroundColor:o?"#1a1a1a":"#ffffff",borderColor:o?"#2a2a2a":"#e5e7eb"}},we.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:o?"#2a2a2a":"#e5e7eb"}},we.default.createElement("div",{className:"flex items-center space-x-3"},we.default.createElement(wt,{size:32}),we.default.createElement("div",{className:"min-w-0"},we.default.createElement("div",{className:`font-medium truncate ${o?"text-white":"text-gray-900"}`},c)))),we.default.createElement("div",{className:"py-1"},we.default.createElement("button",{onClick:()=>{t("settings"),s(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${o?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},we.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},we.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"}),we.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})),we.default.createElement("span",null,"Settings")),we.default.createElement("button",{onClick:()=>{t("organization"),s(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${o?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},we.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},we.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"})),we.default.createElement("span",null,"Organization"))),we.default.createElement("div",{className:"border-t py-1",style:{borderColor:o?"#2a2a2a":"#e5e7eb"}},we.default.createElement("div",{className:`px-4 py-2 flex items-center space-x-3 ${o?"text-gray-300":"text-gray-700"}`},we.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},we.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"})),we.default.createElement("span",{className:"text-sm"},d))))),we.default.createElement("nav",{className:"flex-1 px-4 py-4 space-y-1 overflow-y-auto"},we.default.createElement("div",{className:"space-y-1"},f.map(b=>we.default.createElement(g,{key:b.id,item:b}))),we.default.createElement("div",{className:"pt-4"},we.default.createElement("div",{className:"px-4 pb-2"},we.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${o?"text-gray-500":"text-gray-400"}`},"Observability")),we.default.createElement("div",{className:"space-y-1"},p.map(b=>we.default.createElement(g,{key:b.id,item:b})))),we.default.createElement("div",{className:"pt-4"},we.default.createElement("div",{className:"px-4 pb-2"},we.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${o?"text-gray-500":"text-gray-400"}`},"Workspace")),we.default.createElement("div",{className:"space-y-1"},v.map(b=>we.default.createElement(g,{key:b.id,item:b}))))),we.default.createElement("div",{className:"px-4 py-4 border-t",style:{borderColor:o?"#2a2a2a":"#e5e7eb"}},we.default.createElement("div",{className:`text-xs font-semibold uppercase mb-3 ${o?"text-gray-500":"text-gray-400"}`},"Resources"),we.default.createElement("div",{className:"space-y-2"},we.default.createElement("a",{href:"https://docs.activeagents.ai",target:"_blank",rel:"noopener noreferrer",className:`flex items-center space-x-2 text-sm transition-colors ${o?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},we.default.createElement("span",{style:{fontFamily:_e.mono,fontSize:"12px",width:"20px",textAlign:"center"}},Rt.nav.docs),we.default.createElement("span",null,"Documentation")),we.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 ${o?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},we.default.createElement("span",{style:{fontFamily:_e.mono,fontSize:"12px",width:"20px",textAlign:"center"}},Rt.nav.github),we.default.createElement("span",null,"GitHub")))),we.default.createElement("div",{className:"px-6 py-4 border-t",style:{borderColor:o?"#2a2a2a":"#e5e7eb"}},we.default.createElement("div",{className:`text-xs ${o?"text-gray-500":"text-gray-400"}`},"Active Agent ",i?`v${i}`:"")))}var Ye=J(R());function zS({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=it(),[a,i]=(0,Ye.useState)(!1),o=(0,Ye.useRef)(null);(0,Ye.useEffect)(()=>{function c(d){o.current&&!o.current.contains(d.target)&&i(!1)}return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[]);let l=()=>{let c=document.querySelector('meta[name="csrf-token"]')?.content,d=document.createElement("form");d.method="POST",d.action="/session";let f=document.createElement("input");f.type="hidden",f.name="_method",f.value="delete",d.appendChild(f);let p=document.createElement("input");p.type="hidden",p.name="authenticity_token",p.value=c,d.appendChild(p),document.body.appendChild(d),d.submit()},s=e?.name||e?.email?.split("@")[0]||"User",u=s.charAt(0).toUpperCase();return Ye.default.createElement("header",{className:"h-16 border-b flex items-center justify-between px-6",style:{backgroundColor:r?"#1a1a1a":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"}},Ye.default.createElement("div",{className:"flex items-center space-x-4"}),Ye.default.createElement("div",{className:"flex items-center space-x-4"},Ye.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?Ye.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},Ye.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"})):Ye.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},Ye.default.createElement("path",{d:"M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"}))),Ye.default.createElement("div",{className:`flex items-center space-x-2 text-sm ${r?"text-gray-400":"text-gray-500"}`},Ye.default.createElement("span",{className:"w-2 h-2 bg-green-400 rounded-full"}),Ye.default.createElement("span",null,"Connected")),Ye.default.createElement("div",{className:"relative",ref:o},Ye.default.createElement("button",{onClick:()=>i(!a),className:"flex items-center space-x-2 p-1 rounded-lg transition-colors",style:{backgroundColor:a?r?"#252525":"#f3f4f6":"transparent"}},Ye.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},Ye.default.createElement("span",{className:"text-red-600 font-medium text-sm"},u))),a&&Ye.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"}},Ye.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},Ye.default.createElement("div",{className:"flex items-center space-x-3"},Ye.default.createElement("div",{className:"w-10 h-10 bg-red-100 rounded-full flex items-center justify-center"},Ye.default.createElement("span",{className:"text-red-600 font-medium"},u)),Ye.default.createElement("div",null,Ye.default.createElement("div",{className:`font-medium ${r?"text-white":"text-gray-900"}`},s),Ye.default.createElement("div",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},e?.email)))),Ye.default.createElement("div",{className:"py-1"},Ye.default.createElement("button",{onClick:l,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"}`},Ye.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ye.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"})),Ye.default.createElement("span",null,"Sign out")))))))}var ve=J(R());var eQ=6e4,KP=e=>{if(!e||e.length<2)return"";let t=Math.max(...e,1),r=100/(e.length-1);return e.map((n,a)=>`${(a*r).toFixed(1)},${(28-n/t*26+1).toFixed(1)}`).join(" ")},LS=[{value:"popular",label:"Requests",column:"requests"},{value:"tokens",label:"Tokens",column:"tokens"},{value:"cost",label:"Cost",column:"cost"},{value:"longest",label:"Avg Duration",column:"avg_duration_ms"},{value:"errors",label:"Errors",column:"errors"}];function BS(){let{darkMode:e}=it(),[t,r]=(0,ve.useState)(null),[n,a]=(0,ve.useState)(!0),[i,o]=(0,ve.useState)(null),[l,s]=(0,ve.useState)("popular"),u=(0,ve.useCallback)(async()=>{try{let _=await fetch(`/api/metrics?hours=24&sort=${l}`);if(!_.ok)throw new Error(`Request failed (${_.status})`);let I=await _.json();r(I),o(null)}catch(_){o(_.message)}finally{a(!1)}},[l]);if((0,ve.useEffect)(()=>{u();let _=setInterval(u,eQ);return()=>clearInterval(_)},[u]),n)return ve.default.createElement("div",{className:"flex items-center justify-center h-64"},ve.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let c=_=>_==null?"0":_>=1e6?(_/1e6).toFixed(1)+"M":_>=1e3?(_/1e3).toFixed(1)+"K":_.toString(),d=_=>_?_<.01?"<$0.01":`$${_.toFixed(2)}`:"$0.00",f={bg:e?"transparent":"#f9fafb",cardBg:e?"rgba(255,255,255,0.05)":"#ffffff",border:e?"rgba(255,255,255,0.1)":"#e5e7eb",borderLight:e?"rgba(255,255,255,0.05)":"#f3f4f6",textPrimary:e?"#ffffff":"#111827",textSecondary:e?"rgba(255,255,255,0.6)":"#6b7280",textMuted:e?"rgba(255,255,255,0.4)":"#9ca3af",textCell:e?"rgba(255,255,255,0.7)":"#4b5563",trendUp:"#16a34a",trendDown:"#dc2626",tokenIn:"#2563eb",tokenOut:"#7c3aed",tokenThinking:"#d97706",badgeBg:e?"rgba(239, 68, 68, 0.2)":"#fef2f2",badgeText:"#ef4444"};if(i||!t)return ve.default.createElement("div",{style:{padding:"24px"}},ve.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:f.textPrimary,margin:0}},"Metrics"),ve.default.createElement("div",{style:{marginTop:"16px",padding:"12px 16px",background:f.badgeBg,borderRadius:"8px",color:f.badgeText,fontSize:"14px"}},"Failed to load metrics",i?`: ${i}`:""));let{summary:p,hourly_requests:v=[],by_agent:g=[]}=t,b=v.map(_=>_.count),m=v.map(_=>_.avg_latency_ms),h=Math.max(...b,1),x=p.total_requests===0,w=(_,I=!1)=>{if(_==null)return null;let z=_>=0;return ve.default.createElement("div",{style:{fontSize:"13px",color:(I?!z:z)?f.trendUp:f.trendDown,marginTop:"8px"}},z?"\u2191":"\u2193"," ",Math.abs(_),"% vs previous 24h")},E=LS.find(_=>_.value===l)?.column,C=_=>({padding:"12px 0",textAlign:"right",color:f.textCell,fontWeight:_===E?"600":"400"}),T=({label:_,children:I,trend:z,sparkline:B,sparklineColor:$})=>ve.default.createElement("div",{style:{background:f.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${f.border}`}},ve.default.createElement("div",{style:{fontSize:"11px",color:f.textSecondary,textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"}},_),I,z,B&&ve.default.createElement("div",{style:{marginTop:"16px",height:"40px"}},ve.default.createElement("svg",{viewBox:"0 0 100 30",style:{width:"100%",height:"100%"},preserveAspectRatio:"none"},ve.default.createElement("polyline",{points:B,fill:"none",stroke:$,strokeWidth:"2"}))));return ve.default.createElement("div",{style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)",backgroundColor:f.bg}},ve.default.createElement("div",{style:{padding:"24px 24px 0 24px",borderBottom:`1px solid ${f.border}`,marginBottom:"16px",paddingBottom:"16px"}},ve.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:f.textPrimary,margin:0}},"Metrics"),ve.default.createElement("p",{style:{fontSize:"14px",color:f.textSecondary,marginTop:"4px"}},"Requests, latency, errors and token usage \u2014 last 24 hours")),ve.default.createElement("div",{style:{padding:"0 24px 24px 24px"}},ve.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:"16px",marginBottom:"16px"}},ve.default.createElement(T,{label:"Total Requests",trend:w(p.requests_change),sparkline:KP(b),sparklineColor:"#ef4444"},ve.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",color:f.textPrimary,fontFamily:"monospace"}},c(p.total_requests))),ve.default.createElement(T,{label:"Avg Latency",trend:w(p.latency_change,!0),sparkline:KP(m),sparklineColor:"#22c55e"},ve.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",color:f.textPrimary,fontFamily:"monospace"}},p.avg_latency_ms,ve.default.createElement("span",{style:{fontSize:"14px",color:f.textMuted,marginLeft:"4px"}},"ms"))),ve.default.createElement(T,{label:"Error Rate"},ve.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",color:p.error_rate>5?"#ef4444":f.textPrimary,fontFamily:"monospace"}},p.error_rate,ve.default.createElement("span",{style:{fontSize:"14px",color:f.textMuted,marginLeft:"4px"}},"%")),ve.default.createElement("div",{style:{fontSize:"13px",color:f.textSecondary,marginTop:"8px"}},p.errors," error",p.errors===1?"":"s"," in period")),ve.default.createElement(T,{label:"Total Cost"},ve.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",color:f.textPrimary,fontFamily:"monospace"}},d(p.total_cost)),ve.default.createElement("div",{style:{fontSize:"13px",color:f.textSecondary,marginTop:"8px"}},"estimated, this period")),ve.default.createElement(T,{label:"Tokens Used"},ve.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",color:f.textPrimary,fontFamily:"monospace"}},c(p.tokens_used)),ve.default.createElement("div",{style:{fontSize:"13px",marginTop:"8px",display:"flex",gap:"12px",flexWrap:"wrap"}},ve.default.createElement("span",{style:{color:f.tokenIn}},"\u2193 ",c(p.tokens_input)),ve.default.createElement("span",{style:{color:f.tokenOut}},"\u2191 ",c(p.tokens_output)),p.tokens_thinking>0&&ve.default.createElement("span",{style:{color:f.tokenThinking}},"\u{1F9E0} ",c(p.tokens_thinking)))),ve.default.createElement(T,{label:"Active Agents"},ve.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",color:f.textPrimary,fontFamily:"monospace"}},p.unique_agents),ve.default.createElement("div",{style:{fontSize:"13px",color:f.textSecondary,marginTop:"8px"}},"with traffic in period"))),ve.default.createElement("div",{style:{background:f.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${f.border}`,marginBottom:"16px"}},ve.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"16px"}},ve.default.createElement("span",{style:{fontSize:"14px",fontWeight:"600",color:f.textPrimary}},"Requests / Hour"),ve.default.createElement("span",{style:{fontSize:"13px",color:f.textSecondary}},"Last 24h")),ve.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",justifyContent:"space-between",height:"120px",gap:"4px"}},v.map((_,I)=>ve.default.createElement("div",{key:I,style:{flex:1,height:`${Math.max(_.count/h*100,2)}%`,background:_.active?"linear-gradient(180deg, #ef4444 0%, #dc2626 100%)":"linear-gradient(180deg, #fca5a5 0%, #f87171 100%)",opacity:_.count===0&&!_.active?.25:1,borderRadius:"4px 4px 0 0",transition:"all 0.2s ease"},title:`${_.count} requests at ${_.hour}`}))),ve.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginTop:"8px"}},v.map((_,I)=>ve.default.createElement("span",{key:I,style:{flex:1,textAlign:"center",fontSize:"10px",color:f.textMuted}},I%4===0||_.active?_.active?"Now":_.hour:"")))),ve.default.createElement("div",{style:{background:f.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${f.border}`}},ve.default.createElement("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",marginBottom:"16px",gap:"12px",flexWrap:"wrap"}},ve.default.createElement("h3",{style:{fontSize:"16px",fontWeight:"600",color:f.textPrimary,margin:0}},"Agent Statistics"),ve.default.createElement("span",{style:{fontSize:"12px",color:f.textMuted}},"Ranked by ",LS.find(_=>_.value===l)?.label.toLowerCase()," \u2014 click a column to change")),g.length===0?ve.default.createElement("div",{style:{textAlign:"center",padding:"24px 0",color:f.textSecondary,fontSize:"14px"}},x?"No traffic yet \u2014 run an agent, or point your app's ActiveAgent telemetry at this workspace":"No per-agent data for this period"):ve.default.createElement("table",{style:{width:"100%",borderCollapse:"collapse"}},ve.default.createElement("thead",null,ve.default.createElement("tr",{style:{textAlign:"left",fontSize:"13px",color:f.textSecondary,borderBottom:`1px solid ${f.border}`}},ve.default.createElement("th",{style:{paddingBottom:"12px",fontWeight:"500"}},"Agent"),LS.map(_=>{let I=l===_.value;return ve.default.createElement("th",{key:_.value,style:{paddingBottom:"12px",fontWeight:"500",textAlign:"right"}},ve.default.createElement("button",{onClick:()=>s(_.value),title:`Rank agents by ${_.label.toLowerCase()}`,style:{background:"none",border:"none",padding:0,cursor:"pointer",font:"inherit",fontWeight:I?"600":"500",color:I?f.textPrimary:f.textSecondary}},_.label,I?" \u2193":""))}))),ve.default.createElement("tbody",null,g.map((_,I)=>ve.default.createElement("tr",{key:_.name,style:{borderBottom:I0?f.badgeText:f.textCell}},_.errors))))))))}var L=J(R());var bo=J(R());var hy={logger:typeof console<"u"?console:void 0,WebSocket:typeof WebSocket<"u"?WebSocket:void 0},_t={log(...e){this.enabled&&(e.push(Date.now()),hy.logger.log("[ActionCable]",...e))}},Uf=()=>new Date().getTime(),vy=e=>(Uf()-e)/1e3,$f=class{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=Uf(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),_t.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=Uf(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),_t.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordMessage(){this.pingedAt=Uf()}recordConnect(){this.reconnectAttempts=0,delete this.disconnectedAt,_t.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=Uf(),_t.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)),i=(this.reconnectAttempts===0?1:r)*Math.random();return t*1e3*n*(1+i)}reconnectIfStale(){this.connectionIsStale()&&(_t.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${vy(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?_t.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${vy(this.disconnectedAt)} s`):(_t.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return vy(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&vy(this.disconnectedAt){(this.connectionIsStale()||!this.connection.isOpen())&&(_t.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())}),200)}};$f.staleThreshold=6;$f.reconnectionBackoffRate=.15;var XP={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:Bf,protocols:US}=XP,tQ=US.slice(0,US.length-1),GP=[].indexOf,Hf=class{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new $f(this),this.disconnected=!0}send(t){return this.isOpen()?(this.webSocket.send(JSON.stringify(t)),!0):!1}open(){if(this.isActive())return _t.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1;{let t=[...US,...this.consumer.subprotocols||[]];return _t.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${t}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new hy.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(_t.log(`Reopening WebSocket, current state is ${this.getState()}`),this.isActive())try{return this.close()}catch(t){_t.log("Failed to reopen WebSocket",t)}finally{_t.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 GP.call(tQ,this.getProtocol())>=0}isState(...t){return GP.call(t,this.getState())>=0}getState(){if(this.webSocket){for(let t in hy.WebSocket)if(hy.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(){}}};Hf.reopenDelay=500;Hf.prototype.events={message(e){if(!this.isProtocolSupported())return;let{identifier:t,message:r,reason:n,reconnect:a,type:i}=JSON.parse(e.data);switch(this.monitor.recordMessage(),i){case Bf.welcome:return this.triedToReconnect()&&(this.reconnectAttempted=!0),this.monitor.recordConnect(),this.subscriptions.reload();case Bf.disconnect:return _t.log(`Disconnecting. Reason: ${n}`),this.close({allowReconnect:a});case Bf.ping:return null;case Bf.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 Bf.rejection:return this.subscriptions.reject(t);default:return this.subscriptions.notify(t,"received",r)}},open(){if(_t.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return _t.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(e){if(_t.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){_t.log("WebSocket onerror event")}};var rQ=function(e,t){if(t!=null)for(let r in t){let n=t[r];e[r]=n}return e},$S=class{constructor(t,r={},n){this.consumer=t,this.identifier=JSON.stringify(r),rQ(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)}},HS=class{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){this.pendingSubscriptions.indexOf(t)==-1?(_t.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):_t.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){_t.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=>{_t.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)}))}),500)}},VS=class{constructor(t){this.consumer=t,this.guarantor=new HS(this),this.subscriptions=[]}create(t,r){let n=t,a=typeof n=="object"?n:{channel:n},i=new $S(this.consumer,a,r);return this.add(i)}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 a;return typeof t=="string"?a=this.findAll(t):a=[t],a.map((i=>typeof i[r]=="function"?i[r](...n):void 0))}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){_t.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})}},FS=class{constructor(t){this._url=t,this.subscriptions=new VS(this),this.connection=new Hf(this),this.subprotocols=[]}get url(){return nQ(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 nQ(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 ZP(e=aQ("url")||XP.default_mount_path){return new FS(e)}function aQ(e){let t=document.head.querySelector(`meta[name='action-cable-${e}']`);if(t)return t.getAttribute("content")}var gy=null;function iQ(){if(gy===null)try{gy=ZP()}catch{gy=!1}return gy||null}function QP(e,t,r,n=!0){let a=(0,bo.useRef)(null),i=(0,bo.useRef)(r);return(0,bo.useEffect)(()=>{i.current=r},[r]),(0,bo.useEffect)(()=>{if(!n||!e)return;let l=iQ();return a.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),i.current&&i.current(s)},rejected(){console.warn(`[ActionCable] Subscription rejected for ${e}`)}}),()=>{a.current&&(console.log(`[ActionCable] Unsubscribing from ${e}`),a.current.unsubscribe(),a.current=null)}},[e,JSON.stringify(t),n]),{send:(0,bo.useCallback)((l,s)=>{a.current&&a.current.perform(l,s)},[])}}var yy=[{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"}],oQ={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"}]},JP={max_runs:10,timeout_seconds:300,session_duration_minutes:15};function YS({initialType:e="playwright_mcp",onClose:t}){let[r,n]=(0,L.useState)(e),[a,i]=(0,L.useState)(null),[o,l]=(0,L.useState)(""),[s,u]=(0,L.useState)([]),[c,d]=(0,L.useState)(null),[f,p]=(0,L.useState)(!1),[v,g]=(0,L.useState)(!1),[b,m]=(0,L.useState)(null),[h,x]=(0,L.useState)(null),[w,E]=(0,L.useState)(!1),[C,T]=(0,L.useState)(null),[_,I]=(0,L.useState)(!1),z=(0,L.useRef)(null),[B,$]=(0,L.useState)(["anthropic"]),[X,H]=(0,L.useState)(!1),[q,y]=(0,L.useState)({}),[N,O]=(0,L.useState)([]),M=(0,L.useCallback)(S=>{switch(console.log("[SandboxRunner] Received ActionCable message:",S),S.type){case"run_started":X?y(P=>({...P,[S.provider]:{status:"running",started_at:S.started_at,provider:S.provider}})):d(P=>({...P,status:"running",provider:S.provider}));break;case"run_complete":X?(y(P=>({...P,[S.provider]:{...S.run,provider:S.provider}})),O(P=>P.filter(K=>K!==S.provider)),S.sandbox&&(i(S.sandbox),u(S.sandbox.runs||[]))):(d(S.run),p(!1),S.sandbox&&(i(S.sandbox),u(S.sandbox.runs||[]))),O(P=>{let K=P.filter(j=>j!==S.provider);return K.length===0&&p(!1),K});break;case"run_error":X?(y(P=>({...P,[S.provider]:{status:"failed",error:S.error,provider:S.provider}})),O(P=>P.filter(K=>K!==S.provider))):(d(P=>({...P,status:"failed",error:S.error})),p(!1)),S.sandbox&&i(S.sandbox);break}},[X]);QP("SandboxChannel",{session_id:a?.session_id},M,!!a?.session_id),(0,L.useEffect)(()=>{k(),A()},[r]);let A=async()=>{try{let S=await fetch("/api/usage");if(S.ok){let P=await S.json();T(P.usage)}}catch{console.log("Could not fetch usage (user may not be authenticated)")}};(0,L.useEffect)(()=>{if(!a?.expires_at)return;let S=setInterval(()=>{let P=new Date,K=new Date(a.expires_at),j=Math.max(0,Math.floor((K-P)/1e3));x(j),j===0&&(i(he=>({...he,status:"expired"})),clearInterval(S))},1e3);return()=>clearInterval(S)},[a?.expires_at]),(0,L.useEffect)(()=>{z.current&&(z.current.scrollTop=z.current.scrollHeight)},[c?.result]);let k=async()=>{g(!0),m(null);try{let S=await fetch("/api/sandboxes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sandbox_type:r})});if(!S.ok)throw new Error("Failed to create sandbox session");let P=await S.json();i(P.sandbox),u([]),d(null)}catch(S){m(S.message)}finally{g(!1)}},V=async()=>{!o.trim()||f||!a||(X&&B.length>1?await Q():await G(B[0]||"anthropic"))},G=async S=>{p(!0),d({status:"running",task:o,provider:S,result:"",started_at:new Date().toISOString()});try{let P=await fetch(`/api/sandboxes/${a.session_id}/run`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:o,provider:S})}),K=await P.json();if(P.status===402&&K.upgrade_required){T(K.usage),E(!0),d(j=>({...j,status:"failed",error:K.message||"Plan limit reached"})),p(!1);return}if(!P.ok)throw new Error(K.error||"Task execution failed");K.usage&&T(K.usage),pe(K.run_id)}catch(P){d(K=>({...K,status:"failed",error:P.message})),p(!1)}},Q=async()=>{p(!0),O([...B]),y({});let S={};B.forEach(P=>{S[P]={status:"running",result:"",started_at:new Date().toISOString()}}),y(S);try{let P=await fetch("/api/sandboxes/compare",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:o,providers:B,sandbox_id:a?.session_id,sandbox_type:r})});if(!P.ok){let j=await P.json();throw new Error(j.error||"Comparison failed")}let K=await P.json();K.sandbox&&i(K.sandbox),setTimeout(()=>{N.length>0&&se()},6e4)}catch(P){B.forEach(K=>{y(j=>({...j,[K]:{status:"failed",error:P.message}}))}),p(!1),O([])}},se=async()=>{if(a?.session_id)try{let P=await(await fetch(`/api/sandboxes/${a.session_id}`)).json();i(P.sandbox),u(P.sandbox.runs||[]),(P.sandbox.runs||[]).forEach(he=>{he.provider&&y(ge=>({...ge,[he.provider]:{...he,provider:he.provider}}))}),B.every(he=>{let ge=q[he];return ge?.status==="completed"||ge?.status==="failed"})&&(p(!1),O([]))}catch(S){console.error("Polling error:",S)}},ue=S=>{$(P=>P.includes(S)?P.length===1?P:P.filter(K=>K!==S):[...P,S])},pe=async S=>{let P=async()=>{try{let j=await(await fetch(`/api/sandboxes/${a.session_id}`)).json();i(j.sandbox);let he=j.sandbox.runs||[],ge=he[he.length-1];if(ge&&(d(ge),u(he),ge.status==="completed"||ge.status==="failed")){p(!1);return}setTimeout(P,1e3)}catch{p(!1)}};P()},Oe=S=>{S.key==="Enter"&&(S.metaKey||S.ctrlKey)&&V()},ie=S=>{if(!S)return"--:--";let P=Math.floor(S/60),K=S%60;return`${P}:${K.toString().padStart(2,"0")}`},Ne=S=>{switch(S){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"}},F=a?.status==="ready"&&a?.runs_count{I(!0);try{await tc({planSlug:"pro",billingInterval:S})}catch(P){console.error("Checkout error:",P),m(P.message||"Failed to initiate checkout. Please try again."),I(!1)}};return L.default.createElement("div",{className:"h-full flex flex-col bg-gray-50"},L.default.createElement("div",{className:"bg-white border-b border-gray-200 px-6 py-4"},L.default.createElement("div",{className:"flex items-center justify-between"},L.default.createElement("div",{className:"flex items-center space-x-4"},L.default.createElement(wt,{size:48,appearance:{hat:"fedora",hatAccessory:"theaterMasks",heldItem:"browser"}}),L.default.createElement("div",null,L.default.createElement("h1",{className:"text-xl font-semibold text-gray-900"},"PlaywrightMCP Demo"),L.default.createElement("p",{className:"text-sm text-gray-500"},"Try browser automation for free - no account required"))),L.default.createElement("div",{className:"flex items-center space-x-4"},a&&L.default.createElement("div",{className:"flex items-center space-x-3 text-sm"},L.default.createElement("span",{className:`px-2 py-1 rounded-full text-xs font-medium ${Ne(a.status)}`},a.status),L.default.createElement("span",{className:"text-gray-500"},a.runs_count,"/",a.max_runs," runs"),L.default.createElement("span",{className:`font-mono ${h<60?"text-red-500":"text-gray-500"}`},ie(h))),t&&L.default.createElement("button",{onClick:t,className:"text-gray-400 hover:text-gray-600"},L.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},L.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))))),L.default.createElement("div",{className:"flex-1 p-6 overflow-hidden"},L.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},L.default.createElement("div",{className:"col-span-2 flex flex-col space-y-4"},L.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},L.default.createElement("textarea",{value:o,onChange:S=>l(S.target.value),onKeyDown:Oe,placeholder:"Describe what you want the browser agent to do...",rows:3,disabled:!F,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"}),L.default.createElement("div",{className:"flex items-center justify-between mt-3"},L.default.createElement("span",{className:"text-xs text-gray-400"},"Press ",L.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Cmd")," + ",L.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Enter")," to run"),L.default.createElement("button",{onClick:V,disabled:!o.trim()||!F,className:`flex items-center space-x-2 px-6 py-2 rounded-lg transition-colors ${o.trim()&&F?"bg-rose-500 text-white hover:bg-rose-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},f?L.default.createElement(L.default.Fragment,null,L.default.createElement("span",{className:"animate-spin"},"\u25E0"),L.default.createElement("span",null,"Running...")):L.default.createElement(L.default.Fragment,null,L.default.createElement("span",null,"\u25B6"),L.default.createElement("span",null,"Run"))))),L.default.createElement("div",{className:"flex-1 bg-white rounded-xl border border-gray-200 flex flex-col overflow-hidden"},L.default.createElement("div",{className:"px-4 py-3 border-b border-gray-200 flex items-center justify-between"},L.default.createElement("h3",{className:"font-medium text-gray-900"},X&&Object.keys(q).length>0?"Comparison Results":"Output"),c&&!X&&L.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${Ne(c.status)}`},c.status),X&&N.length>0&&L.default.createElement("span",{className:"text-xs text-blue-600"},"Running ",N.length," provider(s)...")),L.default.createElement("div",{ref:z,className:"flex-1 overflow-auto bg-gray-50"},v?L.default.createElement("div",{className:"flex items-center justify-center h-full text-gray-500 p-4"},L.default.createElement("span",{className:"animate-pulse"},"Starting sandbox...")):b?L.default.createElement("div",{className:"text-red-600 p-4"},b):X&&Object.keys(q).length>0?L.default.createElement("div",{className:"grid grid-cols-1 divide-y divide-gray-200"},B.map(S=>{let P=yy.find(j=>j.id===S),K=q[S];return L.default.createElement("div",{key:S,className:"p-4"},L.default.createElement("div",{className:"flex items-center justify-between mb-2"},L.default.createElement("div",{className:"flex items-center space-x-2"},L.default.createElement("div",{className:`w-3 h-3 rounded-full ${P?.color||"bg-gray-400"}`}),L.default.createElement("span",{className:"font-medium text-gray-900"},P?.name||S),L.default.createElement("span",{className:"text-xs text-gray-500"},P?.model)),K&&L.default.createElement("div",{className:"flex items-center space-x-2"},L.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${Ne(K.status)}`},K.status),K.tokens&&L.default.createElement("span",{className:"text-xs text-gray-500"},K.tokens," tokens"),K.duration_ms&&L.default.createElement("span",{className:"text-xs text-gray-500"},(K.duration_ms/1e3).toFixed(1),"s"))),L.default.createElement("div",{className:"bg-white rounded-lg border border-gray-200 p-3 font-mono text-sm max-h-48 overflow-auto"},K?.status==="running"?L.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},L.default.createElement("span",{className:"animate-pulse"},"\u25CF"),L.default.createElement("span",null,"Processing...")):K?.error?L.default.createElement("div",{className:"text-red-600"},K.error):K?.result?L.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},K.result):L.default.createElement("span",{className:"text-gray-400"},"Waiting...")))})):c?L.default.createElement("div",{className:"p-4 font-mono text-sm"},c.provider&&L.default.createElement("div",{className:"flex items-center space-x-2 mb-3 pb-2 border-b border-gray-200"},L.default.createElement("div",{className:`w-2 h-2 rounded-full ${yy.find(S=>S.id===c.provider)?.color||"bg-gray-400"}`}),L.default.createElement("span",{className:"text-sm text-gray-600"},yy.find(S=>S.id===c.provider)?.name||c.provider)),c.status==="running"?L.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},L.default.createElement("span",{className:"animate-pulse"},"\u25CF"),L.default.createElement("span",null,"Executing task...")):c.error?L.default.createElement("div",{className:"text-red-600"},L.default.createElement("div",{className:"font-semibold mb-2"},"Error:"),L.default.createElement("pre",{className:"whitespace-pre-wrap"},c.error)):L.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},c.result||"Processing...")):L.default.createElement("div",{className:"text-gray-400 text-center py-12"},L.default.createElement("p",{className:"mb-2"},"Select a sample task or enter your own"),L.default.createElement("p",{className:"text-xs"},X?`Compare results across ${B.length} providers`:"Task will execute using the selected provider"))))),L.default.createElement("div",{className:"space-y-4 overflow-auto"},L.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},L.default.createElement("div",{className:"flex items-center justify-between mb-3"},L.default.createElement("h4",{className:"font-medium text-gray-900"},"Providers"),L.default.createElement("label",{className:"flex items-center space-x-2 cursor-pointer"},L.default.createElement("input",{type:"checkbox",checked:X,onChange:S=>H(S.target.checked),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),L.default.createElement("span",{className:"text-xs text-gray-600"},"Compare"))),L.default.createElement("div",{className:"space-y-2"},yy.map(S=>L.default.createElement("label",{key:S.id,className:`flex items-center justify-between p-2 rounded-lg border cursor-pointer transition-colors ${B.includes(S.id)?"border-rose-300 bg-rose-50":"border-gray-200 hover:bg-gray-50"}`},L.default.createElement("div",{className:"flex items-center space-x-3"},L.default.createElement("input",{type:"checkbox",checked:B.includes(S.id),onChange:()=>ue(S.id),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),L.default.createElement("div",{className:`w-2 h-2 rounded-full ${S.color}`}),L.default.createElement("span",{className:"text-sm font-medium text-gray-900"},S.name)),L.default.createElement("span",{className:"text-xs text-gray-500"},S.model)))),X&&B.length>1&&L.default.createElement("div",{className:"mt-3 p-2 bg-purple-50 rounded-lg"},L.default.createElement("p",{className:"text-xs text-purple-700"},"Comparison mode: Run task on ",B.length," providers simultaneously"))),L.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},L.default.createElement("div",{className:"flex items-center justify-between mb-3"},L.default.createElement("h4",{className:"font-medium text-gray-900"},"Sample Tasks"),X&&L.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")),L.default.createElement("div",{className:"space-y-2"},oQ[r]?.map((S,P)=>L.default.createElement("button",{key:P,onClick:()=>l(S.task),disabled:!F,className:"w-full text-left px-3 py-2 rounded-lg transition-colors border border-gray-200 hover:bg-gray-50 disabled:opacity-50"},L.default.createElement("div",{className:"font-medium text-sm text-gray-900"},S.name),L.default.createElement("div",{className:"text-xs text-gray-500 mt-0.5"},S.description))))),L.default.createElement("div",{className:"bg-gradient-to-br from-rose-50 to-purple-50 rounded-xl border border-rose-200 p-4"},L.default.createElement("h4",{className:"font-medium text-gray-900 mb-3"},C?.plan==="free"?"Free Tier":`${C?.plan?.toUpperCase()||"FREE"} Plan`),C&&L.default.createElement("div",{className:"mb-4"},L.default.createElement("div",{className:"flex justify-between text-sm mb-1"},L.default.createElement("span",{className:"text-gray-600"},"Agent Runs"),L.default.createElement("span",{className:`font-medium ${C.runs_remaining<=1?"text-rose-600":"text-gray-900"}`},C.runs_used," / ",C.runs_limit)),L.default.createElement("div",{className:"w-full bg-white rounded-full h-2 border border-rose-200"},L.default.createElement("div",{className:`h-2 rounded-full transition-all ${C.runs_remaining<=1?"bg-rose-500":"bg-emerald-500"}`,style:{width:`${Math.min(C.runs_used/C.runs_limit*100,100)}%`}})),C.runs_remaining<=1&&L.default.createElement("p",{className:"text-xs text-rose-600 mt-1"},C.runs_remaining===0?"Limit reached!":"Almost at limit!")),L.default.createElement("dl",{className:"space-y-2 text-sm"},L.default.createElement("div",{className:"flex justify-between"},L.default.createElement("dt",{className:"text-gray-500"},"Session Runs"),L.default.createElement("dd",{className:"text-gray-900"},a?.runs_count||0,"/",a?.max_runs||JP.max_runs)),L.default.createElement("div",{className:"flex justify-between"},L.default.createElement("dt",{className:"text-gray-500"},"Timeout"),L.default.createElement("dd",{className:"text-gray-900"},JP.timeout_seconds,"s per task"))),C?.plan==="free"&&L.default.createElement("div",{className:"mt-4 pt-4 border-t border-rose-200"},L.default.createElement("button",{onClick:()=>E(!0),className:"w-full text-center text-sm text-rose-600 hover:text-rose-700 font-medium"},"Upgrade to PRO \u2192"))),s.length>0&&L.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},L.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},L.default.createElement("h4",{className:"font-medium text-gray-900"},"Run History")),L.default.createElement("div",{className:"max-h-48 overflow-auto divide-y divide-gray-100"},s.slice().reverse().map((S,P)=>L.default.createElement("div",{key:S.id||P,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>d(S)},L.default.createElement("div",{className:"flex items-center justify-between mb-1"},L.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${Ne(S.status||"completed")}`},S.status||"completed"),L.default.createElement("span",{className:"text-xs text-gray-400"},S.tokens||0," tokens")),L.default.createElement("p",{className:"text-sm text-gray-600 truncate"},S.task))))),a?.status==="expired"&&L.default.createElement("button",{onClick:k,className:"w-full px-4 py-3 bg-rose-500 text-white rounded-lg hover:bg-rose-600 transition-colors"},"Start New Session")))),w&&L.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},L.default.createElement("div",{className:"bg-white rounded-2xl max-w-4xl w-full overflow-hidden shadow-2xl max-h-[90vh] overflow-y-auto"},L.default.createElement("div",{className:"bg-gradient-to-r from-rose-500 to-purple-600 px-6 py-6 text-white text-center"},L.default.createElement("h2",{className:"text-2xl font-bold mb-1"},"Upgrade Your Plan"),L.default.createElement("p",{className:"text-rose-100 text-sm"},"You've used ",C?.runs_used||0," of ",C?.runs_limit||25," trial runs. Choose a plan to continue.")),L.default.createElement("div",{className:"p-6"},L.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},L.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},L.default.createElement("div",{className:"text-center mb-4"},L.default.createElement("h3",{className:"font-semibold text-gray-900"},"Free"),L.default.createElement("div",{className:"mt-2"},L.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$0"),L.default.createElement("span",{className:"text-gray-500"},"/mo"))),L.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},L.default.createElement("li",{className:"flex items-start"},L.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"25 trial runs/month"),L.default.createElement("li",{className:"flex items-start"},L.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Community support"),L.default.createElement("li",{className:"flex items-start"},L.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Basic features")),L.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")),L.default.createElement("div",{className:"border-2 border-rose-500 rounded-xl p-5 relative bg-rose-50"},L.default.createElement("div",{className:"absolute -top-3 left-1/2 transform -translate-x-1/2"},L.default.createElement("span",{className:"bg-rose-500 text-white text-xs font-semibold px-3 py-1 rounded-full"},"RECOMMENDED")),L.default.createElement("div",{className:"text-center mb-4 mt-2"},L.default.createElement("h3",{className:"font-semibold text-gray-900"},"Pro"),L.default.createElement("div",{className:"mt-2"},L.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$99"),L.default.createElement("span",{className:"text-gray-500"},"/mo")),L.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $995/year (save 16%)")),L.default.createElement("ul",{className:"space-y-2 text-sm text-gray-700 mb-4"},L.default.createElement("li",{className:"flex items-start"},L.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"10,000 agent runs/month"),L.default.createElement("li",{className:"flex items-start"},L.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Advanced cost tracking"),L.default.createElement("li",{className:"flex items-start"},L.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"25K traces/month"),L.default.createElement("li",{className:"flex items-start"},L.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Priority email support")),L.default.createElement("button",{onClick:()=>Y("monthly"),disabled:_,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"},_?"Loading...":"Upgrade to Pro")),L.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},L.default.createElement("div",{className:"text-center mb-4"},L.default.createElement("h3",{className:"font-semibold text-gray-900"},"Enterprise"),L.default.createElement("div",{className:"mt-2"},L.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$269"),L.default.createElement("span",{className:"text-gray-500"},"/mo")),L.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $2,690/year (save 16%)")),L.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},L.default.createElement("li",{className:"flex items-start"},L.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Unlimited runs"),L.default.createElement("li",{className:"flex items-start"},L.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"500K traces/month"),L.default.createElement("li",{className:"flex items-start"},L.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"SSO & SOC2/HIPAA"),L.default.createElement("li",{className:"flex items-start"},L.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Dedicated support")),L.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")))),L.default.createElement("div",{className:"px-6 py-4 bg-gray-50 border-t border-gray-100 flex justify-center"},L.default.createElement("button",{onClick:()=>E(!1),className:"text-gray-500 hover:text-gray-700 text-sm"},"Maybe later")))))}var de=J(R());var xy={SCREENSHOT:"screenshot",IFRAME:"iframe"},RP={navigate:"[->]",click:"[*]",type:"[T]",form_fill:"[F]",key_press:"[K]",snapshot:"[S]",hover:"[~]",select:"[v]",file_upload:"[^]",dialog:"[!]",evaluate:"[js]",wait:"[..]",scroll:"[|]",drag:"[<>]"},qS={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"},lQ=` @keyframes ripple { 0% { transform: translate(-50%, -50%) scale(0.5); opacity: 1; } 100% { transform: translate(-50%, -50%) scale(2); opacity: 0; } @@ -75,10 +75,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.5; transform: scale(1.2); } } -`;function tA({recordingId:e,onHandoff:t,onClose:r}){let{darkMode:n}=mt(),[a,i]=(0,ve.useState)([]),[o,l]=(0,ve.useState)(e),[s,u]=(0,ve.useState)(null),[c,d]=(0,ve.useState)([]),[f,p]=(0,ve.useState)(!0),[v,h]=(0,ve.useState)(null),[b,m]=(0,ve.useState)(!1),[g,x]=(0,ve.useState)(0),[A,k]=(0,ve.useState)(1),[_,M]=(0,ve.useState)(null),E=(0,ve.useRef)(null),L=(0,ve.useRef)(null),I=(0,ve.useRef)(null),[j,z]=(0,ve.useState)(Eg.IFRAME),[X,R]=(0,ve.useState)({x:0,y:0,visible:!1}),[Q,y]=(0,ve.useState)(null);(0,ve.useEffect)(()=>{C()},[]),(0,ve.useEffect)(()=>{o&&T(o)},[o]);let C=async()=>{try{let F=await fetch("/api/session_recordings");if(F.ok){let $=await F.json();i($.recordings||[]),!o&&$.recordings?.length>0&&l($.recordings[0].id)}}catch(F){console.error("Failed to load recordings list:",F)}};(0,ve.useEffect)(()=>{if(!b||c.length===0){L.current&&clearTimeout(L.current);return}let F=c[g],$=c[g+1];if(!$){m(!1);return}let q=($.timestamp_ms-F.timestamp_ms)/A;return L.current=setTimeout(()=>{x(ae=>ae+1)},Math.max(q,50)),()=>{L.current&&clearTimeout(L.current)}},[b,g,c,A]),(0,ve.useEffect)(()=>{let F=c[g];F?.screenshot_url?(M(F.screenshot_url),z(Eg.SCREENSHOT)):j===Eg.IFRAME&&O(F)},[g,c,j]);let O=(0,ve.useCallback)(F=>{if(!F||!I.current)return;let $=I.current;try{let q=s?.metadata?.page_url||"/";switch($.src!==q&&$.src.includes(q),F.action_type){case"navigate":R({x:50,y:50,visible:!0}),y(null);break;case"click":case"focus":R({x:200,y:300,visible:!0}),y(F.selector),D(F.selector);break;case"type":R({x:200,y:300,visible:!0}),y(F.selector),N(F.selector,F.value);break;case"submit":R({x:250,y:400,visible:!0}),y(F.selector);break;case"scroll":R({x:300,y:200,visible:!0}),y(null);break;case"handoff":R({x:0,y:0,visible:!1}),y(null);break;default:R({x:150,y:250,visible:!0}),y(F.selector)}}catch(q){console.log("Could not simulate action in iframe:",q)}},[s]),D=F=>{if(!(!F||!I.current))try{let $=I.current.contentDocument||I.current.contentWindow?.document;if(!$)return;$.querySelectorAll(".session-replay-highlight").forEach(ae=>{ae.classList.remove("session-replay-highlight"),ae.style.outline=""});let q=$.querySelector(F);q&&(q.classList.add("session-replay-highlight"),q.style.outline="3px solid #ef4444",q.style.outlineOffset="2px",q.scrollIntoView({behavior:"smooth",block:"center"}))}catch{}},N=(F,$)=>{if(!(!F||!$||!I.current))try{let q=I.current.contentDocument||I.current.contentWindow?.document;if(!q)return;let ae=q.querySelector(F);if(ae&&(ae.tagName==="INPUT"||ae.tagName==="TEXTAREA")){let ie=0,G=setInterval(()=>{ie<$.length?(ae.value=$.substring(0,ie+1),ie++):clearInterval(G)},50)}}catch{}},T=async F=>{if(!F){u(null),d([]),x(0),m(!1),p(!1),h(null);return}p(!0),h(null);try{let $=await fetch(`/api/session_recordings/${F}`);if(!$.ok)throw new Error("Failed to load recording");let q=await $.json();if(u(q.recording),x(0),m(!1),q.recording?.id){let ae=await fetch(`/api/session_recordings/${q.recording.id}/actions`);if(ae.ok){let ie=await ae.json();d(ie.actions||q.recording.timeline||[])}else d(q.recording.timeline||[])}}catch($){h($.message)}finally{p(!1)}},H=()=>{g>=c.length-1&&x(0),m(!b)},Y=()=>{m(!1),x(F=>Math.min(F+1,c.length-1))},J=()=>{m(!1),x(F=>Math.max(F-1,0))},fe=F=>{if(!E.current||c.length===0)return;let $=E.current.getBoundingClientRect(),ie=(F.clientX-$.left)/$.width*(s?.duration_ms||c[c.length-1]?.timestamp_ms||0),G=c.findIndex((xe,Ae)=>{let we=c[Ae+1];return!we||ie{if(s?.id)try{let F=await fetch(`/api/session_recordings/${s.id}/handoff`,{method:"POST",headers:{"Content-Type":"application/json"}});if(!F.ok)throw new Error("Handoff not available");let $=await F.json();t&&t($)}catch(F){h(F.message)}},ge=F=>{if(!F)return"0:00";let $=Math.floor(F/1e3),q=Math.floor($/60),ae=$%60;return`${q}:${ae.toString().padStart(2,"0")}`},ze=c[g],se=s?.duration_ms?(ze?.timestamp_ms||0)/s.duration_ms*100:0;return f?ve.default.createElement("div",{className:"flex items-center justify-center h-64"},ve.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):v?ve.default.createElement("div",{className:"flex items-center justify-center h-64"},ve.default.createElement("div",{className:"text-red-500"},v)):s?ve.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)"}:{}},ve.default.createElement("style",{dangerouslySetInnerHTML:{__html:lQ}}),ve.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"}},ve.default.createElement("div",null,ve.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},ve.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"),a.length>1&&ve.default.createElement("select",{value:o||"",onChange:F=>l(Number(F.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"}},a.map(F=>ve.default.createElement("option",{key:F.id,value:F.id},F.name," (",new Date(F.created_at).toLocaleDateString(),")")))),ve.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 | ",ge(s.duration_ms)," duration")),ve.default.createElement("div",{className:"flex items-center gap-3"},s.handoff_state&&ve.default.createElement("button",{onClick:pe,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&&ve.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"}:{}},ve.default.createElement("span",{style:{fontSize:"20px"}},"x")))),ve.default.createElement("div",{className:n?"":"flex h-[500px]",style:n?{display:"flex",height:"500px"}:{}},ve.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"}},j===Eg.SCREENSHOT&&_?ve.default.createElement("img",{src:_,alt:"Session screenshot",className:"max-w-full max-h-full object-contain"}):ve.default.createElement("div",{style:{width:"100%",height:"100%",position:"relative",overflow:"hidden"}},ve.default.createElement("iframe",{ref:I,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&&ve.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"}},ve.default.createElement("svg",{viewBox:"0 0 24 24",fill:"none",style:{width:"100%",height:"100%"}},ve.default.createElement("path",{d:"M4 4L12 20L14 14L20 12L4 4Z",fill:"#ef4444",stroke:"white",strokeWidth:"2"})),ze?.action_type==="click"&&ve.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}})),Q&&ve.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:Oe.mono,zIndex:100}},Q),ze&&ve.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}},ve.default.createElement("span",{style:{color:eA[ze.action_type]||"#94a3b8",fontWeight:"600"}},fj[ze.action_type]||"[?]"),ve.default.createElement("span",null,ze.action_type),ze.value&&ve.default.createElement("span",{style:{color:"rgba(255,255,255,0.6)",maxWidth:"200px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},": ",ze.value))),ve.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":b?"#10b981":"#6b7280",color:"white",padding:"6px 12px",borderRadius:"999px",fontSize:"13px",fontWeight:"500"}},s?.status==="recording"?ve.default.createElement("span",{style:{width:"8px",height:"8px",borderRadius:"50%",background:"white",animation:"pulse 1.5s ease-in-out infinite"}}):b?ve.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},ve.default.createElement("path",{d:"M0 0L10 6L0 12V0Z"})):ve.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},ve.default.createElement("rect",{x:"0",y:"0",width:"3",height:"12"}),ve.default.createElement("rect",{x:"7",y:"0",width:"3",height:"12"})),s?.status==="recording"?"REC":b?"Playing":"Paused"),ze?.selector&&ve.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:Oe.mono}:{}},ze.selector)),ve.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"}:{}},ve.default.createElement("div",{className:n?"":"flex-1 overflow-auto",style:n?{flex:1,overflowY:"auto"}:{}},ve.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((F,$)=>{let q=$===g,ae=${x($),m(!1)},className:n?"":`px-4 py-3 cursor-pointer border-b border-gray-50 hover:bg-gray-50 ${q?"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:q?"rgba(239, 68, 68, 0.15)":"transparent",borderLeft:q?"3px solid #ef4444":"3px solid transparent",opacity:ae?.6:1}:{opacity:ae?.6:1}},ve.default.createElement("div",{className:"flex items-center gap-2"},ve.default.createElement("span",{style:{color:ie,fontFamily:Oe.mono,fontSize:"12px",fontWeight:"600"}},fj[F.action_type]||"[?]"),ve.default.createElement("span",{className:n?"":"text-sm font-medium text-gray-900",style:n?{fontSize:"14px",fontWeight:"500",color:"white"}:{}},F.action_type),ve.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"}:{}},ge(F.timestamp_ms))),F.value&&ve.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"}:{}},F.value.length>50?F.value.substring(0,50)+"...":F.value),F.selector&&ve.default.createElement("div",{className:n?"":"text-xs text-blue-500 mt-1 font-mono truncate",style:n?{fontSize:"11px",color:"#60a5fa",marginTop:"4px",fontFamily:Oe.mono,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{}},F.selector))})))),ve.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"}:{}},ve.default.createElement("div",{ref:E,onClick:fe,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"}:{}},ve.default.createElement("div",{className:n?"":"absolute h-full bg-red-500 rounded-full",style:{width:`${se}%`,height:"100%",background:"#ef4444",borderRadius:"4px",position:"absolute"}}),c.map((F,$)=>{let q=s?.duration_ms?F.timestamp_ms/s.duration_ms*100:0,ae=eA[F.action_type]||"#94a3b8";return ve.default.createElement("div",{key:$,className:n?"":"absolute w-1 h-3 -top-0.5 transform -translate-x-1/2",style:{left:`${q}%`,width:"3px",height:"12px",top:"-2px",transform:"translateX(-50%)",background:$===g?ae:"rgba(255,255,255,0.3)",borderRadius:"2px",position:"absolute"}})})),ve.default.createElement("div",{className:n?"":"flex items-center justify-between",style:n?{display:"flex",alignItems:"center",justifyContent:"space-between"}:{}},ve.default.createElement("div",{className:"flex items-center gap-4"},ve.default.createElement("div",{className:"flex items-center gap-2"},ve.default.createElement("button",{onClick:J,disabled:g===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:g===0?"not-allowed":"pointer",opacity:g===0?.5:1}:{}},"<<"),ve.default.createElement("button",{onClick:H,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"}:{}},b?"Pause":"Play"),ve.default.createElement("button",{onClick:Y,disabled:g>=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:g>=c.length-1?"not-allowed":"pointer",opacity:g>=c.length-1?.5:1}:{}},">>")),ve.default.createElement("span",{className:n?"":"text-sm text-gray-600 font-mono",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.7)",fontFamily:Oe.mono}:{}},ge(ze?.timestamp_ms||0)," / ",ge(s?.duration_ms||0))),ve.default.createElement("div",{className:"flex items-center gap-2"},ve.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(F=>ve.default.createElement("button",{key:F,onClick:()=>k(F),className:n?"":`px-2 py-1 rounded text-sm ${A===F?"bg-red-500 text-white":"bg-gray-100 text-gray-600"}`,style:n?{padding:"4px 10px",background:A===F?"#ef4444":"rgba(255,255,255,0.1)",color:"white",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"13px"}:{}},F,"x")))))):ve.default.createElement("div",{className:"flex items-center justify-center h-64"},ve.default.createElement("div",{className:"text-gray-500"},"No recording available"))}var de=ee(ne());var kg=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString();function rA({account:e,user:t,subscription:r,agentCount:n=0}){let{darkMode:a}=mt(),[i,o]=(0,de.useState)(null),[l,s]=(0,de.useState)(!1),[u,c]=(0,de.useState)(!1),[d,f]=(0,de.useState)(!1),[p,v]=(0,de.useState)(null);(0,de.useEffect)(()=>{fetch("/api/usage").then(k=>k.ok?k.json():null).then(k=>o(k?.usage||null)).catch(()=>o(null))},[]);let h=async()=>{f(!0),v(null);try{await dc({planSlug:"pro"})}catch(k){v(k.message),f(!1)}},b=()=>{e?.telemetry_api_key&&navigator.clipboard.writeText(e.telemetry_api_key).then(()=>{s(!0),setTimeout(()=>s(!1),2e3)})},m={backgroundColor:a?"#1f1f1f":"#ffffff",borderColor:a?"#2a2a2a":"#e5e7eb"},g=r?.plan_name||"Free",x={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"}},A=x[g.toLowerCase()]||x.free;return de.default.createElement("div",{className:"p-6 space-y-6"},de.default.createElement("div",null,de.default.createElement("h2",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},"Organization"),de.default.createElement("p",{className:`mt-1 ${a?"text-gray-400":"text-gray-500"}`},"Manage your workspace, team, and billing")),de.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6"},de.default.createElement("div",{className:"border rounded-lg p-6",style:m},de.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${a?"text-white":"text-gray-900"}`},"Workspace"),de.default.createElement("div",{className:"space-y-3"},de.default.createElement("div",{className:"flex justify-between items-center"},de.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Name"),de.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},e?.name||"My Workspace")),de.default.createElement("div",{className:"flex justify-between items-center"},de.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Owner"),de.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},t?.email||"you@example.com")),de.default.createElement("div",{className:"flex justify-between items-center"},de.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Created"),de.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},e?.created_at?new Date(e.created_at).toLocaleDateString():"Today")))),de.default.createElement("div",{className:"border rounded-lg p-6",style:m},de.default.createElement("div",{className:"flex items-center justify-between mb-4"},de.default.createElement("h3",{className:`text-lg font-semibold ${a?"text-white":"text-gray-900"}`},"Current Plan"),de.default.createElement("span",{className:"px-3 py-1 bg-red-100 text-red-700 rounded-full text-sm font-medium"},g)),de.default.createElement("div",{className:"space-y-3"},de.default.createElement("div",{className:"flex justify-between items-center"},de.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Team Seats"),de.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},A.seats)),de.default.createElement("div",{className:"flex justify-between items-center"},de.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Workspaces"),de.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},A.workspaces)),de.default.createElement("div",{className:"flex justify-between items-center"},de.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Agents"),de.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},A.agents)),de.default.createElement("div",{className:"flex justify-between items-center"},de.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Traces"),de.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},A.traces))),g.toLowerCase()!=="enterprise"&&de.default.createElement(de.default.Fragment,null,de.default.createElement("button",{onClick:h,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&&de.default.createElement("p",{className:"mt-2 text-sm text-red-500 text-center"},p)))),de.default.createElement("div",{className:"border rounded-lg p-6",style:m},de.default.createElement("div",{className:"flex items-center justify-between mb-4"},de.default.createElement("h3",{className:`text-lg font-semibold ${a?"text-white":"text-gray-900"}`},"Team Members"),de.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")),de.default.createElement("div",{className:"overflow-hidden"},de.default.createElement("table",{className:"min-w-full"},de.default.createElement("thead",null,de.default.createElement("tr",{className:a?"border-b border-gray-700":"border-b border-gray-200"},de.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Member"),de.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Role"),de.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Status"))),de.default.createElement("tbody",null,de.default.createElement("tr",null,de.default.createElement("td",{className:"py-3 px-4"},de.default.createElement("div",{className:"flex items-center space-x-3"},de.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},de.default.createElement("span",{className:"text-red-600 font-medium text-sm"},t?.name?.charAt(0).toUpperCase()||"U")),de.default.createElement("div",null,de.default.createElement("p",{className:`font-medium ${a?"text-white":"text-gray-900"}`},t?.name||"You"),de.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},t?.email)))),de.default.createElement("td",{className:"py-3 px-4"},de.default.createElement("span",{className:"px-2 py-1 bg-purple-100 text-purple-700 rounded text-sm"},"Owner")),de.default.createElement("td",{className:"py-3 px-4"},de.default.createElement("span",{className:"flex items-center text-green-600"},de.default.createElement("span",{className:"w-2 h-2 bg-green-500 rounded-full mr-2"}),"Active"))))))),de.default.createElement("div",{className:"border rounded-lg p-6",style:m},de.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${a?"text-white":"text-gray-900"}`},"Usage This Month"),de.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4"},de.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},de.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},n),de.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Agents")),de.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},de.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},kg(i?.traces_used),i?.traces_limit>0&&de.default.createElement("span",{className:`text-sm font-normal ${a?"text-gray-500":"text-gray-400"}`}," / ",kg(i.traces_limit))),de.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Traces")),de.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},de.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},kg(i?.runs_used)),de.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Executions")),de.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},de.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},kg(i?.tokens_used)),de.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Tokens")))),de.default.createElement("div",{className:"border rounded-lg p-6",style:m},de.default.createElement("h3",{className:`text-lg font-semibold mb-1 ${a?"text-white":"text-gray-900"}`},"Telemetry"),de.default.createElement("p",{className:`text-sm mb-4 ${a?"text-gray-400":"text-gray-500"}`},"Send traces from your own ActiveAgent app to this workspace. Add this to your"," ",de.default.createElement("code",{className:`px-1 rounded text-xs ${a?"bg-gray-800 text-gray-300":"bg-gray-100 text-gray-700"}`},"config/active_agent.yml"),":"),de.default.createElement("pre",{className:`text-xs rounded-lg p-4 overflow-x-auto mb-4 ${a?"bg-black text-gray-300":"bg-gray-900 text-gray-100"}`},`telemetry: +`;function WS({recordingId:e,onHandoff:t,onClose:r}){let{darkMode:n}=it(),[a,i]=(0,de.useState)([]),[o,l]=(0,de.useState)(e),[s,u]=(0,de.useState)(null),[c,d]=(0,de.useState)([]),[f,p]=(0,de.useState)(!0),[v,g]=(0,de.useState)(null),[b,m]=(0,de.useState)(!1),[h,x]=(0,de.useState)(0),[w,E]=(0,de.useState)(1),[C,T]=(0,de.useState)(null),_=(0,de.useRef)(null),I=(0,de.useRef)(null),z=(0,de.useRef)(null),[B,$]=(0,de.useState)(xy.IFRAME),[X,H]=(0,de.useState)({x:0,y:0,visible:!1}),[q,y]=(0,de.useState)(null);(0,de.useEffect)(()=>{N()},[]),(0,de.useEffect)(()=>{o&&k(o)},[o]);let N=async()=>{try{let F=await fetch("/api/session_recordings");if(F.ok){let Y=await F.json();i(Y.recordings||[]),!o&&Y.recordings?.length>0&&l(Y.recordings[0].id)}}catch(F){console.error("Failed to load recordings list:",F)}};(0,de.useEffect)(()=>{if(!b||c.length===0){I.current&&clearTimeout(I.current);return}let F=c[h],Y=c[h+1];if(!Y){m(!1);return}let S=(Y.timestamp_ms-F.timestamp_ms)/w;return I.current=setTimeout(()=>{x(P=>P+1)},Math.max(S,50)),()=>{I.current&&clearTimeout(I.current)}},[b,h,c,w]),(0,de.useEffect)(()=>{let F=c[h];F?.screenshot_url?(T(F.screenshot_url),$(xy.SCREENSHOT)):B===xy.IFRAME&&O(F)},[h,c,B]);let O=(0,de.useCallback)(F=>{if(!F||!z.current)return;let Y=z.current;try{let S=s?.metadata?.page_url||"/";switch(Y.src!==S&&Y.src.includes(S),F.action_type){case"navigate":H({x:50,y:50,visible:!0}),y(null);break;case"click":case"focus":H({x:200,y:300,visible:!0}),y(F.selector),M(F.selector);break;case"type":H({x:200,y:300,visible:!0}),y(F.selector),A(F.selector,F.value);break;case"submit":H({x:250,y:400,visible:!0}),y(F.selector);break;case"scroll":H({x:300,y:200,visible:!0}),y(null);break;case"handoff":H({x:0,y:0,visible:!1}),y(null);break;default:H({x:150,y:250,visible:!0}),y(F.selector)}}catch(S){console.log("Could not simulate action in iframe:",S)}},[s]),M=F=>{if(!(!F||!z.current))try{let Y=z.current.contentDocument||z.current.contentWindow?.document;if(!Y)return;Y.querySelectorAll(".session-replay-highlight").forEach(P=>{P.classList.remove("session-replay-highlight"),P.style.outline=""});let S=Y.querySelector(F);S&&(S.classList.add("session-replay-highlight"),S.style.outline="3px solid #ef4444",S.style.outlineOffset="2px",S.scrollIntoView({behavior:"smooth",block:"center"}))}catch{}},A=(F,Y)=>{if(!(!F||!Y||!z.current))try{let S=z.current.contentDocument||z.current.contentWindow?.document;if(!S)return;let P=S.querySelector(F);if(P&&(P.tagName==="INPUT"||P.tagName==="TEXTAREA")){let K=0,j=setInterval(()=>{K{if(!F){u(null),d([]),x(0),m(!1),p(!1),g(null);return}p(!0),g(null);try{let Y=await fetch(`/api/session_recordings/${F}`);if(!Y.ok)throw new Error("Failed to load recording");let S=await Y.json();if(u(S.recording),x(0),m(!1),S.recording?.id){let P=await fetch(`/api/session_recordings/${S.recording.id}/actions`);if(P.ok){let K=await P.json();d(K.actions||S.recording.timeline||[])}else d(S.recording.timeline||[])}}catch(Y){g(Y.message)}finally{p(!1)}},V=()=>{h>=c.length-1&&x(0),m(!b)},G=()=>{m(!1),x(F=>Math.min(F+1,c.length-1))},Q=()=>{m(!1),x(F=>Math.max(F-1,0))},se=F=>{if(!_.current||c.length===0)return;let Y=_.current.getBoundingClientRect(),K=(F.clientX-Y.left)/Y.width*(s?.duration_ms||c[c.length-1]?.timestamp_ms||0),j=c.findIndex((he,ge)=>{let xe=c[ge+1];return!xe||K{if(s?.id)try{let F=await fetch(`/api/session_recordings/${s.id}/handoff`,{method:"POST",headers:{"Content-Type":"application/json"}});if(!F.ok)throw new Error("Handoff not available");let Y=await F.json();t&&t(Y)}catch(F){g(F.message)}},pe=F=>{if(!F)return"0:00";let Y=Math.floor(F/1e3),S=Math.floor(Y/60),P=Y%60;return`${S}:${P.toString().padStart(2,"0")}`},Oe=c[h],ie=s?.duration_ms?(Oe?.timestamp_ms||0)/s.duration_ms*100:0;return f?de.default.createElement("div",{className:"flex items-center justify-center h-64"},de.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):v?de.default.createElement("div",{className:"flex items-center justify-center h-64"},de.default.createElement("div",{className:"text-red-500"},v)):s?de.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)"}:{}},de.default.createElement("style",{dangerouslySetInnerHTML:{__html:lQ}}),de.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"}},de.default.createElement("div",null,de.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},de.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"),a.length>1&&de.default.createElement("select",{value:o||"",onChange:F=>l(Number(F.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"}},a.map(F=>de.default.createElement("option",{key:F.id,value:F.id},F.name," (",new Date(F.created_at).toLocaleDateString(),")")))),de.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 | ",pe(s.duration_ms)," duration")),de.default.createElement("div",{className:"flex items-center gap-3"},s.handoff_state&&de.default.createElement("button",{onClick:ue,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&&de.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"}:{}},de.default.createElement("span",{style:{fontSize:"20px"}},"x")))),de.default.createElement("div",{className:n?"":"flex h-[500px]",style:n?{display:"flex",height:"500px"}:{}},de.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"}},B===xy.SCREENSHOT&&C?de.default.createElement("img",{src:C,alt:"Session screenshot",className:"max-w-full max-h-full object-contain"}):de.default.createElement("div",{style:{width:"100%",height:"100%",position:"relative",overflow:"hidden"}},de.default.createElement("iframe",{ref:z,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&&de.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"}},de.default.createElement("svg",{viewBox:"0 0 24 24",fill:"none",style:{width:"100%",height:"100%"}},de.default.createElement("path",{d:"M4 4L12 20L14 14L20 12L4 4Z",fill:"#ef4444",stroke:"white",strokeWidth:"2"})),Oe?.action_type==="click"&&de.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}})),q&&de.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:_e.mono,zIndex:100}},q),Oe&&de.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}},de.default.createElement("span",{style:{color:qS[Oe.action_type]||"#94a3b8",fontWeight:"600"}},RP[Oe.action_type]||"[?]"),de.default.createElement("span",null,Oe.action_type),Oe.value&&de.default.createElement("span",{style:{color:"rgba(255,255,255,0.6)",maxWidth:"200px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},": ",Oe.value))),de.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":b?"#10b981":"#6b7280",color:"white",padding:"6px 12px",borderRadius:"999px",fontSize:"13px",fontWeight:"500"}},s?.status==="recording"?de.default.createElement("span",{style:{width:"8px",height:"8px",borderRadius:"50%",background:"white",animation:"pulse 1.5s ease-in-out infinite"}}):b?de.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},de.default.createElement("path",{d:"M0 0L10 6L0 12V0Z"})):de.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},de.default.createElement("rect",{x:"0",y:"0",width:"3",height:"12"}),de.default.createElement("rect",{x:"7",y:"0",width:"3",height:"12"})),s?.status==="recording"?"REC":b?"Playing":"Paused"),Oe?.selector&&de.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:_e.mono}:{}},Oe.selector)),de.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"}:{}},de.default.createElement("div",{className:n?"":"flex-1 overflow-auto",style:n?{flex:1,overflowY:"auto"}:{}},de.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((F,Y)=>{let S=Y===h,P=Y{x(Y),m(!1)},className:n?"":`px-4 py-3 cursor-pointer border-b border-gray-50 hover:bg-gray-50 ${S?"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:S?"rgba(239, 68, 68, 0.15)":"transparent",borderLeft:S?"3px solid #ef4444":"3px solid transparent",opacity:P?.6:1}:{opacity:P?.6:1}},de.default.createElement("div",{className:"flex items-center gap-2"},de.default.createElement("span",{style:{color:K,fontFamily:_e.mono,fontSize:"12px",fontWeight:"600"}},RP[F.action_type]||"[?]"),de.default.createElement("span",{className:n?"":"text-sm font-medium text-gray-900",style:n?{fontSize:"14px",fontWeight:"500",color:"white"}:{}},F.action_type),de.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"}:{}},pe(F.timestamp_ms))),F.value&&de.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"}:{}},F.value.length>50?F.value.substring(0,50)+"...":F.value),F.selector&&de.default.createElement("div",{className:n?"":"text-xs text-blue-500 mt-1 font-mono truncate",style:n?{fontSize:"11px",color:"#60a5fa",marginTop:"4px",fontFamily:_e.mono,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{}},F.selector))})))),de.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"}:{}},de.default.createElement("div",{ref:_,onClick:se,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"}:{}},de.default.createElement("div",{className:n?"":"absolute h-full bg-red-500 rounded-full",style:{width:`${ie}%`,height:"100%",background:"#ef4444",borderRadius:"4px",position:"absolute"}}),c.map((F,Y)=>{let S=s?.duration_ms?F.timestamp_ms/s.duration_ms*100:0,P=qS[F.action_type]||"#94a3b8";return de.default.createElement("div",{key:Y,className:n?"":"absolute w-1 h-3 -top-0.5 transform -translate-x-1/2",style:{left:`${S}%`,width:"3px",height:"12px",top:"-2px",transform:"translateX(-50%)",background:Y===h?P:"rgba(255,255,255,0.3)",borderRadius:"2px",position:"absolute"}})})),de.default.createElement("div",{className:n?"":"flex items-center justify-between",style:n?{display:"flex",alignItems:"center",justifyContent:"space-between"}:{}},de.default.createElement("div",{className:"flex items-center gap-4"},de.default.createElement("div",{className:"flex items-center gap-2"},de.default.createElement("button",{onClick:Q,disabled:h===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:h===0?"not-allowed":"pointer",opacity:h===0?.5:1}:{}},"<<"),de.default.createElement("button",{onClick:V,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"}:{}},b?"Pause":"Play"),de.default.createElement("button",{onClick:G,disabled:h>=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:h>=c.length-1?"not-allowed":"pointer",opacity:h>=c.length-1?.5:1}:{}},">>")),de.default.createElement("span",{className:n?"":"text-sm text-gray-600 font-mono",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.7)",fontFamily:_e.mono}:{}},pe(Oe?.timestamp_ms||0)," / ",pe(s?.duration_ms||0))),de.default.createElement("div",{className:"flex items-center gap-2"},de.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(F=>de.default.createElement("button",{key:F,onClick:()=>E(F),className:n?"":`px-2 py-1 rounded text-sm ${w===F?"bg-red-500 text-white":"bg-gray-100 text-gray-600"}`,style:n?{padding:"4px 10px",background:w===F?"#ef4444":"rgba(255,255,255,0.1)",color:"white",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"13px"}:{}},F,"x")))))):de.default.createElement("div",{className:"flex items-center justify-center h-64"},de.default.createElement("div",{className:"text-gray-500"},"No recording available"))}var le=J(R());var by=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString();function KS({account:e,user:t,subscription:r,agentCount:n=0}){let{darkMode:a}=it(),[i,o]=(0,le.useState)(null),[l,s]=(0,le.useState)(!1),[u,c]=(0,le.useState)(!1),[d,f]=(0,le.useState)(!1),[p,v]=(0,le.useState)(null);(0,le.useEffect)(()=>{fetch("/api/usage").then(E=>E.ok?E.json():null).then(E=>o(E?.usage||null)).catch(()=>o(null))},[]);let g=async()=>{f(!0),v(null);try{await tc({planSlug:"pro"})}catch(E){v(E.message),f(!1)}},b=()=>{e?.telemetry_api_key&&navigator.clipboard.writeText(e.telemetry_api_key).then(()=>{s(!0),setTimeout(()=>s(!1),2e3)})},m={backgroundColor:a?"#1f1f1f":"#ffffff",borderColor:a?"#2a2a2a":"#e5e7eb"},h=r?.plan_name||"Free",x={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"}},w=x[h.toLowerCase()]||x.free;return le.default.createElement("div",{className:"p-6 space-y-6"},le.default.createElement("div",null,le.default.createElement("h2",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},"Organization"),le.default.createElement("p",{className:`mt-1 ${a?"text-gray-400":"text-gray-500"}`},"Manage your workspace, team, and billing")),le.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6"},le.default.createElement("div",{className:"border rounded-lg p-6",style:m},le.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${a?"text-white":"text-gray-900"}`},"Workspace"),le.default.createElement("div",{className:"space-y-3"},le.default.createElement("div",{className:"flex justify-between items-center"},le.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Name"),le.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},e?.name||"My Workspace")),le.default.createElement("div",{className:"flex justify-between items-center"},le.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Owner"),le.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},t?.email||"you@example.com")),le.default.createElement("div",{className:"flex justify-between items-center"},le.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Created"),le.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},e?.created_at?new Date(e.created_at).toLocaleDateString():"Today")))),le.default.createElement("div",{className:"border rounded-lg p-6",style:m},le.default.createElement("div",{className:"flex items-center justify-between mb-4"},le.default.createElement("h3",{className:`text-lg font-semibold ${a?"text-white":"text-gray-900"}`},"Current Plan"),le.default.createElement("span",{className:"px-3 py-1 bg-red-100 text-red-700 rounded-full text-sm font-medium"},h)),le.default.createElement("div",{className:"space-y-3"},le.default.createElement("div",{className:"flex justify-between items-center"},le.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Team Seats"),le.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},w.seats)),le.default.createElement("div",{className:"flex justify-between items-center"},le.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Workspaces"),le.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},w.workspaces)),le.default.createElement("div",{className:"flex justify-between items-center"},le.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Agents"),le.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},w.agents)),le.default.createElement("div",{className:"flex justify-between items-center"},le.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Traces"),le.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},w.traces))),h.toLowerCase()!=="enterprise"&&le.default.createElement(le.default.Fragment,null,le.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&&le.default.createElement("p",{className:"mt-2 text-sm text-red-500 text-center"},p)))),le.default.createElement("div",{className:"border rounded-lg p-6",style:m},le.default.createElement("div",{className:"flex items-center justify-between mb-4"},le.default.createElement("h3",{className:`text-lg font-semibold ${a?"text-white":"text-gray-900"}`},"Team Members"),le.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")),le.default.createElement("div",{className:"overflow-hidden"},le.default.createElement("table",{className:"min-w-full"},le.default.createElement("thead",null,le.default.createElement("tr",{className:a?"border-b border-gray-700":"border-b border-gray-200"},le.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Member"),le.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Role"),le.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Status"))),le.default.createElement("tbody",null,le.default.createElement("tr",null,le.default.createElement("td",{className:"py-3 px-4"},le.default.createElement("div",{className:"flex items-center space-x-3"},le.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},le.default.createElement("span",{className:"text-red-600 font-medium text-sm"},t?.name?.charAt(0).toUpperCase()||"U")),le.default.createElement("div",null,le.default.createElement("p",{className:`font-medium ${a?"text-white":"text-gray-900"}`},t?.name||"You"),le.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},t?.email)))),le.default.createElement("td",{className:"py-3 px-4"},le.default.createElement("span",{className:"px-2 py-1 bg-purple-100 text-purple-700 rounded text-sm"},"Owner")),le.default.createElement("td",{className:"py-3 px-4"},le.default.createElement("span",{className:"flex items-center text-green-600"},le.default.createElement("span",{className:"w-2 h-2 bg-green-500 rounded-full mr-2"}),"Active"))))))),le.default.createElement("div",{className:"border rounded-lg p-6",style:m},le.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${a?"text-white":"text-gray-900"}`},"Usage This Month"),le.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4"},le.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},le.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},n),le.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Agents")),le.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},le.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},by(i?.traces_used),i?.traces_limit>0&&le.default.createElement("span",{className:`text-sm font-normal ${a?"text-gray-500":"text-gray-400"}`}," / ",by(i.traces_limit))),le.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Traces")),le.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},le.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},by(i?.runs_used)),le.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Executions")),le.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},le.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},by(i?.tokens_used)),le.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Tokens")))),le.default.createElement("div",{className:"border rounded-lg p-6",style:m},le.default.createElement("h3",{className:`text-lg font-semibold mb-1 ${a?"text-white":"text-gray-900"}`},"Telemetry"),le.default.createElement("p",{className:`text-sm mb-4 ${a?"text-gray-400":"text-gray-500"}`},"Send traces from your own ActiveAgent app to this workspace. Add this to your"," ",le.default.createElement("code",{className:`px-1 rounded text-xs ${a?"bg-gray-800 text-gray-300":"bg-gray-100 text-gray-700"}`},"config/active_agent.yml"),":"),le.default.createElement("pre",{className:`text-xs rounded-lg p-4 overflow-x-auto mb-4 ${a?"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"] %>`),de.default.createElement("div",{className:"flex items-center justify-between gap-3"},de.default.createElement("div",{className:"min-w-0 flex-1"},de.default.createElement("p",{className:`text-xs uppercase tracking-wide mb-1 ${a?"text-gray-500":"text-gray-400"}`},"API Key"),de.default.createElement("code",{className:`block truncate text-sm font-mono px-3 py-2 rounded-lg border ${a?"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")),de.default.createElement("div",{className:"flex gap-2 flex-shrink-0 self-end"},de.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"),de.default.createElement("button",{onClick:b,className:"px-3 py-2 text-sm bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors"},l?"Copied!":"Copy")))))}var le=ee(ne());var pj={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 nA({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=mt(),[a,i]=(0,le.useState)("profile"),[o,l]=(0,le.useState)([]),[s,u]=(0,le.useState)([]),[c,d]=(0,le.useState)(!1),[f,p]=(0,le.useState)(""),[v,h]=(0,le.useState)(!1),[b,m]=(0,le.useState)(null),[g,x]=(0,le.useState)(!1),[A,k]=(0,le.useState)(null),[_,M]=(0,le.useState)(null),[E,L]=(0,le.useState)(""),[I,j]=(0,le.useState)(!1),z=(0,le.useCallback)(async()=>{try{let[N,T]=await Promise.all([fetch("/api/api_keys"),fetch("/api/provider_keys")]);if(!N.ok||!T.ok)throw new Error("Failed to load keys");let H=await N.json(),Y=await T.json();l(H.api_keys||[]),u(Y.provider_keys||[]),k(null)}catch{k("Could not load API keys. Are you signed in?")}finally{d(!0)}},[]);(0,le.useEffect)(()=>{a==="api-keys"&&!c&&z()},[a,c,z]);let X=async()=>{if(!(!f.trim()||v)){h(!0),k(null);try{let N=await fetch("/api/api_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:f.trim()})});if(!N.ok)throw new Error("create failed");let T=await N.json();m(T.api_key),x(!1),p(""),await z()}catch{k("Could not create the API key.")}finally{h(!1)}}},R=async N=>{if(window.confirm("Revoke this API key? Requests using it will stop working immediately."))try{if(!(await fetch(`/api/api_keys/${N}`,{method:"DELETE"})).ok)throw new Error("delete failed");b&&b.id===N&&m(null),await z()}catch{k("Could not revoke the API key.")}},Q=async N=>{if(!(!E.trim()||I)){j(!0),k(null);try{let T=await fetch("/api/provider_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:N,credential:E.trim()})});if(!T.ok){let H=await T.json().catch(()=>({}));throw new Error(Array.isArray(H.error)?H.error.join(", "):"save failed")}M(null),L(""),await z()}catch(T){k(`Could not save the ${pj[N]?.label||N} credential${T.message!=="save failed"?`: ${T.message}`:"."}`)}finally{j(!1)}}},y=async N=>{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/${N}`,{method:"DELETE"})).ok)throw new Error("delete failed");await z()}catch{k("Could not remove the provider credential.")}},C=async N=>{try{await navigator.clipboard.writeText(N),x(!0),setTimeout(()=>x(!1),2e3)}catch{}},O={backgroundColor:r?"#1f1f1f":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"};return le.default.createElement("div",{className:"p-6 space-y-6"},le.default.createElement("div",null,le.default.createElement("h2",{className:`text-2xl font-bold ${r?"text-white":"text-gray-900"}`},"Settings"),le.default.createElement("p",{className:`mt-1 ${r?"text-gray-400":"text-gray-500"}`},"Manage your account and preferences")),le.default.createElement("div",{className:"border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},le.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(N=>le.default.createElement("button",{key:N.id,onClick:()=>i(N.id),className:`py-4 px-1 border-b-2 font-medium text-sm transition-colors ${a===N.id?"border-red-500 text-red-500":`border-transparent ${r?"text-gray-400 hover:text-gray-300":"text-gray-500 hover:text-gray-700"}`}`},N.label)))),a==="profile"&&le.default.createElement("div",{className:"space-y-6"},le.default.createElement("div",{className:"border rounded-lg p-6",style:O},le.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Profile Information"),le.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},le.default.createElement("div",null,le.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"First Name"),le.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"}`})),le.default.createElement("div",null,le.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Last Name"),le.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"}`})),le.default.createElement("div",{className:"md:col-span-2"},le.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Email"),le.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"}`}))),le.default.createElement("button",{className:"mt-4 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Save Changes")),le.default.createElement("div",{className:"border rounded-lg p-6",style:O},le.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Appearance"),le.default.createElement("div",{className:"flex items-center justify-between"},le.default.createElement("div",null,le.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Dark Mode"),le.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Use dark theme across the dashboard")),le.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"}`},le.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${r?"translate-x-6":"translate-x-1"}`}))))),a==="api-keys"&&le.default.createElement("div",{className:"space-y-6"},le.default.createElement("div",{className:"border rounded-lg p-6",style:O},le.default.createElement("div",{className:"flex items-center justify-between mb-4"},le.default.createElement("h3",{className:`text-lg font-semibold ${r?"text-white":"text-gray-900"}`},"API Keys"),le.default.createElement("div",{className:"flex items-center space-x-2"},le.default.createElement("input",{type:"text",value:f,onChange:N=>p(N.target.value),onKeyDown:N=>N.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"}`}),le.default.createElement("button",{onClick:X,disabled:!f.trim()||v,className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 disabled:opacity-50 whitespace-nowrap"},v?"Creating\u2026":"+ Create New Key"))),le.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"}`},le.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.")),A&&le.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"}`},A),b&&le.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"}`},le.default.createElement("p",{className:`text-sm font-medium mb-2 ${r?"text-green-300":"text-green-800"}`},"Key \u201C",b.name,"\u201D created. Copy it now \u2014 it won't be shown again."),le.default.createElement("div",{className:"flex items-center space-x-2"},le.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"}`},b.token),le.default.createElement("button",{onClick:()=>C(b.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"}`},g?"Copied!":"Copy"),le.default.createElement("button",{onClick:()=>m(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"))),o.length===0?le.default.createElement("div",{className:`text-center py-8 ${r?"text-gray-400":"text-gray-500"}`},le.default.createElement("p",null,c?"No API keys yet":"Loading\u2026"),c&&le.default.createElement("p",{className:"text-sm"},"Create your first API key to authenticate requests")):le.default.createElement("div",{className:"space-y-2"},o.map(N=>le.default.createElement("div",{key:N.id,className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},le.default.createElement("div",null,le.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},N.name),le.default.createElement("p",{className:`text-sm font-mono ${r?"text-gray-400":"text-gray-500"}`},N.masked_token,le.default.createElement("span",{className:"font-sans"}," \xB7 created ",new Date(N.created_at).toLocaleDateString(),N.last_used_at?` \xB7 last used ${new Date(N.last_used_at).toLocaleDateString()}`:" \xB7 never used"))),le.default.createElement("button",{onClick:()=>R(N.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"))))),le.default.createElement("div",{className:"border rounded-lg p-6",style:O},le.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Provider API Keys"),le.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."),le.default.createElement("div",{className:"space-y-4"},s.map(({provider:N,host_based:T,configured:H,hint:Y})=>{let J=pj[N]||{label:N,icon:"\u{1F511}",placeholder:""},fe=_===N;return le.default.createElement("div",{key:N,className:"p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},le.default.createElement("div",{className:"flex items-center justify-between"},le.default.createElement("div",{className:"flex items-center space-x-3"},le.default.createElement("span",{className:"text-xl"},J.icon),le.default.createElement("div",null,le.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},J.label),le.default.createElement("p",{className:`text-sm ${H?r?"text-green-400":"text-green-600":r?"text-gray-400":"text-gray-500"}`},H?T?Y:`Configured (${Y})`:"Not configured"))),le.default.createElement("div",{className:"flex items-center space-x-2"},H&&!fe&&le.default.createElement("button",{onClick:()=>y(N),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"),le.default.createElement("button",{onClick:()=>{M(fe?null:N),L("")},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"}`},fe?"Cancel":H?"Update":"Configure"))),fe&&le.default.createElement("div",{className:"mt-3 flex items-center space-x-2"},le.default.createElement("input",{type:T?"text":"password",value:E,onChange:pe=>L(pe.target.value),onKeyDown:pe=>pe.key==="Enter"&&Q(N),placeholder:T?J.placeholder:`${J.label} API key (${J.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"}`}),le.default.createElement("button",{onClick:()=>Q(N),disabled:!E.trim()||I,className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 disabled:opacity-50 text-sm"},I?"Saving\u2026":"Save")),T&&fe&&le.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)."))})))),a==="notifications"&&le.default.createElement("div",{className:"border rounded-lg p-6",style:O},le.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Email Notifications"),le.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((N,T)=>le.default.createElement("div",{key:T,className:"flex items-center justify-between py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},le.default.createElement("div",null,le.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},N.label),le.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},N.desc)),le.default.createElement("button",{className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${N.enabled?"bg-red-500":r?"bg-gray-700":"bg-gray-300"}`},le.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${N.enabled?"translate-x-6":"translate-x-1"}`})))))),a==="billing"&&le.default.createElement("div",{className:"space-y-6"},le.default.createElement("div",{className:"border rounded-lg p-6",style:O},le.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Subscription"),le.default.createElement("div",{className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},le.default.createElement("div",null,le.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Free Plan"),le.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Current plan")),le.default.createElement("button",{className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Upgrade to Pro"))),le.default.createElement("div",{className:"border rounded-lg p-6",style:O},le.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Payment Method"),le.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No payment method on file"),le.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")),le.default.createElement("div",{className:"border rounded-lg p-6",style:O},le.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Invoices"),le.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No invoices yet"))))}function sQ({user:e,initialAgents:t=[],meta:r={},account:n=null,subscription:a=null}){let{darkMode:i}=mt(),[o,l]=(0,He.useState)(t),[s,u]=(0,He.useState)("list"),[c,d]=(0,He.useState)(null),[f,p]=(0,He.useState)(!1),[v,h]=(0,He.useState)(null),[b,m]=(0,He.useState)(!1),[g,x]=(0,He.useState)("recent");(0,He.useEffect)(()=>{let y=()=>{let C=window.location.pathname;if(C.includes("/traces"))u("traces");else if(C.includes("/metrics"))u("metrics");else if(C.includes("/interactions")&&!C.includes("/agents/"))u("interactions");else if(C.includes("/evaluations"))u("evaluations");else if(C.includes("/analytics")&&!C.includes("/agents/"))u("analytics");else if(C.includes("/agents/new"))u("builder");else if(C.match(/\/agents\/\d+\/(interactions|history)/)){let O=C.match(/\/agents\/(\d+)/)?.[1];C.includes("/history")&&window.history.replaceState({},"",C.replace("/history","/interactions")),O&&A(O,"history")}else if(C.match(/\/agents\/\d+\/analytics/)){let O=C.match(/\/agents\/(\d+)/)?.[1];O&&A(O,"agent-analytics")}else if(C.match(/\/agents\/\d+\/edit/)){let O=C.match(/\/agents\/(\d+)/)?.[1];O&&A(O,"editor")}else if(C.match(/\/agents\/\d+\/run/)){let O=C.match(/\/agents\/(\d+)/)?.[1];O&&A(O,"runner")}else if(C.match(/\/agents\/\d+\/?$/)){let O=C.match(/\/agents\/(\d+)/)?.[1];O&&A(O,"history")}else C.includes("/benchmarks")?u("benchmarks"):C.includes("/replay")?u("replay"):C.includes("/sandbox")||C.includes("/demo")?u("sandbox"):C.includes("/organization")?u("organization"):C.includes("/settings")?u("settings"):u("list")};return y(),window.addEventListener("popstate",y),window.addEventListener("dashboard:navigate",y),()=>{window.removeEventListener("popstate",y),window.removeEventListener("dashboard:navigate",y)}},[]);let A=async(y,C)=>{p(!0);try{let D=await(await fetch(`/api/agents/${y}`)).json();d(D.agent),u(C)}catch{M("Failed to load agent","error")}finally{p(!1)}},k=async(y=g)=>{p(!0);try{let O=await(await fetch(`/api/agents?sort=${y}`)).json();l(O.agents)}catch{M("Failed to refresh agents","error")}finally{p(!1)}},_=y=>{x(y),k(y)},M=(y,C="info")=>{h({message:y,type:C}),setTimeout(()=>h(null),3e3)},E=async y=>{p(!0);try{let C=await fetch("/api/agents",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:y})});if(C.ok){let O=await C.json();l([O.agent,...o]),d(O.agent),u("editor"),M("Agent created successfully!","success"),window.history.pushState({},"",rt(`/agents/${O.agent.id}/edit`))}else{let O=await C.json();M(O.errors?.join(", ")||"Failed to create agent","error")}}catch{M("Failed to create agent","error")}finally{p(!1)}},L=async(y,C)=>{p(!0);try{let O=await fetch(`/api/agents/${y}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:C})});if(O.ok){let D=await O.json();l(o.map(N=>N.id===y?D.agent:N)),d(D.agent),M("Agent updated!","success")}else{let D=await O.json();M(D.errors?.join(", ")||"Failed to update agent","error")}}catch{M("Failed to update agent","error")}finally{p(!1)}},I=async y=>{if(confirm("Are you sure you want to delete this agent?")){p(!0);try{(await fetch(`/api/agents/${y}`,{method:"DELETE"})).ok&&(l(o.filter(O=>O.id!==y)),d(null),u("list"),M("Agent deleted","success"),window.history.pushState({},"",rt()))}catch{M("Failed to delete agent","error")}finally{p(!1)}}},j=async y=>{p(!0);try{let C=await fetch(`/api/agents/${y}/duplicate`,{method:"POST"});if(C.ok){let O=await C.json();l([O.agent,...o]),M("Agent duplicated!","success")}}catch{M("Failed to duplicate agent","error")}finally{p(!1)}},z=y=>{l([y,...o]),d(y),u("editor"),m(!1),M("Agent created from template!","success"),window.history.pushState({},"",rt(`/agents/${y.id}/edit`))},X=["editor","runner","agent-analytics","history"],R=(y,C=null)=>{C?.id&&X.includes(y)&&C.instructions===void 0?A(C.id,y):(d(C),u(y));let O=rt();y==="builder"?O=rt("/agents/new"):y==="editor"&&C?O=rt(`/agents/${C.id}/edit`):y==="runner"&&C?O=rt(`/agents/${C.id}/run`):y==="agent-analytics"&&C?O=rt(`/agents/${C.id}/analytics`):y==="history"&&C?O=rt(`/agents/${C.id}/interactions`):y==="analytics"?O=rt("/analytics"):y==="traces"?O=rt("/traces"):y==="metrics"?O=rt("/metrics"):y==="interactions"?O=rt("/interactions"):y==="evaluations"?O=rt("/evaluations"):y==="benchmarks"?O=rt("/benchmarks"):y==="replay"?O=rt("/replay"):y==="sandbox"?O=rt("/sandbox"):y==="organization"?O=rt("/organization"):y==="settings"&&(O=rt("/settings")),window.history.pushState({},"",O)},Q=()=>{switch(s){case"builder":return He.default.createElement(Ab,{meta:r,onSave:E,onCancel:()=>R("list"),isLoading:f});case"editor":return c?He.default.createElement(Sg,{key:`editor-${c.id}`,agent:c,meta:r,onSave:y=>L(c.id,y),onDelete:()=>I(c.id),onRun:()=>R("runner",c),onDuplicate:()=>j(c.id),onRunReport:()=>R("history",c),onBack:()=>R("list"),isLoading:f}):null;case"runner":return c?He.default.createElement($S,{agent:c,onBack:()=>R("editor",c)}):null;case"agent-analytics":return c?He.default.createElement(Sg,{key:`agent-analytics-${c.id}`,agent:c,meta:r,initialTab:"metrics",onSave:y=>L(c.id,y),onDelete:()=>I(c.id),onRun:()=>R("runner",c),onDuplicate:()=>j(c.id),onRunReport:()=>R("history",c),onBack:()=>R("list"),isLoading:f}):null;case"history":return c?He.default.createElement(VS,{agent:c,onBack:()=>R("editor",c)}):null;case"analytics":return He.default.createElement(HS,{onSelectAgent:y=>{A(y.id,"agent-analytics")}});case"traces":return He.default.createElement(Kl,null);case"metrics":return He.default.createElement(KS,null);case"interactions":return He.default.createElement(Di,null);case"evaluations":return He.default.createElement(qf,null);case"replay":return He.default.createElement(tA,{onHandoff:y=>{M("Taking over session...","info"),R("sandbox")},onClose:()=>R("list")});case"sandbox":return He.default.createElement(RS,{initialType:"playwright_mcp",onClose:()=>R("list")});case"organization":return He.default.createElement(rA,{user:e,account:n,subscription:a,agentCount:o.length});case"settings":return He.default.createElement(nA,{user:e});default:return He.default.createElement(Sb,{agents:o,meta:r,onSelect:y=>R("editor",y),onNew:()=>R("builder"),onBrowseTemplates:()=>m(!0),onDuplicate:j,onDelete:I,onRefresh:k,sort:g,onSortChange:_,isLoading:f})}};return He.default.createElement("div",{className:"min-h-screen flex",style:{backgroundColor:i?"#0f0f0f":"#f9fafb"}},He.default.createElement(qS,{currentView:s,onNavigate:R,agentCount:o.length,account:n,user:e,gemVersion:r.activeagentVersion}),He.default.createElement("div",{className:"flex-1 flex flex-col"},He.default.createElement(YS,{user:e,account:n}),He.default.createElement("main",{className:"flex-1 p-6 overflow-auto"},Q())),b&&He.default.createElement(FS,{onUseTemplate:z,onClose:()=>m(!1)}),v&&He.default.createElement("div",{className:`fixed bottom-4 right-4 px-6 py-3 rounded-lg shadow-lg transition-all transform ${v.type==="error"?"bg-red-500":v.type==="success"?"bg-green-500":"bg-blue-500"} text-white`},v.message),f&&He.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-20 flex items-center justify-center z-50"},He.default.createElement("div",{className:`rounded-lg p-4 shadow-xl ${i?"bg-gray-800":"bg-white"}`},He.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}))))}function aA(e){return He.default.createElement(nE,null,He.default.createElement(XP,null,He.default.createElement(sQ,{...e})))}var uQ="active-agent-dashboard";function cQ(e){let t=e.replace(/\/$/,"");if(!t)return;let r=window.fetch.bind(window);window.fetch=(n,a)=>{if(typeof n=="string"&&n.startsWith("/api/"))return r(`${t}${n}`,a);if(n instanceof Request&&new URL(n.url,window.location.origin).pathname.startsWith("/api/")){let i=new URL(n.url,window.location.origin);return r(new Request(`${t}${i.pathname}${i.search}`,n),a)}return r(n,a)}}function mj(){let e=document.getElementById(uQ);if(!e)return;let t=JSON.parse(e.dataset.props||"{}");window.ACTIVE_AGENT_DASHBOARD=t,cQ(t.mountPath||"/"),(0,hj.createRoot)(e).render(vj.default.createElement(aA,{...t}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",mj):mj(); + api_key: <%= ENV["ACTIVEAGENTS_API_KEY"] %>`),le.default.createElement("div",{className:"flex items-center justify-between gap-3"},le.default.createElement("div",{className:"min-w-0 flex-1"},le.default.createElement("p",{className:`text-xs uppercase tracking-wide mb-1 ${a?"text-gray-500":"text-gray-400"}`},"API Key"),le.default.createElement("code",{className:`block truncate text-sm font-mono px-3 py-2 rounded-lg border ${a?"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")),le.default.createElement("div",{className:"flex gap-2 flex-shrink-0 self-end"},le.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"),le.default.createElement("button",{onClick:b,className:"px-3 py-2 text-sm bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors"},l?"Copied!":"Copy")))))}var ae=J(R());var ej={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 GS({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=it(),[a,i]=(0,ae.useState)("profile"),[o,l]=(0,ae.useState)([]),[s,u]=(0,ae.useState)([]),[c,d]=(0,ae.useState)(!1),[f,p]=(0,ae.useState)(""),[v,g]=(0,ae.useState)(!1),[b,m]=(0,ae.useState)(null),[h,x]=(0,ae.useState)(!1),[w,E]=(0,ae.useState)(null),[C,T]=(0,ae.useState)(null),[_,I]=(0,ae.useState)(""),[z,B]=(0,ae.useState)(!1),$=(0,ae.useCallback)(async()=>{try{let[A,k]=await Promise.all([fetch("/api/api_keys"),fetch("/api/provider_keys")]);if(!A.ok||!k.ok)throw new Error("Failed to load keys");let V=await A.json(),G=await k.json();l(V.api_keys||[]),u(G.provider_keys||[]),E(null)}catch{E("Could not load API keys. Are you signed in?")}finally{d(!0)}},[]);(0,ae.useEffect)(()=>{a==="api-keys"&&!c&&$()},[a,c,$]);let X=async()=>{if(!(!f.trim()||v)){g(!0),E(null);try{let A=await fetch("/api/api_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:f.trim()})});if(!A.ok)throw new Error("create failed");let k=await A.json();m(k.api_key),x(!1),p(""),await $()}catch{E("Could not create the API key.")}finally{g(!1)}}},H=async A=>{if(window.confirm("Revoke this API key? Requests using it will stop working immediately."))try{if(!(await fetch(`/api/api_keys/${A}`,{method:"DELETE"})).ok)throw new Error("delete failed");b&&b.id===A&&m(null),await $()}catch{E("Could not revoke the API key.")}},q=async A=>{if(!(!_.trim()||z)){B(!0),E(null);try{let k=await fetch("/api/provider_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:A,credential:_.trim()})});if(!k.ok){let V=await k.json().catch(()=>({}));throw new Error(Array.isArray(V.error)?V.error.join(", "):"save failed")}T(null),I(""),await $()}catch(k){E(`Could not save the ${ej[A]?.label||A} credential${k.message!=="save failed"?`: ${k.message}`:"."}`)}finally{B(!1)}}},y=async A=>{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/${A}`,{method:"DELETE"})).ok)throw new Error("delete failed");await $()}catch{E("Could not remove the provider credential.")}},N=async A=>{try{await navigator.clipboard.writeText(A),x(!0),setTimeout(()=>x(!1),2e3)}catch{}},O={backgroundColor:r?"#1f1f1f":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"};return ae.default.createElement("div",{className:"p-6 space-y-6"},ae.default.createElement("div",null,ae.default.createElement("h2",{className:`text-2xl font-bold ${r?"text-white":"text-gray-900"}`},"Settings"),ae.default.createElement("p",{className:`mt-1 ${r?"text-gray-400":"text-gray-500"}`},"Manage your account and preferences")),ae.default.createElement("div",{className:"border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},ae.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(A=>ae.default.createElement("button",{key:A.id,onClick:()=>i(A.id),className:`py-4 px-1 border-b-2 font-medium text-sm transition-colors ${a===A.id?"border-red-500 text-red-500":`border-transparent ${r?"text-gray-400 hover:text-gray-300":"text-gray-500 hover:text-gray-700"}`}`},A.label)))),a==="profile"&&ae.default.createElement("div",{className:"space-y-6"},ae.default.createElement("div",{className:"border rounded-lg p-6",style:O},ae.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Profile Information"),ae.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},ae.default.createElement("div",null,ae.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"First Name"),ae.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"}`})),ae.default.createElement("div",null,ae.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Last Name"),ae.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"}`})),ae.default.createElement("div",{className:"md:col-span-2"},ae.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Email"),ae.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"}`}))),ae.default.createElement("button",{className:"mt-4 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Save Changes")),ae.default.createElement("div",{className:"border rounded-lg p-6",style:O},ae.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Appearance"),ae.default.createElement("div",{className:"flex items-center justify-between"},ae.default.createElement("div",null,ae.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Dark Mode"),ae.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Use dark theme across the dashboard")),ae.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"}`},ae.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${r?"translate-x-6":"translate-x-1"}`}))))),a==="api-keys"&&ae.default.createElement("div",{className:"space-y-6"},ae.default.createElement("div",{className:"border rounded-lg p-6",style:O},ae.default.createElement("div",{className:"flex items-center justify-between mb-4"},ae.default.createElement("h3",{className:`text-lg font-semibold ${r?"text-white":"text-gray-900"}`},"API Keys"),ae.default.createElement("div",{className:"flex items-center space-x-2"},ae.default.createElement("input",{type:"text",value:f,onChange:A=>p(A.target.value),onKeyDown:A=>A.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"}`}),ae.default.createElement("button",{onClick:X,disabled:!f.trim()||v,className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 disabled:opacity-50 whitespace-nowrap"},v?"Creating\u2026":"+ Create New Key"))),ae.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"}`},ae.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.")),w&&ae.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"}`},w),b&&ae.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"}`},ae.default.createElement("p",{className:`text-sm font-medium mb-2 ${r?"text-green-300":"text-green-800"}`},"Key \u201C",b.name,"\u201D created. Copy it now \u2014 it won't be shown again."),ae.default.createElement("div",{className:"flex items-center space-x-2"},ae.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"}`},b.token),ae.default.createElement("button",{onClick:()=>N(b.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"}`},h?"Copied!":"Copy"),ae.default.createElement("button",{onClick:()=>m(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"))),o.length===0?ae.default.createElement("div",{className:`text-center py-8 ${r?"text-gray-400":"text-gray-500"}`},ae.default.createElement("p",null,c?"No API keys yet":"Loading\u2026"),c&&ae.default.createElement("p",{className:"text-sm"},"Create your first API key to authenticate requests")):ae.default.createElement("div",{className:"space-y-2"},o.map(A=>ae.default.createElement("div",{key:A.id,className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},ae.default.createElement("div",null,ae.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},A.name),ae.default.createElement("p",{className:`text-sm font-mono ${r?"text-gray-400":"text-gray-500"}`},A.masked_token,ae.default.createElement("span",{className:"font-sans"}," \xB7 created ",new Date(A.created_at).toLocaleDateString(),A.last_used_at?` \xB7 last used ${new Date(A.last_used_at).toLocaleDateString()}`:" \xB7 never used"))),ae.default.createElement("button",{onClick:()=>H(A.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"))))),ae.default.createElement("div",{className:"border rounded-lg p-6",style:O},ae.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Provider API Keys"),ae.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."),ae.default.createElement("div",{className:"space-y-4"},s.map(({provider:A,host_based:k,configured:V,hint:G})=>{let Q=ej[A]||{label:A,icon:"\u{1F511}",placeholder:""},se=C===A;return ae.default.createElement("div",{key:A,className:"p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},ae.default.createElement("div",{className:"flex items-center justify-between"},ae.default.createElement("div",{className:"flex items-center space-x-3"},ae.default.createElement("span",{className:"text-xl"},Q.icon),ae.default.createElement("div",null,ae.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},Q.label),ae.default.createElement("p",{className:`text-sm ${V?r?"text-green-400":"text-green-600":r?"text-gray-400":"text-gray-500"}`},V?k?G:`Configured (${G})`:"Not configured"))),ae.default.createElement("div",{className:"flex items-center space-x-2"},V&&!se&&ae.default.createElement("button",{onClick:()=>y(A),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"),ae.default.createElement("button",{onClick:()=>{T(se?null:A),I("")},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"}`},se?"Cancel":V?"Update":"Configure"))),se&&ae.default.createElement("div",{className:"mt-3 flex items-center space-x-2"},ae.default.createElement("input",{type:k?"text":"password",value:_,onChange:ue=>I(ue.target.value),onKeyDown:ue=>ue.key==="Enter"&&q(A),placeholder:k?Q.placeholder:`${Q.label} API key (${Q.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"}`}),ae.default.createElement("button",{onClick:()=>q(A),disabled:!_.trim()||z,className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 disabled:opacity-50 text-sm"},z?"Saving\u2026":"Save")),k&&se&&ae.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)."))})))),a==="notifications"&&ae.default.createElement("div",{className:"border rounded-lg p-6",style:O},ae.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Email Notifications"),ae.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((A,k)=>ae.default.createElement("div",{key:k,className:"flex items-center justify-between py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},ae.default.createElement("div",null,ae.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},A.label),ae.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},A.desc)),ae.default.createElement("button",{className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${A.enabled?"bg-red-500":r?"bg-gray-700":"bg-gray-300"}`},ae.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${A.enabled?"translate-x-6":"translate-x-1"}`})))))),a==="billing"&&ae.default.createElement("div",{className:"space-y-6"},ae.default.createElement("div",{className:"border rounded-lg p-6",style:O},ae.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Subscription"),ae.default.createElement("div",{className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},ae.default.createElement("div",null,ae.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Free Plan"),ae.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Current plan")),ae.default.createElement("button",{className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Upgrade to Pro"))),ae.default.createElement("div",{className:"border rounded-lg p-6",style:O},ae.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Payment Method"),ae.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No payment method on file"),ae.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")),ae.default.createElement("div",{className:"border rounded-lg p-6",style:O},ae.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Invoices"),ae.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No invoices yet"))))}function sQ({user:e,initialAgents:t=[],meta:r={},account:n=null,subscription:a=null}){let{darkMode:i}=it(),[o,l]=(0,ze.useState)(t),[s,u]=(0,ze.useState)("list"),[c,d]=(0,ze.useState)(null),[f,p]=(0,ze.useState)(!1),[v,g]=(0,ze.useState)(null),[b,m]=(0,ze.useState)(!1),[h,x]=(0,ze.useState)("recent");(0,ze.useEffect)(()=>{let y=()=>{let N=window.location.pathname;if(N.includes("/traces"))u("traces");else if(N.includes("/metrics"))u("metrics");else if(N.includes("/interactions")&&!N.includes("/agents/"))u("interactions");else if(N.includes("/evaluations"))u("evaluations");else if(N.includes("/analytics")&&!N.includes("/agents/"))u("analytics");else if(N.includes("/agents/new"))u("builder");else if(N.match(/\/agents\/\d+\/(interactions|history)/)){let O=N.match(/\/agents\/(\d+)/)?.[1];N.includes("/history")&&window.history.replaceState({},"",N.replace("/history","/interactions")),O&&w(O,"history")}else if(N.match(/\/agents\/\d+\/analytics/)){let O=N.match(/\/agents\/(\d+)/)?.[1];O&&w(O,"agent-analytics")}else if(N.match(/\/agents\/\d+\/edit/)){let O=N.match(/\/agents\/(\d+)/)?.[1];O&&w(O,"editor")}else if(N.match(/\/agents\/\d+\/run/)){let O=N.match(/\/agents\/(\d+)/)?.[1];O&&w(O,"runner")}else if(N.match(/\/agents\/\d+\/?$/)){let O=N.match(/\/agents\/(\d+)/)?.[1];O&&w(O,"history")}else N.includes("/benchmarks")?u("benchmarks"):N.includes("/replay")?u("replay"):N.includes("/sandbox")||N.includes("/demo")?u("sandbox"):N.includes("/organization")?u("organization"):N.includes("/settings")?u("settings"):u("list")};return y(),window.addEventListener("popstate",y),window.addEventListener("dashboard:navigate",y),()=>{window.removeEventListener("popstate",y),window.removeEventListener("dashboard:navigate",y)}},[]);let w=async(y,N)=>{p(!0);try{let M=await(await fetch(`/api/agents/${y}`)).json();d(M.agent),u(N)}catch{T("Failed to load agent","error")}finally{p(!1)}},E=async(y=h)=>{p(!0);try{let O=await(await fetch(`/api/agents?sort=${y}`)).json();l(O.agents)}catch{T("Failed to refresh agents","error")}finally{p(!1)}},C=y=>{x(y),E(y)},T=(y,N="info")=>{g({message:y,type:N}),setTimeout(()=>g(null),3e3)},_=async y=>{p(!0);try{let N=await fetch("/api/agents",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:y})});if(N.ok){let O=await N.json();l([O.agent,...o]),d(O.agent),u("editor"),T("Agent created successfully!","success"),window.history.pushState({},"",Je(`/agents/${O.agent.id}/edit`))}else{let O=await N.json();T(O.errors?.join(", ")||"Failed to create agent","error")}}catch{T("Failed to create agent","error")}finally{p(!1)}},I=async(y,N)=>{p(!0);try{let O=await fetch(`/api/agents/${y}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:N})});if(O.ok){let M=await O.json();l(o.map(A=>A.id===y?M.agent:A)),d(M.agent),T("Agent updated!","success")}else{let M=await O.json();T(M.errors?.join(", ")||"Failed to update agent","error")}}catch{T("Failed to update agent","error")}finally{p(!1)}},z=async y=>{if(confirm("Are you sure you want to delete this agent?")){p(!0);try{(await fetch(`/api/agents/${y}`,{method:"DELETE"})).ok&&(l(o.filter(O=>O.id!==y)),d(null),u("list"),T("Agent deleted","success"),window.history.pushState({},"",Je()))}catch{T("Failed to delete agent","error")}finally{p(!1)}}},B=async y=>{p(!0);try{let N=await fetch(`/api/agents/${y}/duplicate`,{method:"POST"});if(N.ok){let O=await N.json();l([O.agent,...o]),T("Agent duplicated!","success")}}catch{T("Failed to duplicate agent","error")}finally{p(!1)}},$=y=>{l([y,...o]),d(y),u("editor"),m(!1),T("Agent created from template!","success"),window.history.pushState({},"",Je(`/agents/${y.id}/edit`))},X=["editor","runner","agent-analytics","history"],H=(y,N=null)=>{N?.id&&X.includes(y)&&N.instructions===void 0?w(N.id,y):(d(N),u(y));let O=Je();y==="builder"?O=Je("/agents/new"):y==="editor"&&N?O=Je(`/agents/${N.id}/edit`):y==="runner"&&N?O=Je(`/agents/${N.id}/run`):y==="agent-analytics"&&N?O=Je(`/agents/${N.id}/analytics`):y==="history"&&N?O=Je(`/agents/${N.id}/interactions`):y==="analytics"?O=Je("/analytics"):y==="traces"?O=Je("/traces"):y==="metrics"?O=Je("/metrics"):y==="interactions"?O=Je("/interactions"):y==="evaluations"?O=Je("/evaluations"):y==="benchmarks"?O=Je("/benchmarks"):y==="replay"?O=Je("/replay"):y==="sandbox"?O=Je("/sandbox"):y==="organization"?O=Je("/organization"):y==="settings"&&(O=Je("/settings")),window.history.pushState({},"",O)},q=()=>{switch(s){case"builder":return ze.default.createElement(ub,{meta:r,onSave:_,onCancel:()=>H("list"),isLoading:f});case"editor":return c?ze.default.createElement(my,{key:`editor-${c.id}`,agent:c,meta:r,onSave:y=>I(c.id,y),onDelete:()=>z(c.id),onRun:()=>H("runner",c),onDuplicate:()=>B(c.id),onRunReport:()=>H("history",c),onBack:()=>H("list"),isLoading:f}):null;case"runner":return c?ze.default.createElement(MS,{agent:c,onBack:()=>H("editor",c)}):null;case"agent-analytics":return c?ze.default.createElement(my,{key:`agent-analytics-${c.id}`,agent:c,meta:r,initialTab:"metrics",onSave:y=>I(c.id,y),onDelete:()=>z(c.id),onRun:()=>H("runner",c),onDuplicate:()=>B(c.id),onRunReport:()=>H("history",c),onBack:()=>H("list"),isLoading:f}):null;case"history":return c?ze.default.createElement(PS,{agent:c,onBack:()=>H("editor",c)}):null;case"analytics":return ze.default.createElement(DS,{onSelectAgent:y=>{w(y.id,"agent-analytics")}});case"traces":return ze.default.createElement(zl,null);case"metrics":return ze.default.createElement(BS,null);case"interactions":return ze.default.createElement(Si,null);case"evaluations":return ze.default.createElement(zf,null);case"replay":return ze.default.createElement(WS,{onHandoff:y=>{T("Taking over session...","info"),H("sandbox")},onClose:()=>H("list")});case"sandbox":return ze.default.createElement(YS,{initialType:"playwright_mcp",onClose:()=>H("list")});case"organization":return ze.default.createElement(KS,{user:e,account:n,subscription:a,agentCount:o.length});case"settings":return ze.default.createElement(GS,{user:e});default:return ze.default.createElement(sb,{agents:o,meta:r,onSelect:y=>H("editor",y),onNew:()=>H("builder"),onBrowseTemplates:()=>m(!0),onDuplicate:B,onDelete:z,onRefresh:E,sort:h,onSortChange:C,isLoading:f})}};return ze.default.createElement("div",{className:"min-h-screen flex",style:{backgroundColor:i?"#0f0f0f":"#f9fafb"}},ze.default.createElement(IS,{currentView:s,onNavigate:H,agentCount:o.length,account:n,user:e,gemVersion:r.activeagentVersion}),ze.default.createElement("div",{className:"flex-1 flex flex-col"},ze.default.createElement(zS,{user:e,account:n}),ze.default.createElement("main",{className:"flex-1 p-6 overflow-auto"},q())),b&&ze.default.createElement(jS,{onUseTemplate:$,onClose:()=>m(!1)}),v&&ze.default.createElement("div",{className:`fixed bottom-4 right-4 px-6 py-3 rounded-lg shadow-lg transition-all transform ${v.type==="error"?"bg-red-500":v.type==="success"?"bg-green-500":"bg-blue-500"} text-white`},v.message),f&&ze.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-20 flex items-center justify-center z-50"},ze.default.createElement("div",{className:`rounded-lg p-4 shadow-xl ${i?"bg-gray-800":"bg-white"}`},ze.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}))))}function XS(e){return ze.default.createElement($_,null,ze.default.createElement(_P,null,ze.default.createElement(sQ,{...e})))}var uQ="active-agent-dashboard";function cQ(e){let t=e.replace(/\/$/,"");if(!t)return;let r=window.fetch.bind(window);window.fetch=(n,a)=>{if(typeof n=="string"&&n.startsWith("/api/"))return r(`${t}${n}`,a);if(n instanceof Request&&new URL(n.url,window.location.origin).pathname.startsWith("/api/")){let i=new URL(n.url,window.location.origin);return r(new Request(`${t}${i.pathname}${i.search}`,n),a)}return r(n,a)}}function tj(){let e=document.getElementById(uQ);if(!e)return;let t=JSON.parse(e.dataset.props||"{}");window.ACTIVE_AGENT_DASHBOARD=t,cQ(t.mountPath||"/"),(0,nj.createRoot)(e).render(rj.default.createElement(XS,{...t}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",tj):tj(); /*! Bundled license information: react/cjs/react.production.js: diff --git a/actionagent/app/controllers/action_agent/api/interactions_controller.rb b/actionagent/app/controllers/action_agent/api/interactions_controller.rb index 3788fbd7..17c1fec0 100644 --- a/actionagent/app/controllers/action_agent/api/interactions_controller.rb +++ b/actionagent/app/controllers/action_agent/api/interactions_controller.rb @@ -38,12 +38,15 @@ def index latest_models = AgentGeneration.where(id: newest_ids.values) .pluck(:agent_context_id, :model).to_h + previews = message_previews(contexts.map(&:id)) + persisted = contexts.map do |context| serialize_context(context).merge( source: "platform", model: latest_models[context.id], message_count: message_counts[context.id] || 0, - generation_count: generation_counts[context.id] || 0 + generation_count: generation_counts[context.id] || 0, + preview: previews[context.id] || { input: nil, output: nil } ) end @@ -75,6 +78,38 @@ def show private + # What each stream opened with and what it finally answered, so a + # collapsed interaction row says what it was about — the same two lines a + # collapsed trace row shows. Two grouped queries rather than loading + # every message: the list is fifty streams deep and only needs the ends + # of each. + def message_previews(context_ids) + return {} if context_ids.empty? + + first_input = edge_messages(context_ids, "user", :minimum) + last_output = edge_messages(context_ids, "assistant", :maximum) + + context_ids.index_with do |id| + { + input: InteractionPreview.line(first_input[id]), + output: InteractionPreview.line(last_output[id]) + } + end + end + + # The first or last message of a role per context. Messages are only ever + # appended, so the smallest and largest ids are the ends of the stream — + # which is the portable form of the DISTINCT ON this would be on + # PostgreSQL, and the same shape the latest-model lookup above uses. + def edge_messages(context_ids, role, edge) + scope = AgentMessage + .where(agent_context_id: context_ids, role: role) + .where.not(content: [ nil, "" ]) + + ids = scope.group(:agent_context_id).public_send(edge, :id) + AgentMessage.where(id: ids.values).pluck(:agent_context_id, :content).to_h + end + # Agents executing outside the platform never write solid_agent contexts — # they only report traces. Every reported trace is an interaction: one run # of one agent. Traces without captured content still show their tool calls, diff --git a/actionagent/app/serializers/action_agent/interaction_preview.rb b/actionagent/app/serializers/action_agent/interaction_preview.rb new file mode 100644 index 00000000..8e7349d4 --- /dev/null +++ b/actionagent/app/serializers/action_agent/interaction_preview.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module ActionAgent + # The two lines a collapsed interaction row shows — what the stream was + # asked, and what it finally answered. Both sources of an interaction produce + # them: solid_agent contexts (Api::InteractionsController) and reported + # traces (TraceInteractionSerializer), so a list mixing the two reads the + # same way either side of the row came from. + module InteractionPreview + # One line each. The list is fifty streams deep, and the row clips to a + # single line anyway — sending the whole conversation to be truncated in + # the browser would pay for text nobody reads. + LIMIT = 300 + + def self.line(value) + text = value.to_s.squish + return nil if text.blank? + + text.truncate(LIMIT) + end + end +end diff --git a/actionagent/app/serializers/action_agent/trace_interaction_serializer.rb b/actionagent/app/serializers/action_agent/trace_interaction_serializer.rb index 87aae453..b3482eec 100644 --- a/actionagent/app/serializers/action_agent/trace_interaction_serializer.rb +++ b/actionagent/app/serializers/action_agent/trace_interaction_serializer.rb @@ -45,6 +45,7 @@ def summary total: @trace.total_input_tokens.to_i + @trace.total_output_tokens.to_i }, message_count: messages.size, + preview: preview, # Tool activity is known even when content capture is off, so a run # reported without prompts still shows what it did. tool_count: tool_spans.size, @@ -65,6 +66,19 @@ def detail private + # What the run was asked and what it answered — the opening prompt and the + # final assistant turn, since the middle of a stream is tool traffic. + def preview + said = ->(role, list) { list.find { |m| m[:role] == role && m[:content].present? }&.[](:content) } + + { + input: InteractionPreview.line(said.call("user", messages)), + # A tool-calling assistant turn carries no prose, so the last one that + # does is the answer. + output: InteractionPreview.line(said.call("assistant", messages.reverse)) + } + end + # The generation span. Older traces wrapped a separate `llm` span inside a # root; newer ones merge them, since the provider loop *is* the interaction. # Accept both, and never count the same generation twice. diff --git a/actionagent/frontend/components/dashboard/InteractionsView.jsx b/actionagent/frontend/components/dashboard/InteractionsView.jsx index 2f745037..6ba37520 100644 --- a/actionagent/frontend/components/dashboard/InteractionsView.jsx +++ b/actionagent/frontend/components/dashboard/InteractionsView.jsx @@ -5,10 +5,20 @@ import { import { useTheme } from '../../contexts/ThemeContext'; import { useTimeWindow } from '../../contexts/TimeWindowContext'; import TimeWindowSelector from './TimeWindowSelector'; -import InteractionStream from './InteractionStream'; +import InteractionStream, { roleBubble } from './InteractionStream'; import ContextMeter, { contextWindowFor, estimateTokens } from './ContextMeter'; -import TraceSpanPills from './TraceSpanPills'; +import TraceSpanBar from './TraceSpanBar'; +import TraceDetail from './TraceDetail'; +import { formatDuration } from './SpanWaterfall'; import { dashboardPath } from '../../utils/dashboardPath'; +import { + Chevron, + ObjectCard, + PreviewLines, + SegmentedControl, + telemetryColors, + useDisclosureSet, +} from './TelemetryObject'; // Context pressure for one interaction: the biggest generation's real token // counts against its model's window, with segment sizes estimated from the @@ -66,6 +76,14 @@ const SORT_OPTIONS = [ { id: 'messages', label: 'Messages' }, ]; +// The same pair of sub-views a trace offers, in the same order and with the +// same labels — an interaction is the conversation side of the runs Traces +// shows from the execution side, so the toggle between them reads alike. +const INTERACTION_VIEWS = [ + { id: 'conversation', label: 'Conversation', hint: 'Messages, tool calls and responses in order' }, + { id: 'spans', label: 'Spans', hint: 'Each generation as a trace — waterfall, span details, timings' }, +]; + const REFRESH_INTERVAL_MS = 30000; const formatNumber = (num) => { @@ -85,6 +103,114 @@ const timeAgo = (iso) => { }; +// One generation as an expandable object: what the provider was asked to do +// and what it charged for, collapsed to a metadata line and a span bar. Every +// generation is one trace, so expanding it opens the very panel the Traces +// view opens — waterfall, per-span contents, context pressure and all. +function GenerationRow({ generation, darkMode, maxMs, expanded, onToggle }) { + const colors = telemetryColors(darkMode); + const [trace, setTrace] = useState(null); + const [failed, setFailed] = useState(false); + const traceId = generation.trace_id; + const ms = (generation.duration_seconds || 0) * 1000; + + useEffect(() => { + if (!traceId) return undefined; + let alive = true; + fetch(`/api/traces/${encodeURIComponent(traceId)}`) + .then((response) => (response.ok ? response.json() : Promise.reject(new Error('not found')))) + .then(({ trace: detail }) => alive && setTrace(detail)) + .catch(() => alive && setFailed(true)); + return () => { + alive = false; + }; + }, [traceId]); + + const expandable = Boolean(trace); + const spanCount = (trace?.spans || []).length; + + return ( +
+
+
+ + {generation.cache_hit ? '⚡ cache hit' : '● generated'} + + {generation.thinking && ( + + 🧠 {formatNumber(generation.tokens.thinking)} + + )} + {generation.model || 'unknown-model'} + {generation.provider && {generation.provider}} + in:{formatNumber(generation.tokens.input)} + out:{formatNumber(generation.tokens.output)} + {generation.finish_reason && {generation.finish_reason}} + {generation.duration_seconds != null && {formatDuration(ms)}} + {traceId && ( + event.stopPropagation()} + > + trace:{traceId.slice(0, 8)} → + + )} + {failed && trace unavailable} +
+ +
+ {traceId && !failed ? ( + + ) : ms > 0 ? ( + // No trace behind this generation — its runtime against the + // interaction's slowest is still worth a bar. +
+
+
+ ) : null} + {expandable && ( + <> + + {spanCount} {spanCount === 1 ? 'span' : 'spans'} + + + + )} +
+
+ + {expanded && trace && ( +
+ {/* compact: the row above already prints this generation's tokens + and model, so the panel doesn't repeat them. */} + +
+ )} +
+ ); +} + // agentId scopes the view to one agent's conversation streams (per-agent // embed: same component, different UX context); embedded hides the page // header so it can sit inside another view's chrome. @@ -245,47 +371,13 @@ export default function InteractionsView({ agentId = null, embedded = false }) { } }; - const colors = { - cardBg: darkMode ? '#1f1f1f' : '#ffffff', - cardBorder: darkMode ? '#2a2a2a' : '#e5e7eb', - innerBg: darkMode ? 'rgba(255,255,255,0.04)' : '#f9fafb', - textPrimary: darkMode ? '#ffffff' : '#111827', - textSecondary: darkMode ? 'rgba(255,255,255,0.6)' : '#6b7280', - textMuted: darkMode ? 'rgba(255,255,255,0.4)' : '#9ca3af', - }; + // Which sub-view an expanded interaction is showing, per interaction, so + // reopening one comes back to where you left it. + const [sessionViews, setSessionViews] = useState({}); + // Generations expand independently of each other and of their interaction. + const [isGenerationOpen, toggleGeneration] = useDisclosureSet(); - // Tool arguments/results arrive as JSON — objects from platform runs, encoded - // strings from reported traces. Indent either so the stream stays readable. - const formatPayload = (value) => { - if (value == null) return '—'; - if (typeof value !== 'string') return JSON.stringify(value, null, 2); - try { - return JSON.stringify(JSON.parse(value), null, 2); - } catch { - return value; - } - }; - - const roleBubble = (role) => { - switch (role) { - case 'user': - return darkMode - ? { background: 'rgba(59,130,246,0.15)', color: '#93c5fd', label: 'User' } - : { background: '#eff6ff', color: '#1d4ed8', label: 'User' }; - case 'assistant': - return darkMode - ? { background: 'rgba(239,68,68,0.12)', color: '#fca5a5', label: 'Assistant' } - : { background: '#fef2f2', color: '#b91c1c', label: 'Assistant' }; - case 'tool': - return darkMode - ? { background: 'rgba(245,158,11,0.12)', color: '#fcd34d', label: 'Tool' } - : { background: '#fffbeb', color: '#b45309', label: 'Tool' }; - default: - return darkMode - ? { background: 'rgba(255,255,255,0.08)', color: 'rgba(255,255,255,0.7)', label: role } - : { background: '#f3f4f6', color: '#374151', label: role }; - } - }; + const colors = telemetryColors(darkMode); if (isLoading) { return ( @@ -456,16 +548,17 @@ export default function InteractionsView({ agentId = null, embedded = false }) { {group.sessions.map((session) => { const detail = details[session.id]; const isExpanded = expandedSession === session.id; + const sessionView = sessionViews[session.id] || 'conversation'; return ( -
- {/* Session header */} + + {/* Session header — the same object header a trace card uses: + kind, identity, meta strip, chevron. */}
toggleSession(session.id)} + style={isExpanded ? { background: colors.hoverBg } : undefined} >
{session.source === 'telemetry' ? ( @@ -511,15 +604,24 @@ export default function InteractionsView({ agentId = null, embedded = false }) { /> )} {timeAgo(session.last_activity_at)} - - - +
+ {/* What this conversation was about, before you open it — + the same two lines a trace row shows. */} + {!isExpanded && ( + toggleSession(session.id)} + style={{ padding: '0 16px 12px' }} + lines={[ + { label: 'input', text: session.preview?.input, color: roleBubble('user', darkMode).color }, + { label: 'output', text: session.preview?.output, color: roleBubble('assistant', darkMode).color }, + ]} + /> + )} + {/* Expanded conversation */} {isExpanded && (
@@ -529,114 +631,94 @@ export default function InteractionsView({ agentId = null, embedded = false }) {
) : ( <> - {detail.messages.length === 0 && ( - // A run reported without content capture: we know it - // happened and what it cost, not what was said. -
- No conversation content captured for this run. Enable content capture in - the reporting app to record prompts, tool arguments, and responses. -
+ {/* Conversation or execution, the same toggle a trace + offers — an interaction and a trace are two sides + of the same run. */} +
+ setSessionViews((prev) => ({ ...prev, [session.id]: next }))} + darkMode={darkMode} + /> + + {detail.messages.length} {detail.messages.length === 1 ? 'message' : 'messages'} + {detail.generations.length > 0 && ` · ${detail.generations.length} ${detail.generations.length === 1 ? 'generation' : 'generations'}`} + +
+ + {sessionView === 'conversation' && ( + <> + {detail.messages.length === 0 && ( + // A run reported without content capture: we know + // it happened and what it cost, not what was said. +
+ No conversation content captured for this run. Enable content capture in + the reporting app to record prompts, tool arguments, and responses. +
+ )} + + + {/* Context pressure for the interaction as a + whole. The Spans view states it per + generation instead, which is the finer answer + — saying both would print the same meter + twice. */} + {(() => { + const ctx = interactionContext(detail); + return ctx ? ( +
+ +
+ ) : null; + })()} + )} - - - {/* Generation metadata */} - {detail.generations.length > 0 && ( -
-
- Generations + + {sessionView === 'spans' && ( + detail.generations.length === 0 ? ( +
+ No generations recorded for this interaction — nothing to trace.
+ ) : (
- {detail.generations.map((generation) => { - // Bars compare runtimes across the interaction's - // generations, trace-span style. - const maxMs = Math.max( - ...detail.generations.map((g) => (g.duration_seconds || 0) * 1000), - 1 - ); - const ms = (generation.duration_seconds || 0) * 1000; - return ( -
-
- - {generation.cache_hit ? '⚡ cache hit' : '● generated'} - - {generation.thinking && ( - - 🧠 {formatNumber(generation.tokens.thinking)} - + {detail.generations.map((generation) => ( + (g.duration_seconds || 0) * 1000), + 1 )} - {generation.model || 'unknown-model'} - {generation.provider && {generation.provider}} - in:{formatNumber(generation.tokens.input)} - out:{formatNumber(generation.tokens.output)} - {generation.finish_reason && {generation.finish_reason}} - {generation.duration_seconds != null && {(generation.duration_seconds * 1000).toFixed(0)}ms} - {generation.trace_id && ( - e.stopPropagation()} - > - trace:{generation.trace_id.slice(0, 8)} → - - )} -
- {generation.trace_id ? ( - // Each generation is one trace: its spans - // render as a pill that expands to a mini - // waterfall. - - ) : ms > 0 && ( -
-
-
- )} -
- ); - })} + expanded={isGenerationOpen(`${session.id}:${generation.id}`)} + onToggle={() => toggleGeneration(`${session.id}:${generation.id}`)} + /> + ))}
-
+ ) )} - {(() => { - const ctx = interactionContext(detail); - return ctx ? ( -
- -
- ) : null; - })()} )}
)} -
+
); })}
diff --git a/actionagent/frontend/components/dashboard/SpanWaterfall.jsx b/actionagent/frontend/components/dashboard/SpanWaterfall.jsx new file mode 100644 index 00000000..0d529649 --- /dev/null +++ b/actionagent/frontend/components/dashboard/SpanWaterfall.jsx @@ -0,0 +1,530 @@ +import React from 'react'; +import { ICONS, TYPOGRAPHY } from '../../utils/designTokens'; +import InteractionStream, { roleBubble } from './InteractionStream'; +import ToolRoster from './ToolRoster'; +import { + Chevron, + DisclosureLine, + PreviewLines, + telemetryColors, + useDisclosureSet, +} from './TelemetryObject'; + +// A trace's spans as an expandable waterfall. One implementation, used by the +// Traces view in both themes and by the generations inside an interaction — +// expanding a span anywhere in the dashboard gives you the same panel. + +export const SPAN_COLORS = { + root: '#9ca3af', + prompt: '#60a5fa', + generate: '#a855f7', + llm: '#ef4444', + thinking: '#fbbf24', + tool: '#22c55e', + response: '#2dd4bf', + embedding: '#818cf8', +}; + +export const SPAN_SORTS = [ + { id: 'time', label: 'Time', hint: 'Chronological — reads as a waterfall' }, + { id: 'duration', label: 'Slowest', hint: 'Longest-running first' }, + { id: 'name', label: 'Name', hint: 'Group repeated tool calls together' }, +]; + +export const formatDuration = (ms) => { + if (ms == null) return '—'; + if (ms < 1000) return `${Math.round(ms)}ms`; + return `${(ms / 1000).toFixed(2)}s`; +}; + +export const getSpanIcon = (type) => { + switch (type) { + case 'root': return ICONS.spans.root; + case 'prompt': return ICONS.spans.prompt; + case 'generate': return ICONS.spans.generate; + case 'llm': return ICONS.spans.llm; + case 'thinking': return ICONS.spans.thinking; + case 'tool': return ICONS.spans.tool; + case 'response': return ICONS.spans.response; + default: return '-'; + } +}; + +// Bar width on a log scale, for comparing durations that span orders of +// magnitude. A 5ms tool beside a 13.58s generation is a 2700x range; linearly +// every tool collapses to the same minimum-width stub. Floors at 4% so the +// shortest span is still visibly a bar. +export const logWidthPercent = (duration, longest) => { + const value = Math.max(duration || 0, 1); + const max = Math.max(longest || 1, 1); + if (max <= 1) return 100; + + const ratio = Math.log(value) / Math.log(max); + return Math.min(100, Math.max(4, ratio * 100)); +}; + +export const sortSpans = (spans, sort) => { + const list = [...(spans || [])]; + switch (sort) { + case 'duration': + return list.sort((a, b) => (b.duration || 0) - (a.duration || 0)); + case 'name': + return list.sort((a, b) => (a.name || '').localeCompare(b.name || '')); + default: + return list.sort((a, b) => (a.start || 0) - (b.start || 0)); + } +}; + +export const spanTokens = (span) => { + const tokens = span.tokens || {}; + return (tokens.input || 0) + (tokens.output || 0) + (tokens.thinking || 0); +}; + +const spanShareLabel = (span, trace) => { + if (!trace.duration_ms) return formatDuration(span.duration); + const share = ((span.duration || 0) / trace.duration_ms) * 100; + return `${formatDuration(span.duration)} · ${share < 1 ? share.toFixed(2) : share.toFixed(1)}%`; +}; + +// Attribute values that hold JSON payloads (tool inputs/outputs) get +// pretty-printed blocks; everything else renders inline. +const prettyAttribute = (value) => { + if (typeof value !== 'string') return null; + try { + return JSON.stringify(JSON.parse(value), null, 2); + } catch { + return null; + } +}; + +// Display order for span attributes: system message first, then the tool +// roster, then everything else, with the (long) message history last. +// jsonb storage normalizes key order, so sorting has to happen here. +const attributeRank = (key) => { + if (key.endsWith('.instructions')) return 0; + if (key.endsWith('.tools')) return 1; + if (key.endsWith('.messages')) return 3; + return 2; +}; + +// At-a-glance contents for a trace: the latest user input and the final +// output, pulled from span content attributes (either SDK's shape — RubyLLM's +// llm.prompt/llm.completion or ActiveAgent's prompt.input.messages/ +// llm.output.message). +export const traceContentPreview = (trace) => { + const spans = trace.spans || []; + const attr = (key) => { + for (const span of spans) { + const value = (span.attributes || {})[key]; + if (value) return value; + } + return null; + }; + let input = attr('llm.prompt'); + if (!input) { + const raw = attr('prompt.input.messages'); + if (raw) { + try { + const messages = JSON.parse(raw); + const lastUser = [...messages].reverse().find((m) => m && m.role === 'user' && m.content); + input = lastUser?.content; + } catch { + // not JSON — skip the preview rather than show markup soup + } + } + } + const output = attr('llm.completion') || attr('llm.output.message'); + return { input, output }; +}; + +// Per-span input/output previews so prompt and generate rows read the same way +// tool rows do — what went in, what came out, at a glance. Labels carry the +// role's colour: blue user input, red agent output/args, amber tool results. +export const spanContentPreview = (span) => { + const attrs = span.attributes || {}; + let input = null; + let inputLabel = 'input'; + let inputTone = 'user'; + if (attrs['prompt.input.messages']) { + try { + const parsed = JSON.parse(attrs['prompt.input.messages']); + const lastUser = [...parsed].reverse().find((m) => m && m.role === 'user' && m.content); + if (typeof lastUser?.content === 'string') input = lastUser.content; + } catch { + // not JSON — no preview + } + } + if (!input && attrs['llm.prompt']) input = String(attrs['llm.prompt']); + if (!input && (attrs['tool.input.args'] || attrs['tool.arguments'])) { + const args = attrs['tool.input.args'] || attrs['tool.arguments']; + input = typeof args === 'string' ? args : JSON.stringify(args); + inputLabel = 'in'; + inputTone = 'assistant'; + } + let output = null; + let outputLabel = 'output'; + let outputTone = 'assistant'; + if (attrs['llm.output.message'] || attrs['llm.completion']) { + output = attrs['llm.output.message'] || attrs['llm.completion']; + } else if (attrs['tool.output.result'] || attrs['tool.result']) { + output = attrs['tool.output.result'] || attrs['tool.result']; + outputLabel = 'out'; + outputTone = 'tool'; + } + if (output != null && typeof output !== 'string') output = JSON.stringify(output); + return { input, output, inputLabel, inputTone, outputLabel, outputTone }; +}; + +// Span preview minus whatever the trace header already says — the trace-level +// input/output lines shouldn't repeat on their source spans. +export const dedupedSpanPreview = (span, trace) => { + const preview = spanContentPreview(span); + const traceLevel = traceContentPreview(trace); + if (preview.input && preview.input === traceLevel.input) preview.input = null; + if (preview.output && preview.output === traceLevel.output) preview.output = null; + return preview; +}; + +// Lift a span's content attributes (instructions, prompt messages, tool +// args/results, completions — either SDK shape) into InteractionStream +// messages so span contents read like the Interactions view. Everything else +// stays a raw attribute row. +export const spanMessages = (span) => { + const rest = { ...(span.attributes || {}) }; + const take = (key) => { + const value = rest[key]; + delete rest[key]; + return value; + }; + const messages = []; + const push = (m) => messages.push({ id: `${span.span_id}-m${messages.length}`, ...m }); + + const instructions = take('prompt.input.instructions') || take('llm.instructions'); + if (instructions) push({ role: 'system', content: String(instructions) }); + + const rawMessages = take('prompt.input.messages'); + if (rawMessages) { + try { + JSON.parse(rawMessages).forEach((m) => { + if (!m) return; + push({ + role: m.role || 'user', + content: typeof m.content === 'string' ? m.content : JSON.stringify(m.content), + tool_call_id: m.tool_call_id, + tool_calls: m.tool_calls, + }); + }); + } catch { + rest['prompt.input.messages'] = rawMessages; + } + } + + const prompt = take('llm.prompt'); + if (prompt) push({ role: 'user', content: String(prompt) }); + + const toolArgs = take('tool.input.args') || take('tool.arguments'); + const toolResult = take('tool.output.result') || take('tool.result'); + if (toolArgs || toolResult) { + const toolName = take('tool.name'); + push({ + role: 'tool', + tool_name: toolName || (span.name || '').replace(/^tool\./, ''), + tool_arguments: toolArgs, + content: toolResult ? String(toolResult) : null, + }); + } + + const completion = take('llm.completion'); + const outputMessage = take('llm.output.message'); + if (completion || outputMessage) push({ role: 'assistant', content: String(completion || outputMessage) }); + + return { messages, rest }; +}; + +// The tool schemas a trace carried (from whichever span recorded them) — lets +// tool messages anywhere in the trace link back to their definition. +export const traceTools = (trace) => { + for (const span of trace?.spans || []) { + const raw = (span.attributes || {})['prompt.input.tools']; + if (!raw) continue; + try { + const parsed = typeof raw === 'string' ? JSON.parse(raw) : raw; + if (Array.isArray(parsed) && parsed.length > 0) return parsed; + } catch { + // unparseable — fall through + } + } + return []; +}; + +// The panel one span opens into: its timings and ids, its contents rendered as +// a conversation, the tool roster it carried, and every remaining attribute as +// its own expandable line. +export function SpanDetails({ span, darkMode, tools = [] }) { + const [isAttributeOpen, toggleAttribute] = useDisclosureSet(); + const colors = telemetryColors(darkMode); + const { messages, rest } = spanMessages(span); + + let rosterTools = null; + const rawTools = rest['prompt.input.tools']; + if (rawTools) { + try { + const parsed = typeof rawTools === 'string' ? JSON.parse(rawTools) : rawTools; + if (Array.isArray(parsed) && parsed.length > 0) { + rosterTools = parsed; + delete rest['prompt.input.tools']; + } + } catch { + // unparseable — keep the raw attribute row + } + } + const attributes = Object.entries(rest).sort((a, b) => attributeRank(a[0]) - attributeRank(b[0])); + // A lone tool message condenses to bare call lines — the chip shell earns + // its keep in conversations, not in a span card. + const toolMessage = messages.length === 1 && messages[0].role === 'tool' ? messages[0] : null; + const toolArgs = toolMessage?.tool_arguments == null + ? null + : typeof toolMessage.tool_arguments === 'string' + ? toolMessage.tool_arguments + : JSON.stringify(toolMessage.tool_arguments); + + return ( +
event.stopPropagation()} + style={{ + margin: '4px 0 8px 0', + padding: '10px 12px', + borderRadius: '8px', + background: colors.panelBg, + border: `1px solid ${colors.cardBorder}`, + fontFamily: TYPOGRAPHY.mono, + fontSize: '12px', + color: colors.textBody, + cursor: 'default', + }} + > +
+ duration: {formatDuration(span.duration)} + status: {span.status || 'OK'} + {spanTokens(span) > 0 && ( + + tokens in:{span.tokens.input || 0} out:{span.tokens.output || 0} + {span.tokens.thinking > 0 ? ` thinking:${span.tokens.thinking}` : ''} + + )} + span: {span.span_id} +
+ + {toolMessage && ( +
+
+ ⚙ {toolMessage.tool_name} + {toolArgs && ( + <> + {' '} + in:{' '} + {toolArgs} + + )} +
+ {toolMessage.content && ( +
+ out:{' '} + + {toolMessage.content} + +
+ )} +
+ )} + + {messages.length > 0 && !toolMessage && ( +
+ +
+ )} + + {rosterTools && } + + {attributes.length > 0 && ( +
+ {attributes.map(([key, value]) => { + const pretty = key.match(/args|result|input|output/) ? prettyAttribute(value) : null; + // Plain-text prose (rendered instructions) gets a wrapped block + // rather than one inline run-on line. + const prose = !pretty + && (key.endsWith('.instructions') || key.match(/input|output|result/)) + && typeof value === 'string' + ? value + : null; + const block = pretty || prose; + if (!block) { + return ( +
+ {key}:{' '} + {typeof value === 'string' ? value : JSON.stringify(value)} +
+ ); + } + const attributeKey = `${span.span_id}:${key}`; + return ( + toggleAttribute(attributeKey)} + /> + ); + })} +
+ )} +
+ ); +} + +// One span: name, bar, share of the trace, and — until you expand it — a +// preview of its contents. Expanding swaps the preview for the full panel, +// because the panel says the same thing properly. +function SpanRow({ span, trace, darkMode, sort, longest, expanded, onToggle, tools }) { + const colors = telemetryColors(darkMode); + const hasDetails = Object.keys(span.attributes || {}).length > 0; + const preview = expanded ? null : dedupedSpanPreview(span, trace); + + return ( + <> +
onToggle() : undefined} + title={hasDetails ? `${span.name} — click for span details` : span.name} + > + {/* Name above the track, not beside it: a fixed label column truncated + every tool.* span to the same unreadable prefix. */} +
+ + {getSpanIcon(span.type)} + + + {span.name} + + + {spanShareLabel(span, trace)} + + {hasDetails && } +
+
+
+
+ {preview && ( + + )} +
+ {expanded && } + + ); +} + +// `sort` orders the rows; 'time' is the only order in which the bars describe +// a timeline, so the caller draws the axis only for that one. +export default function SpanWaterfall({ trace, darkMode, sort = 'time', tools, keyPrefix = '' }) { + const [isSpanOpen, toggleSpan] = useDisclosureSet(); + const colors = telemetryColors(darkMode); + const spans = sortSpans(trace?.spans, sort); + const knownTools = tools || traceTools(trace); + + if (spans.length === 0) { + return ( +
+ No spans recorded for this trace. +
+ ); + } + + const longest = Math.max(...spans.map((span) => span.duration || 0), 1); + + return ( +
+ {spans.map((span, index) => { + // Key on span_id, not index — indices shift when sorted, which would + // move an open detail panel to another row. + const spanKey = `${keyPrefix}${span.span_id || index}`; + return ( + toggleSpan(spanKey)} + /> + ); + })} +
+ ); +} diff --git a/actionagent/frontend/components/dashboard/TelemetryObject.jsx b/actionagent/frontend/components/dashboard/TelemetryObject.jsx new file mode 100644 index 00000000..467a41f1 --- /dev/null +++ b/actionagent/frontend/components/dashboard/TelemetryObject.jsx @@ -0,0 +1,274 @@ +import React, { useCallback, useState } from 'react'; +import { TYPOGRAPHY } from '../../utils/designTokens'; + +// Shared chrome for the dashboard's expandable telemetry objects: a trace, a +// span inside it, a span's contents, an interaction, a generation inside that. +// Every one of those is the same idea at a different scale — a header line you +// can click, a monospace preview of what went in and what came out, and a +// recessed panel that opens underneath. Keeping the pieces in one place is what +// lets Traces and Interactions read as one view rather than two designs that +// happen to show the same runs. + +// One palette for both themes and both views. Traces used to paint its dark +// mode from the landing page's stylesheet and its light mode from Tailwind +// utilities, which is why the two drifted; everything now themes from here. +export const telemetryColors = (darkMode) => ({ + cardBg: darkMode ? '#1f1f1f' : '#ffffff', + cardBorder: darkMode ? '#2a2a2a' : '#e5e7eb', + // The panel an object opens into — one step recessed from its card. + innerBg: darkMode ? 'rgba(255,255,255,0.04)' : '#f9fafb', + // A nested object's own panel, one step deeper again. + panelBg: darkMode ? 'rgba(0,0,0,0.35)' : '#f9fafb', + preBg: darkMode ? 'rgba(255,255,255,0.06)' : '#eef0f3', + trackBg: darkMode ? 'rgba(255,255,255,0.08)' : '#f3f4f6', + hoverBg: darkMode ? 'rgba(255,255,255,0.04)' : '#f9fafb', + controlBg: darkMode ? 'rgba(255,255,255,0.06)' : '#f3f4f6', + controlActiveBg: darkMode ? '#2a2a2a' : '#ffffff', + textPrimary: darkMode ? '#ffffff' : '#111827', + textSecondary: darkMode ? 'rgba(255,255,255,0.6)' : '#6b7280', + textMuted: darkMode ? 'rgba(255,255,255,0.4)' : '#9ca3af', + textBody: darkMode ? 'rgba(255,255,255,0.75)' : '#4b5563', + link: '#3b82f6', + good: darkMode ? '#4ade80' : '#16a34a', + bad: '#ef4444', +}); + +// Collapse whitespace and clip to a single readable line. +export const previewText = (text, max = 200) => { + const clean = String(text ?? '').replace(/\s+/g, ' ').trim(); + return clean.length > max ? `${clean.slice(0, max)}…` : clean; +}; + +// Every object in Traces and Interactions opens with the same affordance, at +// the same size, in the same corner. +export function Chevron({ open, darkMode, size = 14, style }) { + return ( + + ); +} + +// The card an object lives in. Traces and Interactions use the same one, so a +// trace row and an interaction row are the same object at the same altitude. +export function ObjectCard({ darkMode, id, children, style, className = '' }) { + const colors = telemetryColors(darkMode); + return ( +
+ {children} +
+ ); +} + +// The block an expanded value opens into. JSON keeps its indentation and +// scrolls sideways; prose wraps. Either way it is capped and scrolls, because +// a captured message history can run to thousands of lines and would otherwise +// push everything below it off the screen. +export const preBlockStyle = (darkMode, { wrap = true, maxHeight = 320 } = {}) => ({ + background: telemetryColors(darkMode).preBg, + borderRadius: '6px', + padding: '6px 8px', + margin: '2px 0 4px 0', + overflowX: 'auto', + overflowY: 'auto', + maxHeight: `${maxHeight}px`, + whiteSpace: wrap ? 'pre-wrap' : 'pre', +}); + +// A value that may be a JSON string, an object, or plain prose. JSON is +// indented so an expanded tool payload reads as a structure; prose is left +// exactly as it was written. +export const prettyValue = (value) => { + if (value == null) return { text: '', json: false }; + if (typeof value === 'object') return { text: JSON.stringify(value, null, 2), json: true }; + + const text = String(value); + if (!/^[[{]/.test(text.trim())) return { text, json: false }; + try { + return { text: JSON.stringify(JSON.parse(text), null, 2), json: true }; + } catch { + return { text, json: false }; + } +}; + +// The `input:` / `output:` lines under an object's header, and the `in:` / +// `out:` lines under a span. Collapsed they are one clipped line each: the +// row's job is to say what this was about, not to reproduce it. Each opens in +// place, though — the value you are already reading is the one you want in +// full, and making you open the whole span to get at it was a detour. +// +// Labels carry the role colour (blue user input, red agent output, amber tool +// result) so the same content reads the same way on a trace, a span, and an +// interaction. +// `onClick` opens the object these lines belong to. It still fires for a line +// with nothing more to show, and for the padding around them — only a line +// that can actually open keeps the click for itself. +export function PreviewLines({ lines, darkMode, onClick, indent = 0, size = '12px', style, max = 200 }) { + const [isOpen, toggle] = useDisclosureSet(); + const colors = telemetryColors(darkMode); + const visible = (lines || []).filter((line) => line && line.text); + if (visible.length === 0) return null; + + return ( +
+ {visible.map((line, index) => { + const key = `${line.label}-${index}`; + const open = isOpen(key); + const limit = line.max || max; + const squished = String(line.text).replace(/\s+/g, ' ').trim(); + const pretty = prettyValue(line.text); + // These rows are a single clipped line, so what actually fits depends + // on the window — a character count can't tell you. The rule errs + // toward offering the marker: a short value keeps its plain line, and + // anything beyond that opens, because a marker on a line that happened + // to fit costs nothing next to a clipped line with no way in. JSON + // always opens — its indented form is the readable one at any width. + const expandable = + pretty.json || squished.length > 60 || squished !== String(line.text).trim(); + + return ( +
+
{ + // The row behind these lines toggles the whole object; + // opening one value is a smaller thing than that. + event.stopPropagation(); + toggle(key); + } + : undefined} + title={expandable ? (open ? 'Collapse' : 'Expand') : undefined} + style={{ + cursor: expandable ? 'pointer' : 'default', + whiteSpace: 'nowrap', + overflow: 'hidden', + textOverflow: 'ellipsis', + }} + > + {/* The marker keeps its column even when a line can't open, so + input: and output: stay aligned with each other. */} + + {expandable ? (open ? '▾' : '▸') : '\u00A0'} {line.label}: + {' '} + {!open && previewText(squished, limit)} +
+ {open && ( +
 event.stopPropagation()}
+                style={preBlockStyle(darkMode, { wrap: !pretty.json })}
+              >
+                {pretty.text}
+              
+ )} +
+ ); + })} +
+ ); +} + +// The small segmented control every object uses for its sub-views (Spans / +// Conversation) and its orderings (Time / Slowest / Name). +export function SegmentedControl({ options, value, onChange, darkMode, label, style }) { + const colors = telemetryColors(darkMode); + return ( +
+ {label && ( + + {label} + + )} + {options.map((option) => ( + + ))} +
+ ); +} + +// The deepest level of the same idea: one content attribute — a prompt, a tool +// result, an instruction block — as a `▸ key: preview…` line that opens into +// the full text. Contents start closed because a span carries several and any +// one of them can be thousands of lines. +export function DisclosureLine({ label, body, open, onToggle, darkMode, prose = false, max = 140 }) { + const colors = telemetryColors(darkMode); + return ( +
+
{ + event.stopPropagation(); + onToggle(); + }} + title={open ? 'Collapse' : 'Expand'} + style={{ cursor: 'pointer', whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }} + > + + {open ? '▾' : '▸'} {label}: + {' '} + {!open && {previewText(body, max)}} +
+ {open && ( +
 event.stopPropagation()} style={preBlockStyle(darkMode, { wrap: prose })}>
+          {body}
+        
+ )} +
+ ); +} + +// Expansion state for a set of sibling objects. Several can be open at once — +// comparing two spans, or two attributes of one span, is the reason you +// expanded the first one. +export function useDisclosureSet(initial = {}) { + const [open, setOpen] = useState(initial); + const toggle = useCallback((key) => { + setOpen((current) => ({ ...current, [key]: !current[key] })); + }, []); + const isOpen = useCallback((key) => !!open[key], [open]); + return [isOpen, toggle, setOpen]; +} diff --git a/actionagent/frontend/components/dashboard/TraceCard.jsx b/actionagent/frontend/components/dashboard/TraceCard.jsx new file mode 100644 index 00000000..0ab5505b --- /dev/null +++ b/actionagent/frontend/components/dashboard/TraceCard.jsx @@ -0,0 +1,107 @@ +import React from 'react'; +import { TYPOGRAPHY } from '../../utils/designTokens'; +import ContextMeter from './ContextMeter'; +import TraceDetail, { traceContext } from './TraceDetail'; +import { formatDuration, traceContentPreview } from './SpanWaterfall'; +import { roleBubble } from './InteractionStream'; +import { Chevron, ObjectCard, PreviewLines, telemetryColors } from './TelemetryObject'; + +// One trace as an expandable object: what ran, what it cost, what went in and +// came out — then the full waterfall or conversation underneath. The same card +// renders in both themes; the Traces view used to keep a separate dark markup +// tree that had drifted a long way from the light one. + +const formatTokens = (tokens) => { + if (!tokens) return '0'; + const total = (tokens.input || 0) + (tokens.output || 0) + (tokens.thinking || 0); + if (total >= 1000) return `${(total / 1000).toFixed(1)}K`; + return `${total}`; +}; + +// A single trace's fraction of a cent, at full precision — card totals +// elsewhere round to dollars. +const formatCost = (cost) => (cost == null ? null : `$${cost.toFixed(4)}`); + +export default function TraceCard({ trace, darkMode, expanded, onToggle }) { + const colors = telemetryColors(darkMode); + const preview = traceContentPreview(trace); + const context = traceContext(trace); + const succeeded = trace.status !== 'ERROR'; + + return ( + +
+
+ + TRACE + + + {trace.short_id} + + + {trace.display_name} + +
+
+ {trace.model && ( + + {trace.model} + + )} + {context && } + + + {formatDuration(trace.duration_ms)} + + {formatTokens(trace.tokens)} tokens + {trace.estimated_cost != null && ( + + + {formatCost(trace.estimated_cost)} + + )} + + + {succeeded ? 'OK' : 'ERROR'} + + +
+
+ + {!expanded && ( + + )} + + {expanded && ( +
+ +
+ )} +
+ ); +} diff --git a/actionagent/frontend/components/dashboard/TraceDetail.jsx b/actionagent/frontend/components/dashboard/TraceDetail.jsx new file mode 100644 index 00000000..5697b89a --- /dev/null +++ b/actionagent/frontend/components/dashboard/TraceDetail.jsx @@ -0,0 +1,284 @@ +import React, { useCallback, useEffect, useState } from 'react'; +import { TYPOGRAPHY } from '../../utils/designTokens'; +import ContextMeter, { contextWindowFor, estimateTokens } from './ContextMeter'; +import InteractionStream from './InteractionStream'; +import SpanWaterfall, { + SPAN_SORTS, + formatDuration, + traceTools, +} from './SpanWaterfall'; +import { SegmentedControl, telemetryColors } from './TelemetryObject'; + +// Everything one trace has to say, in one panel: its spans as a waterfall or +// its run as a conversation, what it held in context, where the wall clock +// went, and what it spent. Rendered under a trace row in the Traces view and +// under a generation row in an interaction — the same trace looks the same +// wherever you opened it from. + +const TRACE_VIEWS = [ + { id: 'spans', label: 'Spans', hint: 'Timing waterfall with span details' }, + { id: 'conversation', label: 'Conversation', hint: 'The run as a message stream — prompt, tool calls, response' }, +]; + +// Context pressure: what the biggest generation in this trace held against the +// model's window. Segment sizes are estimated from recorded content (~4 +// chars/token); the input/output totals are the provider's real counts. +export const traceContext = (trace) => { + const spans = trace?.spans || []; + let peak = null; + for (const span of spans) { + const tokens = span.tokens || {}; + const total = (tokens.input || 0) + (tokens.output || 0); + if (total > 0 && (!peak || total > peak.total)) { + peak = { + input: tokens.input || 0, + output: tokens.output || 0, + thinking: tokens.thinking || 0, + cached: tokens.cached || 0, + total, + }; + } + } + if (!peak) return null; + + const attr = (key) => { + for (const span of spans) { + const value = (span.attributes || {})[key]; + if (value) return value; + } + return null; + }; + // Both telemetry shapes: ActiveAgent SDK (prompt.input.*, tool.input/ + // output.*) and the RubyLLM adapter (llm.instructions/tools, + // tool.arguments/result). + const instructions = estimateTokens(attr('prompt.input.instructions') || attr('llm.instructions')); + const toolSchemas = estimateTokens(attr('prompt.input.tools') || attr('llm.tools')); + const mcpSchemas = estimateTokens(attr('prompt.input.mcp_tools')); + let toolResults = 0; + for (const span of spans) { + const attrs = span.attributes || {}; + const result = attrs['tool.output.result'] || attrs['tool.result']; + const args = attrs['tool.input.args'] || attrs['tool.arguments']; + if (result) toolResults += estimateTokens(result); + if (args) toolResults += estimateTokens(args); + } + toolResults = Math.min(toolResults, peak.input); + const messages = Math.max(peak.input - instructions - toolSchemas - mcpSchemas - toolResults, 0); + + return { + used: peak.total, + limit: contextWindowFor(trace.model), + cached: peak.cached, + thinking: peak.thinking, + segments: [ + { key: 'messages', label: 'Messages', tokens: messages }, + { key: 'tool_results', label: 'Tool results', tokens: toolResults }, + { key: 'instructions', label: 'Instructions', tokens: instructions }, + { key: 'tool_schemas', label: 'Tool schemas', tokens: toolSchemas }, + { key: 'mcp_schemas', label: 'MCP tool schemas', tokens: mcpSchemas }, + { key: 'output', label: 'Generated output', tokens: peak.output }, + ], + }; +}; + +// Generation vs tool time for one trace: how much of the wall clock went to +// the LLM, to each tool, and to unattributed overhead. Tool calls run inside +// the provider's generate loop, so their time is subtracted from the llm span +// to get pure generation time — the segments sum to ~100%. +const traceTimeBreakdown = (trace) => { + let generation = 0; + const tools = []; + (trace?.spans || []).forEach((span) => { + if ((span.nested || 0) === 0) return; + if (span.type === 'tool') { + tools.push(span); + } else if (span.type === 'llm' || span.type === 'generate') { + generation = Math.max(generation, span.duration || 0); + } + }); + const toolTotal = tools.reduce((sum, span) => sum + (span.duration || 0), 0); + generation = Math.max(generation - toolTotal, 0); + const total = trace?.duration_ms || generation + toolTotal || 1; + return { generation, tools, toolTotal, total, overhead: Math.max(total - generation - toolTotal, 0) }; +}; + +function TraceTimeBreakdown({ trace, darkMode }) { + const colors = telemetryColors(darkMode); + const { generation, tools, toolTotal, total, overhead } = traceTimeBreakdown(trace); + if (generation === 0 && toolTotal === 0) return null; + // When generation IS the trace (llm.generate ~100%, negligible tool time), + // the waterfall above already tells this story — skip the redundant section. + if (generation / total >= 0.99 && toolTotal / total < 0.01) return null; + + const pct = (ms) => `${((ms / total) * 100).toFixed(ms / total < 0.01 ? 2 : 1)}%`; + const segment = (ms, color) => ( +
+ ); + + return ( +
+
+ Time breakdown — generation vs tools +
+
+ {segment(generation, '#ef4444')} + {segment(toolTotal, '#10b981')} + {overhead > 0 && segment(overhead, darkMode ? 'rgba(255,255,255,0.2)' : '#d1d5db')} +
+
+ generation {formatDuration(generation)} ({pct(generation)}) + tools {formatDuration(toolTotal)} ({pct(toolTotal)}) + {overhead > 0 && overhead {formatDuration(overhead)} ({pct(overhead)})} +
+ {tools.length > 0 && ( +
+ {tools.map((span, idx) => ( + {span.name} {formatDuration(span.duration)} ({pct(span.duration || 0)}) + ))} +
+ )} +
+ ); +} + +// The run as a message stream. The interactions API serializes any trace as +// `trace-`, so the same endpoint that backs the Interactions view answers +// for a trace opened here. +function TraceConversation({ trace, darkMode }) { + const [detail, setDetail] = useState(null); + const [failed, setFailed] = useState(false); + const colors = telemetryColors(darkMode); + + useEffect(() => { + if (trace?.id == null) return undefined; + let alive = true; + setDetail(null); + setFailed(false); + fetch(`/api/interactions/trace-${trace.id}`) + .then((response) => (response.ok ? response.json() : Promise.reject(new Error('request failed')))) + .then((data) => alive && setDetail(data.interaction)) + .catch(() => alive && setFailed(true)); + return () => { + alive = false; + }; + }, [trace?.id]); + + if (failed) { + return
Couldn't load the conversation for this trace.
; + } + if (!detail) { + return
Loading conversation…
; + } + + const messages = detail.instructions + ? [ + { id: `trace-${trace.id}-system`, role: 'system', content: detail.instructions, created_at: detail.created_at }, + ...(detail.messages || []), + ] + : (detail.messages || []); + + if (messages.length === 0) { + return ( +
+ This trace predates content capture — no conversation to show. +
+ ); + } + + return ; +} + +// `compact` drops the trace-level footers (tokens, provider, error) for +// contexts that already state them — a generation row inside an interaction +// prints its own token line right above this panel. +export default function TraceDetail({ trace, darkMode, compact = false, showConversation = true }) { + const [view, setView] = useState('spans'); + const [sort, setSort] = useState('time'); + const colors = telemetryColors(darkMode); + const spanCount = (trace?.spans || []).length; + const context = traceContext(trace); + const tokens = trace?.tokens || {}; + + const setViewSafely = useCallback((next) => setView(showConversation ? next : 'spans'), [showConversation]); + + if (!trace) return null; + + return ( +
+
+
+ {showConversation && ( + + )} + + {spanCount} {spanCount === 1 ? 'span' : 'spans'} + +
+ {view === 'spans' && spanCount > 0 && ( + + )} +
+ + {view === 'conversation' ? ( +
+ +
+ ) : ( + <> + {/* The axis describes a timeline, which only holds while the spans + are in chronological order. */} + {sort === 'time' ? ( +
+ 0ms + {Math.round((trace.duration_ms || 0) * 0.33)}ms + {Math.round((trace.duration_ms || 0) * 0.66)}ms + {formatDuration(trace.duration_ms)} +
+ ) : ( +
+ Bar length compares duration on a log scale +
+ )} + + + )} + + {context && ( +
+ +
+ )} + + + + {!compact && ( +
+ Tokens: + {tokens.thinking > 0 && ( + T:{tokens.thinking.toLocaleString()} + )} + in:{(tokens.input || 0).toLocaleString()} + out:{(tokens.output || 0).toLocaleString()} + {trace.provider && ( + {trace.provider}{trace.model ? ` · ${trace.model}` : ''} + )} +
+ )} + + {trace.error && ( +
+ {trace.error} +
+ )} +
+ ); +} diff --git a/actionagent/frontend/components/dashboard/TraceSpanBar.jsx b/actionagent/frontend/components/dashboard/TraceSpanBar.jsx new file mode 100644 index 00000000..43ab3cfc --- /dev/null +++ b/actionagent/frontend/components/dashboard/TraceSpanBar.jsx @@ -0,0 +1,49 @@ +import React from 'react'; +import { SPAN_COLORS, formatDuration } from './SpanWaterfall'; +import { telemetryColors } from './TelemetryObject'; + +// A trace compressed to one bar: each span a segment, positioned on the +// trace's wall clock and coloured by span type. It is the collapsed form of +// the waterfall — the summary a generation row shows before you open it. + +export default function TraceSpanBar({ trace, darkMode, height = 8 }) { + const colors = telemetryColors(darkMode); + + if (!trace) { + return
; + } + + const spans = trace.spans || []; + const total = trace.duration_ms || 1; + // Shallow spans first so nested ones (tools inside the generate loop) paint + // on top of their parents. + const layered = [...spans].sort((a, b) => (a.nested || 0) - (b.nested || 0)); + + return ( +
+ {layered.map((span, index) => ( +
+ ))} +
+ ); +} diff --git a/actionagent/frontend/components/dashboard/TraceSpanPills.jsx b/actionagent/frontend/components/dashboard/TraceSpanPills.jsx deleted file mode 100644 index 72bdad84..00000000 --- a/actionagent/frontend/components/dashboard/TraceSpanPills.jsx +++ /dev/null @@ -1,125 +0,0 @@ -import React, { useEffect, useState } from 'react'; -import { dashboardPath } from '../../utils/dashboardPath'; - -// A trace as a pill: one segmented bar per trace (each segment a span, -// positioned on the trace's wall clock, colored by span type). Click to -// expand into a mini waterfall. Used inside interaction cards, where each -// generation/turn is one trace — the execution view embedded in the -// conversation view. - -const SPAN_COLORS = { - root: '#9ca3af', - prompt: '#60a5fa', - generate: '#a855f7', - llm: '#ef4444', - thinking: '#fbbf24', - tool: '#22c55e', - response: '#2dd4bf', - embedding: '#818cf8', -}; - -const formatMs = (ms) => { - if (ms == null) return ''; - if (ms < 1000) return `${Math.round(ms)}ms`; - return `${(ms / 1000).toFixed(2)}s`; -}; - -export default function TraceSpanPills({ traceId, darkMode }) { - const [trace, setTrace] = useState(null); - const [failed, setFailed] = useState(false); - const [open, setOpen] = useState(false); - - useEffect(() => { - let alive = true; - fetch(`/api/traces/${encodeURIComponent(traceId)}`) - .then((response) => (response.ok ? response.json() : Promise.reject(new Error('not found')))) - .then(({ trace: detail }) => alive && setTrace(detail)) - .catch(() => alive && setFailed(true)); - return () => { - alive = false; - }; - }, [traceId]); - - if (failed) return null; - - const trackColor = darkMode ? 'rgba(255,255,255,0.08)' : '#f3f4f6'; - const mutedColor = darkMode ? 'rgba(255,255,255,0.4)' : '#9ca3af'; - - if (!trace) { - return
; - } - - const spans = trace.spans || []; - const total = trace.duration_ms || 1; - // Shallow spans first so nested ones (tools inside the generate loop) - // paint on top of their parents. - const layered = [...spans].sort((a, b) => (a.nested || 0) - (b.nested || 0)); - - return ( -
e.stopPropagation()}> -
setOpen(!open)} - title={open ? 'Collapse spans' : `${spans.length} spans · ${formatMs(trace.duration_ms)} — click to expand`} - style={{ display: 'flex', alignItems: 'center', gap: '8px', cursor: 'pointer' }} - > -
- {layered.map((span, index) => ( -
- ))} -
- - {spans.length} spans {open ? '▾' : '▸'} - -
- {open && ( -
- {spans.map((span, index) => ( -
- - {span.name} - -
-
-
- - {formatMs(span.duration)} - -
- ))} - - open in Traces → - -
- )} -
- ); -} diff --git a/actionagent/frontend/components/dashboard/TracesView.jsx b/actionagent/frontend/components/dashboard/TracesView.jsx index 9dfc55a3..4739295d 100644 --- a/actionagent/frontend/components/dashboard/TracesView.jsx +++ b/actionagent/frontend/components/dashboard/TracesView.jsx @@ -3,13 +3,12 @@ import { useTheme } from '../../contexts/ThemeContext'; import { AreaChart, Area, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer } from 'recharts'; -import { ICONS, TYPOGRAPHY } from '../../utils/designTokens'; -import InteractionStream, { roleBubble } from './InteractionStream'; -import ToolRoster from './ToolRoster'; -import ContextMeter, { contextWindowFor, estimateTokens } from './ContextMeter'; +import { TYPOGRAPHY } from '../../utils/designTokens'; import { useTimeWindow } from '../../contexts/TimeWindowContext'; import AgentStatCard from './AgentStatCard'; import TimeWindowSelector from './TimeWindowSelector'; +import TraceCard from './TraceCard'; +import { formatDuration, getSpanIcon } from './SpanWaterfall'; import { dashboardPath } from '../../utils/dashboardPath'; // Deterministic color assignment for agent classes @@ -17,19 +16,6 @@ const AGENT_PALETTE = ['#6366f1', '#10b981', '#f59e0b', '#ec4899', '#3b82f6', '# const REFRESH_INTERVAL_MS = 30000; -// Bar width on a log scale, for comparing durations that span orders of -// magnitude. A 5ms tool beside a 13.58s generation is a 2700x range; linearly -// every tool collapses to the same minimum-width stub. Floors at 4% so the -// shortest span is still visibly a bar. -const logWidthPercent = (duration, longest) => { - const value = Math.max(duration || 0, 1); - const max = Math.max(longest || 1, 1); - if (max <= 1) return 100; - - const ratio = Math.log(value) / Math.log(max); - return Math.min(100, Math.max(4, ratio * 100)); -}; - const buildAgentColors = (agents) => { const colors = {}; agents.forEach((agent, idx) => { @@ -110,16 +96,14 @@ export default function TracesView({ agentClass = null, embedded = false }) { const [agentIds, setAgentIds] = useState({}); const [isLoading, setIsLoading] = useState(true); const [loadError, setLoadError] = useState(null); + // One trace opens at a time; its spans and their contents expand + // independently inside it (TraceCard → TraceDetail → SpanWaterfall). const [selectedTrace, setSelectedTrace] = useState(null); // Deep link: /dashboard/traces?trace= (record id, trace_id, or its // 8-char short form) selects and scrolls to that trace, fetching it // directly when it falls outside the loaded window. const focusTraceRef = useRef(new URLSearchParams(window.location.search).get('trace')); const [pinnedTrace, setPinnedTrace] = useState(null); - const [expandedSpan, setExpandedSpan] = useState(null); // `${trace.id}:${span_id || idx}` - // Content attributes (inputs/outputs) render minimized; each expands - // independently. Keyed `${span_id}:${attribute}`. - const [expandedAttributes, setExpandedAttributes] = useState({}); const [filter, setFilter] = useState({ status: 'all', agent: 'all', action: 'all' }); const [sortBy, setSortBy] = useState('time'); // 'time' (chronological) | 'latency' (slowest first) const [selectedTimeBucket, setSelectedTimeBucket] = useState(null); @@ -168,58 +152,6 @@ export default function TracesView({ agentClass = null, embedded = false }) { // Keep roughly six labels on the axis whatever the bucket count. const tickInterval = Math.max(0, Math.ceil(throughputData.length / 6) - 1); - // Waterfall ordering. 'time' preserves the parent/child reading order a - // waterfall depends on; the others flatten it deliberately to answer - // "what was slowest?" or "which tool ran most?". - const [spanSort, setSpanSort] = useState('time'); - // Per-trace expanded view: the 'spans' waterfall or the interaction-style - // 'conversation' stream (same renderer as the Interactions view; the - // interactions API serializes any trace as trace-). - const [traceViews, setTraceViews] = useState({}); - const [traceConversations, setTraceConversations] = useState({}); - - const showTraceConversation = (traceId) => { - setTraceViews((prev) => ({ ...prev, [traceId]: 'conversation' })); - if (traceConversations[traceId]) return; - setTraceConversations((prev) => ({ ...prev, [traceId]: 'loading' })); - fetch(`/api/interactions/trace-${traceId}`) - .then((response) => (response.ok ? response.json() : Promise.reject(new Error('request failed')))) - .then((data) => setTraceConversations((prev) => ({ ...prev, [traceId]: data.interaction }))) - .catch(() => setTraceConversations((prev) => ({ ...prev, [traceId]: 'error' }))); - }; - - const renderTraceConversation = (trace, dark) => { - const detail = traceConversations[trace.id]; - if (!detail || detail === 'loading') { - return
Loading conversation…
; - } - if (detail === 'error') { - return
Couldn't load the conversation for this trace.
; - } - const messages = detail.instructions - ? [ - { id: `trace-${trace.id}-system`, role: 'system', content: detail.instructions, created_at: detail.created_at }, - ...(detail.messages || []), - ] - : (detail.messages || []); - if (messages.length === 0) { - return
This trace predates content capture — no conversation to show.
; - } - return ; - }; - - const sortSpans = useCallback((spans) => { - const list = [...(spans || [])]; - switch (spanSort) { - case 'duration': - return list.sort((a, b) => (b.duration || 0) - (a.duration || 0)); - case 'name': - return list.sort((a, b) => (a.name || '').localeCompare(b.name || '')); - default: - return list.sort((a, b) => (a.start || 0) - (b.start || 0)); - } - }, [spanSort]); - // Filter traces based on selected time bucket and filters const filteredTraces = useMemo(() => { let result = traces; @@ -442,19 +374,6 @@ export default function TracesView({ agentClass = null, embedded = false }) { } }; - const formatDuration = (ms) => { - if (ms == null) return '—'; - if (ms < 1000) return `${Math.round(ms)}ms`; - return `${(ms / 1000).toFixed(2)}s`; - }; - - const formatTokens = (tokens) => { - if (!tokens) return '0'; - const total = (tokens.input || 0) + (tokens.output || 0) + (tokens.thinking || 0); - if (total >= 1000) return `${(total / 1000).toFixed(1)}K`; - return `${total}`; - }; - const totalTokensOf = (tokens) => (tokens?.input || 0) + (tokens?.output || 0) + (tokens?.thinking || 0); @@ -481,8 +400,8 @@ export default function TracesView({ agentClass = null, embedded = false }) { ]; }; - // Card totals, not single traces: dollars with a floor, where formatCost - // below shows a single trace's fraction of a cent at full precision. + // Card totals, not single traces: dollars with a floor, where a trace card + // shows one run's fraction of a cent at full precision. const formatCardCost = (cost) => { if (!cost) return '—'; if (cost < 0.01) return '<$0.01'; @@ -533,507 +452,6 @@ export default function TracesView({ agentClass = null, embedded = false }) { window.dispatchEvent(new CustomEvent('dashboard:navigate', { detail: { path } })); }; - // Span attribute values: pretty-print embedded JSON (tool.arguments, - // tool.result), pass everything else through as text. - const formatAttrValue = (value) => { - if (value == null) return '—'; - const text = typeof value === 'string' ? value : JSON.stringify(value, null, 2); - if (typeof value === 'string' && /^[\[{]/.test(value.trim())) { - try { - return JSON.stringify(JSON.parse(value), null, 2); - } catch { - return text; - } - } - return text; - }; - - const formatCost = (cost) => { - if (cost == null) return null; - return `$${cost.toFixed(4)}`; - }; - - const getSpanIcon = (type) => { - switch (type) { - case 'root': return ICONS.spans.root; - case 'prompt': return ICONS.spans.prompt; - case 'generate': return ICONS.spans.generate; - case 'llm': return ICONS.spans.llm; - case 'thinking': return ICONS.spans.thinking; - case 'tool': return ICONS.spans.tool; - case 'response': return ICONS.spans.response; - default: return '-'; - } - }; - - const isSuccess = (trace) => trace.status !== 'ERROR'; - - const spanShareLabel = (span, trace) => { - if (!trace.duration_ms) return formatDuration(span.duration); - const share = ((span.duration || 0) / trace.duration_ms) * 100; - return `${formatDuration(span.duration)} · ${share < 1 ? share.toFixed(2) : share.toFixed(1)}%`; - }; - - const spanTokens = (span) => { - const tokens = span.tokens || {}; - return (tokens.input || 0) + (tokens.output || 0) + (tokens.thinking || 0); - }; - - // Attribute values that hold JSON payloads (tool inputs/outputs) get - // pretty-printed blocks; everything else renders inline. - const prettyAttribute = (value) => { - if (typeof value !== 'string') return null; - try { - return JSON.stringify(JSON.parse(value), null, 2); - } catch { - return null; - } - }; - - // Expanded detail panel for a single span (attributes, tokens, ids). - // At-a-glance contents for a trace row: the latest user input and the - // final output, pulled from span content attributes (either SDK's shape — - // RubyLLM's llm.prompt/llm.completion or ActiveAgent's - // prompt.input.messages/llm.output.message). - const traceContentPreview = (trace) => { - const spans = trace.spans || []; - const attr = (key) => { - for (const span of spans) { - const value = (span.attributes || {})[key]; - if (value) return value; - } - return null; - }; - let input = attr('llm.prompt'); - if (!input) { - const raw = attr('prompt.input.messages'); - if (raw) { - try { - const messages = JSON.parse(raw); - const lastUser = [...messages].reverse().find((m) => m && m.role === 'user' && m.content); - input = lastUser?.content; - } catch { - // not JSON — skip the preview rather than show markup soup - } - } - } - const output = attr('llm.completion') || attr('llm.output.message'); - return { input, output }; - }; - - const previewText = (text, max = 200) => { - const clean = String(text).replace(/\s+/g, ' ').trim(); - return clean.length > max ? `${clean.slice(0, max)}…` : clean; - }; - - // Per-span input/output previews so prompt and generate rows read the - // same way tool rows do — what went in, what came out, at a glance. - // Labels carry the role's color: blue user input, red agent output/args, - // amber tool results. - const spanContentPreview = (span) => { - const attrs = span.attributes || {}; - let input = null; - let inputLabel = 'input:'; - let inputTone = 'user'; - if (attrs['prompt.input.messages']) { - try { - const parsed = JSON.parse(attrs['prompt.input.messages']); - const lastUser = [...parsed].reverse().find((m) => m && m.role === 'user' && m.content); - if (typeof lastUser?.content === 'string') input = lastUser.content; - } catch { - // not JSON — no preview - } - } - if (!input && attrs['llm.prompt']) input = String(attrs['llm.prompt']); - if (!input && (attrs['tool.input.args'] || attrs['tool.arguments'])) { - const args = attrs['tool.input.args'] || attrs['tool.arguments']; - input = typeof args === 'string' ? args : JSON.stringify(args); - inputLabel = 'in:'; - inputTone = 'assistant'; - } - let output = null; - let outputLabel = 'output:'; - let outputTone = 'assistant'; - if (attrs['llm.output.message'] || attrs['llm.completion']) { - output = attrs['llm.output.message'] || attrs['llm.completion']; - } else if (attrs['tool.output.result'] || attrs['tool.result']) { - output = attrs['tool.output.result'] || attrs['tool.result']; - outputLabel = 'out:'; - outputTone = 'tool'; - } - if (output != null && typeof output !== 'string') output = JSON.stringify(output); - return { input, output, inputLabel, inputTone, outputLabel, outputTone }; - }; - - // Span preview minus whatever the trace header already says — the - // trace-level input/output lines shouldn't repeat on their source spans. - const dedupedSpanPreview = (span, trace) => { - const preview = spanContentPreview(span); - const traceLevel = traceContentPreview(trace); - if (preview.input && preview.input === traceLevel.input) preview.input = null; - if (preview.output && preview.output === traceLevel.output) preview.output = null; - return preview; - }; - - // Context pressure: what the biggest generation in this trace held against - // the model's window. Segment sizes are estimated from recorded content - // (~4 chars/token); the input/output totals are the provider's real counts. - const traceContext = (trace) => { - const spans = trace.spans || []; - let peak = null; - for (const span of spans) { - const tokens = span.tokens || {}; - const total = (tokens.input || 0) + (tokens.output || 0); - if (total > 0 && (!peak || total > peak.total)) { - peak = { - input: tokens.input || 0, - output: tokens.output || 0, - thinking: tokens.thinking || 0, - cached: tokens.cached || 0, - total, - }; - } - } - if (!peak) return null; - - const attr = (key) => { - for (const span of spans) { - const value = (span.attributes || {})[key]; - if (value) return value; - } - return null; - }; - // Both telemetry shapes: ActiveAgent SDK (prompt.input.*, tool.input/ - // output.*) and the RubyLLM adapter (llm.instructions/tools, - // tool.arguments/result). - const instructions = estimateTokens(attr('prompt.input.instructions') || attr('llm.instructions')); - const toolSchemas = estimateTokens(attr('prompt.input.tools') || attr('llm.tools')); - const mcpSchemas = estimateTokens(attr('prompt.input.mcp_tools')); - let toolResults = 0; - for (const span of spans) { - const attrs = span.attributes || {}; - const result = attrs['tool.output.result'] || attrs['tool.result']; - const args = attrs['tool.input.args'] || attrs['tool.arguments']; - if (result) toolResults += estimateTokens(result); - if (args) toolResults += estimateTokens(args); - } - toolResults = Math.min(toolResults, peak.input); - const messages = Math.max(peak.input - instructions - toolSchemas - mcpSchemas - toolResults, 0); - - return { - used: peak.total, - limit: contextWindowFor(trace.model), - cached: peak.cached, - thinking: peak.thinking, - segments: [ - { key: 'messages', label: 'Messages', tokens: messages }, - { key: 'tool_results', label: 'Tool results', tokens: toolResults }, - { key: 'instructions', label: 'Instructions', tokens: instructions }, - { key: 'tool_schemas', label: 'Tool schemas', tokens: toolSchemas }, - { key: 'mcp_schemas', label: 'MCP tool schemas', tokens: mcpSchemas }, - { key: 'output', label: 'Generated output', tokens: peak.output }, - ], - }; - }; - - // Display order for span attributes: system message first, then the tool - // roster, then everything else, with the (long) message history last. - // jsonb storage normalizes key order, so sorting has to happen here. - const attributeRank = (key) => { - if (key.endsWith('.instructions')) return 0; - if (key.endsWith('.tools')) return 1; - if (key.endsWith('.messages')) return 3; - return 2; - }; - - // Lift a span's content attributes (instructions, prompt messages, tool - // args/results, completions — either SDK shape) into InteractionStream - // messages so span contents read like the Interactions view. Everything - // else stays a raw attribute row. - const spanMessages = (span) => { - const rest = { ...(span.attributes || {}) }; - const take = (key) => { - const value = rest[key]; - delete rest[key]; - return value; - }; - const messages = []; - const push = (m) => messages.push({ id: `${span.span_id}-m${messages.length}`, ...m }); - - const instructions = take('prompt.input.instructions') || take('llm.instructions'); - if (instructions) push({ role: 'system', content: String(instructions) }); - - const rawMessages = take('prompt.input.messages'); - if (rawMessages) { - try { - JSON.parse(rawMessages).forEach((m) => { - if (!m) return; - push({ - role: m.role || 'user', - content: typeof m.content === 'string' ? m.content : JSON.stringify(m.content), - tool_call_id: m.tool_call_id, - tool_calls: m.tool_calls, - }); - }); - } catch { - rest['prompt.input.messages'] = rawMessages; - } - } - - const prompt = take('llm.prompt'); - if (prompt) push({ role: 'user', content: String(prompt) }); - - const toolArgs = take('tool.input.args') || take('tool.arguments'); - const toolResult = take('tool.output.result') || take('tool.result'); - if (toolArgs || toolResult) { - const toolName = take('tool.name'); - push({ - role: 'tool', - tool_name: toolName || (span.name || '').replace(/^tool\./, ''), - tool_arguments: toolArgs, - content: toolResult ? String(toolResult) : null, - }); - } - - const completion = take('llm.completion'); - const outputMessage = take('llm.output.message'); - if (completion || outputMessage) push({ role: 'assistant', content: String(completion || outputMessage) }); - - return { messages, rest }; - }; - - // The tool schemas a trace carried (from whichever span recorded them) — - // lets tool messages anywhere in the trace link back to their definition. - const traceTools = (trace) => { - for (const span of trace.spans || []) { - const raw = (span.attributes || {})['prompt.input.tools']; - if (!raw) continue; - try { - const parsed = typeof raw === 'string' ? JSON.parse(raw) : raw; - if (Array.isArray(parsed) && parsed.length > 0) return parsed; - } catch { - // unparseable — fall through - } - } - return []; - }; - - const renderSpanDetails = (span, dark, knownTools = []) => { - const { messages, rest } = spanMessages(span); - let rosterTools = null; - const rawTools = rest['prompt.input.tools']; - if (rawTools) { - try { - const parsed = typeof rawTools === 'string' ? JSON.parse(rawTools) : rawTools; - if (Array.isArray(parsed) && parsed.length > 0) { - rosterTools = parsed; - delete rest['prompt.input.tools']; - } - } catch { - // unparseable — keep the raw attribute row - } - } - const attributes = Object.entries(rest).sort( - (a, b) => attributeRank(a[0]) - attributeRank(b[0]) - ); - const textColor = dark ? 'rgba(255,255,255,0.75)' : '#4b5563'; - const mutedColor = dark ? 'rgba(255,255,255,0.45)' : '#9ca3af'; - const preStyle = { - background: dark ? 'rgba(255,255,255,0.06)' : '#eef0f3', - borderRadius: '6px', - padding: '6px 8px', - margin: '2px 0 4px 0', - overflowX: 'auto', - whiteSpace: 'pre', - }; - return ( -
-
- duration: {formatDuration(span.duration)} - status: {span.status || 'OK'} - {spanTokens(span) > 0 && ( - - tokens in:{span.tokens.input || 0} out:{span.tokens.output || 0} - {span.tokens.thinking > 0 ? ` thinking:${span.tokens.thinking}` : ''} - - )} - span: {span.span_id} -
- {(() => { - // A lone tool message condenses to bare call lines — the chip - // shell earns its keep in conversations, not in a span card. - const toolMessage = messages.length === 1 && messages[0].role === 'tool' ? messages[0] : null; - if (!toolMessage) return null; - const toolColor = roleBubble('tool', dark).color; - const args = toolMessage.tool_arguments == null - ? null - : typeof toolMessage.tool_arguments === 'string' - ? toolMessage.tool_arguments - : JSON.stringify(toolMessage.tool_arguments); - return ( -
e.stopPropagation()} - style={{ marginTop: '8px', display: 'grid', gap: '4px', cursor: 'default' }} - > -
- ⚙ {toolMessage.tool_name} - {args && ( - <> - {' '} - in:{' '} - {args} - - )} -
- {toolMessage.content && ( -
- out:{' '} - - {toolMessage.content} - -
- )} -
- ); - })()} - {messages.length > 0 && !(messages.length === 1 && messages[0].role === 'tool') && ( -
e.stopPropagation()} - style={{ marginTop: '10px', fontFamily: 'ui-sans-serif, system-ui, sans-serif', cursor: 'default' }} - > - -
- )} - {rosterTools && } - {attributes.length > 0 && ( -
- {attributes.map(([key, value]) => { - const pretty = key.match(/args|result|input|output/) ? prettyAttribute(value) : null; - // Plain-text prose (rendered instructions) gets a wrapped block - // rather than one inline run-on line. - const prose = !pretty && (key.endsWith('.instructions') || key.match(/input|output|result/)) && typeof value === 'string' ? value : null; - const block = pretty || prose; - if (!block) { - return ( -
- {key}:{' '} - {typeof value === 'string' ? value : JSON.stringify(value)} -
- ); - } - // Content blocks start minimized to one preview line; each - // toggles independently of the span and its sibling attributes. - const attributeKey = `${span.span_id}:${key}`; - const isOpen = !!expandedAttributes[attributeKey]; - return ( -
-
{ - e.stopPropagation(); - setExpandedAttributes((prev) => ({ ...prev, [attributeKey]: !prev[attributeKey] })); - }} - title={isOpen ? 'Collapse' : 'Expand'} - style={{ cursor: 'pointer', whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }} - > - {isOpen ? '▾' : '▸'} {key}:{' '} - {!isOpen && {previewText(block, 140)}} -
- {isOpen && ( -
 e.stopPropagation()}
-                      style={prose ? { ...preStyle, whiteSpace: 'pre-wrap' } : preStyle}
-                    >{block}
- )} -
- ); - })} -
- )} -
- ); - }; - - // Generation vs tool time for one trace: how much of the wall clock went - // to the LLM, to each tool, and to unattributed overhead. Tool calls run - // inside the provider's generate loop, so their time is subtracted from - // the llm span to get pure generation time — the segments sum to ~100%. - const traceTimeBreakdown = (trace) => { - let generation = 0; - const tools = []; - (trace.spans || []).forEach((span) => { - if ((span.nested || 0) === 0) return; - if (span.type === 'tool') { - tools.push(span); - } else if (span.type === 'llm' || span.type === 'generate') { - generation = Math.max(generation, span.duration || 0); - } - }); - const toolTotal = tools.reduce((sum, span) => sum + (span.duration || 0), 0); - generation = Math.max(generation - toolTotal, 0); - const total = trace.duration_ms || generation + toolTotal || 1; - return { generation, tools, toolTotal, total, overhead: Math.max(total - generation - toolTotal, 0) }; - }; - - const renderTraceBreakdown = (trace, dark) => { - const { generation, tools, toolTotal, total, overhead } = traceTimeBreakdown(trace); - if (generation === 0 && toolTotal === 0) return null; - // When generation IS the trace (llm.generate ~100%, negligible tool - // time), the waterfall above already tells this story — skip the - // redundant section. - if (generation / total >= 0.99 && toolTotal / total < 0.01) return null; - const muted = dark ? 'rgba(255,255,255,0.5)' : '#6b7280'; - const text = dark ? 'rgba(255,255,255,0.85)' : '#374151'; - const pct = (ms) => `${((ms / total) * 100).toFixed(ms / total < 0.01 ? 2 : 1)}%`; - const segment = (ms, color) => ( -
- ); - return ( -
-
- Time breakdown — generation vs tools -
-
- {segment(generation, '#ef4444')} - {segment(toolTotal, '#10b981')} - {overhead > 0 && segment(overhead, dark ? 'rgba(255,255,255,0.2)' : '#d1d5db')} -
-
- generation {formatDuration(generation)} ({pct(generation)}) - tools {formatDuration(toolTotal)} ({pct(toolTotal)}) - {overhead > 0 && overhead {formatDuration(overhead)} ({pct(overhead)})} -
- {tools.length > 0 && ( -
- {tools.map((span, idx) => ( - {span.name} {formatDuration(span.duration)} ({pct(span.duration || 0)}) - ))} -
- )} -
- ); - }; - // "Slowest operations" ranking across the filtered traces. const renderSpansBreakdown = (dark) => { const maxTotal = spanStats[0]?.total || 1; @@ -1481,199 +899,23 @@ export default function TracesView({ agentClass = null, embedded = false }) { {/* Span Duration Breakdown View */} {viewMode === 'spans' && renderSpansBreakdown(true)} - {/* Trace List */} + {/* Trace List — the same expandable trace object both themes render */} {viewMode === 'timeline' && !emptyState && ( -
- {filteredTraces.length === 0 ? ( -
-
+
+ {filteredTraces.length === 0 ? ( +
No traces match filters
-
- ) : filteredTraces.map((trace) => ( - -
setSelectedTrace(selectedTrace === trace.id ? null : trace.id)} - style={{ cursor: 'pointer' }} - > -
- TRACE - {trace.short_id} - - {trace.display_name} - -
-
- {trace.model && ( - - {trace.model} - - )} - {(() => { - const ctx = traceContext(trace); - return ctx ? : null; - })()} - {formatDuration(trace.duration_ms)} - {formatTokens(trace.tokens)} tokens - {trace.estimated_cost != null && ( - {formatCost(trace.estimated_cost)} - )} - - {isSuccess(trace) ? 'OK' : 'ERROR'} - -
-
- - {(() => { - const preview = traceContentPreview(trace); - if (!preview.input && !preview.output) return null; - return ( -
setSelectedTrace(selectedTrace === trace.id ? null : trace.id)} - style={{ cursor: 'pointer', padding: '0 16px 10px', fontSize: '12px', fontFamily: TYPOGRAPHY.mono, color: 'rgba(255,255,255,0.6)', display: 'grid', gap: '2px' }} - > - {preview.input && ( -
- input: {previewText(preview.input)} -
- )} - {preview.output && ( -
- output: {previewText(preview.output)} -
- )} -
- ); - })()} - - {selectedTrace === trace.id && ( -
-
- 0ms - {Math.round((trace.duration_ms || 0) * 0.33)}ms - {Math.round((trace.duration_ms || 0) * 0.66)}ms - {formatDuration(trace.duration_ms)} -
- - {(trace.spans || []).map((span, idx) => { - const spanKey = `${trace.id}:${idx}`; - const spanAttrs = span.attributes || {}; - const hasDetails = Object.keys(spanAttrs).length > 0; - const isExpanded = expandedSpan === spanKey; - return ( - -
setExpandedSpan(isExpanded ? null : spanKey) : undefined} - style={hasDetails ? { cursor: 'pointer' } : undefined} - title={hasDetails ? 'Click for span details' : undefined} - > -
- {getSpanIcon(span.type)} - {span.name} -
-
-
-
- - {spanShareLabel(span, trace)} - -
- {(() => { - if (isExpanded) return null; - const preview = dedupedSpanPreview(span, trace); - if (!preview.input && !preview.output) return null; - return ( -
setExpandedSpan(isExpanded ? null : spanKey) : undefined} - style={{ - padding: '0 0 4px 24px', - fontFamily: TYPOGRAPHY.mono, - fontSize: '11px', - color: 'rgba(255,255,255,0.5)', - display: 'grid', - gap: '1px', - cursor: hasDetails ? 'pointer' : 'default', - }} - > - {preview.input && ( -
- {preview.inputLabel} {previewText(preview.input, 140)} -
- )} - {preview.output && ( -
- {preview.outputLabel} {previewText(preview.output, 140)} -
- )} -
- ); - })()} - {isExpanded && renderSpanDetails(span, true, traceTools(trace))} -
- ); - })} - - {(() => { - const ctx = traceContext(trace); - return ctx ? ( -
e.stopPropagation()}> - -
- ) : null; - })()} - - {renderTraceBreakdown(trace, true)} - - {/* Token Breakdown Row */} -
-
- +-- - - {totalTokensOf(trace.tokens).toLocaleString()} tokens - -
-
-
- {trace.tokens.thinking > 0 && ( - T:{trace.tokens.thinking.toLocaleString()} - )} - in:{trace.tokens.input.toLocaleString()} - out:{trace.tokens.output.toLocaleString()} -
-
-
- - {trace.error && ( -
- - - {trace.error} - -
- )} -
- )} -
- ))} -
+ ) : filteredTraces.map((trace) => ( + setSelectedTrace(selectedTrace === trace.id ? null : trace.id)} + /> + ))} +
)} {emptyState && viewMode === 'timeline' && ( @@ -2028,295 +1270,21 @@ export default function TracesView({ agentClass = null, embedded = false }) { {/* Span Duration Breakdown View */} {viewMode === 'spans' && renderSpansBreakdown(false)} - {/* Trace List */} + {/* Trace List — see the dark branch above: one TraceCard, both themes */} {viewMode === 'timeline' && !emptyState && ( -
- {filteredTraces.length === 0 ? ( -
No traces match filters
- ) : filteredTraces.map((trace) => ( -
- {/* Trace Header */} -
setSelectedTrace(selectedTrace === trace.id ? null : trace.id)} - > -
-
- TRACE - {trace.short_id} -
- - {trace.display_name} - -
-
- {trace.model && ( - - {trace.model} - - )} - {(() => { - const ctx = traceContext(trace); - return ctx ? : null; - })()} - - - {formatDuration(trace.duration_ms)} - - - {formatTokens(trace.tokens)} tokens - - {trace.estimated_cost != null && ( - - - {formatCost(trace.estimated_cost)} - - )} - - - {isSuccess(trace) ? 'OK' : 'ERROR'} - -
-
- - {(() => { - const preview = traceContentPreview(trace); - if (!preview.input && !preview.output) return null; - return ( -
setSelectedTrace(selectedTrace === trace.id ? null : trace.id)} - style={{ fontFamily: TYPOGRAPHY.mono, fontSize: '12px', display: 'grid', gap: '2px' }} - > - {preview.input && ( -
- input: {previewText(preview.input)} -
- )} - {preview.output && ( -
- output: {previewText(preview.output)} -
- )} -
- ); - })()} - - {/* Expanded Timeline */} - {selectedTrace === trace.id && ( -
-
-
- {[ - { id: 'spans', label: 'Spans', hint: 'Timing waterfall with span details' }, - { id: 'conversation', label: 'Conversation', hint: 'The run as a message stream — prompt, tool calls, response' }, - ].map((option) => ( - - ))} - - {(trace.spans || []).length} spans - -
- {(traceViews[trace.id] || 'spans') === 'spans' && ( -
- Sort - {[ - { id: 'time', label: 'Time', hint: 'Chronological — reads as a waterfall' }, - { id: 'duration', label: 'Slowest', hint: 'Longest-running first' }, - { id: 'name', label: 'Name', hint: 'Group repeated tool calls together' }, - ].map((option) => ( - - ))} -
- )} -
- {(traceViews[trace.id] || 'spans') === 'conversation' && ( -
- {renderTraceConversation(trace, false)} -
- )} - - {(traceViews[trace.id] || 'spans') === 'spans' && (<> - {/* The axis describes a timeline, which only holds while the - spans are in chronological order. */} - {spanSort === 'time' ? ( -
- 0ms - {Math.round((trace.duration_ms || 0) * 0.33)}ms - {Math.round((trace.duration_ms || 0) * 0.66)}ms - {formatDuration(trace.duration_ms)} -
- ) : ( -
- Bar length compares duration on a log scale -
- )} - -
- {sortSpans(trace.spans).map((span, idx, sortedSpans) => { - const longestSpan = Math.max(...sortedSpans.map((s) => s.duration || 0), 1); - // Key on span_id, not index — indices shift when sorted, - // which would move an open detail panel to another row. - const spanKey = `${trace.id}:${span.span_id || idx}`; - const spanAttrs = span.attributes || {}; - const hasDetails = Object.keys(spanAttrs).length > 0; - const isExpanded = expandedSpan === spanKey; - return ( - -
setExpandedSpan(isExpanded ? null : spanKey) : undefined} - title={hasDetails ? `${span.name} — click for span details` : span.name} - > - {/* Name above the track, not beside it: a fixed label - column truncated every tool.* span to the same - unreadable prefix. */} -
- - {getSpanIcon(span.type)} - - - {span.name} - - - {formatDuration(span.duration)} - -
-
-
-
- - {spanShareLabel(span, trace)} - - {(() => { - // The expanded details panel carries the stylized - // content — don't say it twice. - if (isExpanded) return null; - const preview = dedupedSpanPreview(span, trace); - if (!preview.input && !preview.output) return null; - return ( -
- {preview.input && ( -
- {preview.inputLabel} {previewText(preview.input, 160)} -
- )} - {preview.output && ( -
- {preview.outputLabel} {previewText(preview.output, 160)} -
- )} -
- ); - })()} -
- {isExpanded && renderSpanDetails(span, false, traceTools(trace))} - - ); - })} -
- )} - - {(() => { - const ctx = traceContext(trace); - return ctx ? ( -
e.stopPropagation()}> - -
- ) : null; - })()} - - {renderTraceBreakdown(trace, false)} - -
- Tokens: - {trace.tokens.thinking > 0 && ( - T:{trace.tokens.thinking.toLocaleString()} - )} - in:{trace.tokens.input.toLocaleString()} - out:{trace.tokens.output.toLocaleString()} - {trace.provider && ( - {trace.provider}{trace.model ? ` · ${trace.model}` : ''} - )} -
- - {trace.error && ( -
- {trace.error} -
- )} -
- )} -
- ))} -
+
+ {filteredTraces.length === 0 ? ( +
No traces match filters
+ ) : filteredTraces.map((trace) => ( + setSelectedTrace(selectedTrace === trace.id ? null : trace.id)} + /> + ))} +
)} {emptyState && viewMode === 'timeline' && ( diff --git a/actionagent/frontend/package-lock.json b/actionagent/frontend/package-lock.json index 077c005e..d4ef3a0e 100644 --- a/actionagent/frontend/package-lock.json +++ b/actionagent/frontend/package-lock.json @@ -1,10 +1,10 @@ { - "name": "active-agent-dashboard", + "name": "action-agent-dashboard", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "active-agent-dashboard", + "name": "action-agent-dashboard", "dependencies": { "@rails/actioncable": "^8.1.200", "react": "^19.2.4", diff --git a/actionagent/test/interaction_preview_test.rb b/actionagent/test/interaction_preview_test.rb new file mode 100644 index 00000000..529ef7aa --- /dev/null +++ b/actionagent/test/interaction_preview_test.rb @@ -0,0 +1,126 @@ +# frozen_string_literal: true + +require "test_helper" +require_relative "telemetry_trace_test" + +# Collapsed interaction rows in the dashboard carry two lines — what the stream +# was asked, and what it finally answered — the same pair a collapsed trace row +# shows. Both sources of an interaction have to produce them, or a list mixing +# the two reads differently depending on where each row came from. +class InteractionPreviewTest < ActionDispatch::IntegrationTest + TelemetryTraceTest.ensure_table! + + def setup + ActionAgent::AgentMessage.delete_all + ActionAgent::AgentGeneration.delete_all + ActionAgent::AgentContext.delete_all + ActionAgent::TelemetryTrace.delete_all + ActionAgent::Agent.delete_all + @agent = ActionAgent::Agent.create!(name: "Support", provider: "openai", model: "gpt-4o-mini") + end + + # A context reaches the API through the agent it belongs to, so every one of + # these needs an owning agent to be listed at all. + def create_context + ActionAgent::AgentContext.create!( + contextable: @agent, + agent_name: "SupportAgent", + action_name: "respond", + total_input_tokens: 40, + total_output_tokens: 60 + ) + end + + def interactions + get "/activeagents/api/interactions" + assert_response :success + JSON.parse(response.body)["interactions"] + end + + test "a context previews its opening prompt and its final answer" do + context = create_context + context.add_user_message("Where is order 88213?") + context.add_assistant_message("Let me look that up.") + context.add_user_message("Any update?") + context.add_assistant_message("The carrier never scanned it in.") + + preview = interactions.first["preview"] + + # The ends of the stream, not its middle: the turns in between are tool + # traffic and follow-ups that a one-line preview can't summarize. + assert_equal "Where is order 88213?", preview["input"] + assert_equal "The carrier never scanned it in.", preview["output"] + end + + test "a tool-calling assistant turn is skipped for the answer" do + context = create_context + context.add_user_message("Where is order 88213?") + context.add_assistant_message("The carrier never scanned it in.") + # A turn that only carries a tool call has no prose to show. + context.messages.create!(role: "assistant", content: "") + + assert_equal "The carrier never scanned it in.", interactions.first.dig("preview", "output") + end + + test "previews are nil when a stream captured no content" do + create_context + + preview = interactions.first["preview"] + + assert_nil preview["input"] + assert_nil preview["output"] + end + + test "each context gets its own preview" do + first = create_context + first.add_user_message("Where is order 88213?") + second = create_context + second.add_user_message("Cancel my subscription") + + previews = interactions.to_h { |row| [ row["id"], row.dig("preview", "input") ] } + + assert_equal "Where is order 88213?", previews[first.id] + assert_equal "Cancel my subscription", previews[second.id] + end + + test "a reported trace previews from its captured span contents" do + ActionAgent::TelemetryTrace.create_from_payload({ + "trace_id" => SecureRandom.hex(16), + "service_name" => "customer-app", + "timestamp" => Time.current.iso8601(6), + "spans" => [ + { + "span_id" => "root1", "parent_span_id" => nil, "name" => "ReportedAgent.respond", + "type" => "root", "duration_ms" => 1000.0, "status" => "OK", + "attributes" => { "agent.class" => "ReportedAgent", "agent.action" => "respond" } + }, + { + "span_id" => "llm1", "parent_span_id" => "root1", "name" => "llm.generate", + "type" => "llm", "duration_ms" => 900.0, "status" => "OK", + "attributes" => { + "llm.model" => "mock-model", + "llm.prompt" => "Summarize the\nrelease notes", + "llm.completion" => "Three fixes and one new setting." + } + } + ] + }) + + preview = interactions.find { |row| row["source"] == "telemetry" }["preview"] + + # Whitespace collapses so the line stays one line whatever the prompt did. + assert_equal "Summarize the release notes", preview["input"] + assert_equal "Three fixes and one new setting.", preview["output"] + end + + test "a preview is clipped rather than sending the whole conversation" do + context = create_context + context.add_user_message("x" * 5_000) + + input = interactions.first.dig("preview", "input") + + # Length includes the omission ActiveSupport appends. + assert_equal ActionAgent::InteractionPreview::LIMIT, input.length + assert input.end_with?("...") + end +end From 3e7fc5a727b16befabf2853f359f7f6bcb8a8dc6 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 13 Aug 2026 22:29:59 +0000 Subject: [PATCH 2/2] Survive a span attribute that arrives already decoded MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit JSON.parse raises TypeError, not ParserError, when handed a Hash or an Array. A reporter that posts tool.arguments or prompt.input.messages as real JSON rather than as a JSON string therefore took down the entire Interactions list, not just its own row — and the trace ingest endpoint accepts unauthenticated posts in local mode, so one bad row is easy to come by. Both readers now pass a decoded value straight through. --- .../action_agent/trace_interaction_serializer.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/actionagent/app/serializers/action_agent/trace_interaction_serializer.rb b/actionagent/app/serializers/action_agent/trace_interaction_serializer.rb index b3482eec..4f1b2daa 100644 --- a/actionagent/app/serializers/action_agent/trace_interaction_serializer.rb +++ b/actionagent/app/serializers/action_agent/trace_interaction_serializer.rb @@ -110,9 +110,9 @@ def outbound_messages raw = any_attribute("prompt.input.messages") return [] if raw.blank? - entries = JSON.parse(raw) + entries = raw.is_a?(String) ? JSON.parse(raw) : raw entries.is_a?(Array) ? entries.select { |m| m.is_a?(Hash) && m["content"].present? } : [] - rescue JSON::ParserError + rescue JSON::ParserError, TypeError [] end @@ -223,9 +223,13 @@ def generations # so it renders structurally rather than as an escaped string. def parsed(value) return nil if value.blank? + # A reporter can send an attribute already decoded — JSON.parse raises + # TypeError rather than ParserError on a Hash or Array, and one such + # span would otherwise take down the whole Interactions list. + return value unless value.is_a?(String) JSON.parse(value) - rescue JSON::ParserError + rescue JSON::ParserError, TypeError value end